Tegnap tehát azon gondolkodtam el, hogy hogy is kéne olyan szerverparkot kiépíteni, ami egyszerre felel meg a stabilitás és az élvágósg követelményének, miközben az adminisztráció is egyszerű marad.
Az alapszitu a következő:
1. Van egy mission critical alkalmazás, MySQL + Apache felállásban *, valamint egy mission critical levelezés, meg a szokásos megszakításmentes dolgok.
2. Van ugyanakkor igény cutting edge szofvtercsomagokra, amiből fontos, hogy mindig frissek legyenek, és jellemzően PHP alapokra épülnek.
A kézenfekvő megoldás az, hogy fogjuk a Debian Stable ágat, feltosszuk a szerverekre, bekonfigoljuk, és megy a mission critical dolog, stabil, mint az atom. A PHP-alapú cuccokat lerántjuk, és célszerűen egy másik (de még mindig stabil) Debian boxon futtatjuk.
A probélma az, hogy a PHP-alapú cuccok fő jellegzetessége az ementálisajt-szerű biztonság. Nálunk pl. projectmanagement rendszer. Vegyünk egy GForge-ot, de mivel azt nem ismerem, vegyünk egy Drupalt alapul: hetente jönnek ki rá az újabb és újabb exploitok, a francnak van ideje ezt állandóan foltozgatni, követni a levlistát, hogy most éppen milyen hiba került elő.
A megoldást most abban látom, hogy fogunk egy Debian Testing boxot. A mission critical dolgok persze maradnak a Debian Stable-n, azoknak szerencsére nem kell semmi, ami túl új.
A Debian Testing cuccra pedig nem kézzel húzgáljuk le a különféle PHP-alapú csomagokat, hanem szépen az APT rendszeren keresztül: GForge van rá, Drupal van rá, Horde/IMP van rá. (Még WordPress is benne van!) Ha biztonsági frissítés van, jön a Debiannal, a testing pedig biztosítja, hogy kb. 1-2 hét lemaradás van a dolgok realtime valóságától, ami totálisan bevállalható, ha megnézzük, hogy mit nyertünk: egy alapot, amire nem kell annyira odafigyelni, lehet koncentrálni a melóra. Célszerűen egy tesztrendszeren húzzuk először le a csomagokat, hogy lássuk, hogy a testingben nem tört-e el valami az aktuális upgrade-del, de azt hiszem, hogy a testingben a törött dolgok általában valami grafikus felülethez, ha jól tudom most legutóbb éppen a KDE-hez fűződnek, és nézzünk magunkba: ki nem szarja azt le?
Kicsit spanyolviasz-szerű dolog ez, de nálam egyfajta doktrínaváltás.
A szolgáltatásokat pedig elég egyszerű kategorizálni az alapján, hogy kell-e belőle a legfrissebb, vagy nem.
* (és Update): Drastiknak persze (ebben) igaza van, a MySQL szar. A “mission critical” ez esetben inkább azt jelenti, hogy “ne nyúlj hozzá”. (A többi felvetéssel meg lehetne vitatkozni, csak nem vele.)