Röviden: Az infrastruktúra mint kód ígérete a kiszámíthatóság. A drift — a kézi módosítások okozta eltérés — csendben aláássa ezt. Hogyan előzd meg és kezeld?
Az infrastruktúra mint kód (IaC) alapígérete a kiszámíthatóság: a rendszer állapota a kódban van leírva, tehát reprodukálható, felülvizsgálható és verziózott. Ezt az ígéretet csendben ássa alá egy jelenség, amit driftnek nevezünk: amikor a valós infrastruktúra eltér attól, amit a kód leír. A drift ritkán rossz szándékból ered — jellemzően jó szándékú, sürgős kézi beavatkozásokból —, de idővel aláássa az egész IaC-megközelítés értékét.
Hogyan keletkezik a drift?
A drift szinte mindig ugyanúgy születik: van egy incidens vagy sürgős igény, valaki gyorsan bemegy a konzolba, és kézzel módosít valamit, hogy megoldja a problémát. A módosítás működik, de nem kerül vissza a kódba. Onnantól a kód és a valóság eltér — és minél több ilyen kézi beavatkozás halmozódik, annál kevésbé megbízható a kód mint az igazság forrása.
Miért veszélyes a drift?
A drift több sebből is vérzik. A kód már nem az igazság forrása, tehát nem bízhatsz benne a reprodukáláshoz. Egy következő IaC-futtatás váratlanul felülírhatja a kézi módosítást (vagy fordítva, a kézi állapot ütközik a kóddal). És a legrosszabb: egy katasztrófa utáni újraépítéskor a kódból hiányoznak a kézzel eszközölt, kritikus változások.
A drift észlelése
A drift elleni első lépés, hogy egyáltalán lásd. A legtöbb IaC-eszköz tud tervet (plan) készíteni: összeveti a kódot a valósággal, és megmutatja az eltéréseket. Ezt érdemes rendszeresen, akár automatikusan futtatni — nem azért, hogy alkalmazd, hanem hogy figyelmeztessen, ha valami eltért.
A megelőzés
- Korlátozott konzolos hozzáférés: kevés embernek legyen joga kézzel módosítani a productiont.
- Rendszeres drift-detektálás: automatikus plan, ami jelzi az eltéréseket.
- A kézi módosítás visszavezetése: ha muszáj volt, azonnal kerüljön a kódba.
- A kód mint egyetlen igazság: a változás elsődleges útja a kódon át vezet.
A kultúra a kulcs
Végső soron a drift kulturális kérdés. Ha a csapatban norma, hogy „a productiont a kódon át változtatjuk”, és a kézi beavatkozás kivételes, dokumentált és visszavezetett, akkor a drift kordában marad. Ha a konzolos kapkodás a reflex, akkor a legjobb eszköz sem segít.
Mit jelent ez neked?
Az IaC értéke a kiszámíthatóság, amit a drift csendben aláás. Kezeld a kézi konzolos módosítást kivételként, ne szokásként: korlátozd, ki férhet hozzá, és ha egy incidensben muszáj volt, azonnal vezesd vissza a kódba. Futtass rendszeres drift-detektálást, hogy lásd az eltéréseket, mielőtt bajt okoznak. A cél, hogy a kód végig az igazság megbízható forrása maradjon — mert erre épül minden reprodukció és katasztrófa utáni újraépítés.