Linux keskhalduse tarkvara
Cfengine
Cfengine on poliitikatel põhinev automatiseeritud arvutite konfiguratsioonihaldustarkvara, mis töötab enimlevinud platvormidel nagu Linux, Unix, Mac OS X ja Windows. Tarkvara on kirjutatud C keeles. Cfengine esimene väljalase oli aastal 1993. Cfengine tsentraalses serveris asub konfiguratsioonifail, kus on kirjas tegevused, mis sooritatakse igas hallatavas kliendis. Iga hallatav klient laeb kesksest serverist faili ning käivitab seal olevad reeglid lokaalselt. Server võib ka sunniviisiliselt klientidele faile saata.
Cfengine võimaldab üle võrgu ka järgnevaid tegevusi:
- failide omandiõiguste kontroll ja sättimine;
- deemonite ja serverite restartimine;
- tarkvara kaughaldus ja turvauuendused;
- käskude käivitamine;
- võrguliideste marsruutimise seadistamine.
Cfengine Nova on cfengine kommertsversioon.
Chef
Chef on avatud koodiga Ruby keeles kirjutatud konfiguratsioonihalduse tarkvara, mille esimene versioon lasti välja 2009 aasta alguses. Chef jaoks kirjutatakse retseptid ehk siis haldamiseks tarvilikud sooritatavad tegevused kõik Ruby keeles. Opscode lõi chef-i sest nad olid enne kasutanud erinevaid vabavaralisi vahendeid ja leidsid, et konkreetselt nende vajadustele ei vasta ükski turul olevatest. Chef-i esialgne disain oli oluliselt puppet‑i omast mõjutatud, sest selle loojad olid varem töötanud ka puppet-iga. Samas chef ei ole puppet arenduse üks harudest ja neil pole ühist koodi, kuigi mõlemad on kirjutatud Ruby keeles. Chef-i lehel pole hetkel toodud kuigi palju firmasid, kes seda kasutaksid. Tegu on ka võrdlemisi uee rakendusega.
Puppet
Peale alternatiivsete keskhaldustarkvara lahenduste proovimist otsustas eelnevalt cfengine meeskonnas töötanud Luke Kanies moodustada firma nimega Reductive Labs ja luua uue toote oma varemalt programmeeritud prototüübist. Puppet esimene Ruby keeles kirjutatud avatud koodiga keskhaldustarkvara versioon ilmus 2005 aastal. Puppet-i puhul on kasutusel tavaliselt klient-server arhitektuur, kus kõik kliendid suhtlevad ühe või mitme puppet serveriga, mida nimetatakse puppetmaster-iks. Kliendid ühenduvad serveriga perioodiliselt, vaikimisi on selleks perioodiks 30 minutit, laevad alla sealse konfiguratsiooni ning seejärel kontrollivad kas tegu on uusima konfiguratsiooniga. Seejärel saadab klient serverile raporti infoga kas ja milliseid muudatusi tehti. Puppet-i jaoks on loodud lihtsustatud keel, milles saab kirja panna klientidele antavad käsklused. Käsklustega faile nimetatakse manifestideks. Lisana on puppet-i tarbeks loodud ka veebiliides, mille kaudu saab kliente hallata ja jälgida.
Preseed
Preseed abil saab luua eelkonfiguratsioonifaile, milles määratakse vastused installatsiooni käigus esitatavatele küsimustele. Vastuste määramine on oluline tarkvara puhul mis installatsiooni käigus küsib täpsustavaid küsimusi ning seega nõuab isiklikku sekkumist, tehes installeerimise aega nõudvaks ning tülikaks. Preseed faile saab kasutada ka Linux-i esialgse installatsiooni käigus, näiteks keele, klaviatuuri ja riigi määramiseks.
Kokkuvõte Linux keskhalduse tarkvara valikust
Puppet, cfengine ja chef on kolm juhtivat avatud koodiga konfiguratsioonihaldus tarkvara. Autor ei leidnud cfengine keskhaldustarkvaral võrdväärset kommuuni puppet-iga, kes jagaks omavahel koostatud konfiguratsioonifaile. See tähendab, et tuleb ise täitsa algusest alustada ning luua oma konfiguratsioon nullist, mis lõpuks võib olla oluliselt aeganõudvam. Cfengine-ga kaua töötanud Luke Kanies sõnul, kes hiljem puppet-i arendas, oli cfengine esialgu ilmudes suurepärane tööriist konfiguratsiooni haldamiseks, ent on kümne aasta jooksul vähe muutunud, kuna selle arendusprotsess on võrdlemisi suletud ja selle tõttu on sinna raske uut funktsionaalsust juurde saada.
Puppet-i manifestide koostamise keel on autori arvates lihtsam võrreldes näiteks Ruby keeles kirjutatud chef või C keeles cfengine konfiguratsioonifailidega. See seab küll puppet keele kasutamisele piiranguid, ent on siiski rohkem kui piisav Linux klientidele uuenduste jagamiseks ning rakenduste installeerimiseks.
Puppet ja cfengine tarkvara levitatakse GPL, chef-i Apache v2.0 litsentsi all. Mõlemad on avatud koodiga vaba tarkvara litsentsid, seega litsentsist tulenevad erinevused ei ole keskhaldustarkvara valides olulised.
Klient-server autentimine on oluline vältimaks arvutiklassi mittekuuluvate arvutite ligipääsu keskhaldusserverile. Autentimist kasutavad kõik vaatluse all olevad tarkvarad. Klient-server ühendus on ka kõigi vaadeldavate tarkvarade puhul krüpteeritud. Vaadeldavatest tarkvaradest on kõige kauem turul olnud cfengine- alates 1993 aastast, kui oli rakenduse esmane väljalase, viimane väljalase oli 2010 aasta märtsis. Puppet‑i esimene väljalase oli 2005 aastal, viimane 2010 m. Chef esimene väljalase oli 2009 aastal, viimane 2010 aasta märtsis. Tarkvara pikaaegne turulolek viitab jätkusuutlikkusele. Piisav kasutajabaasi olemasolu tagab edaspidise rakenduse arendamise. Hiljutine stabiilne väljalase viitab tarkvara pidevale arendamisele.