Az írás fordítása kifejezetten a kurzus hallgatói számára készült , amely már ma kezdődik!

Valaha kiadtál új szolgáltatást éles környezetben? Vagy esetleg a meglévő szolgáltatások karbantartásával foglalkoztál? Ha igen, mire támaszkodtál? Mi számít jónak, és mi rossznak az éles üzemeltetésekben? Hogyan oktatod az új csapattagokat a kiadásokra vagy a meglévő szolgáltatások karbantartására?
A legtöbb vállalat, amikor az ipari gyakorlatok terén van szó, végül a „Vad Nyugat” megközelítésekhez jut el. Minden csapat a próbálkozások és hibák révén önállóan határozza meg az eszközöket és a legjobb gyakorlatokat. De ez gyakran nemcsak a projektek sikerét befolyásolja, hanem az mérnököket is.
A próbálkozás és a hiba módszere olyan környezetet teremt, ahol elterjedt a hibáztatás és a felelősség áthárítása. Ilyen magatartás mellett egyre nehezebb tanulni a hibákból és ezeket elkerülni a jövőben.
Sikeres szervezetek:
- felismerik az éles üzemeltetésekhez szükséges irányelvek fontosságát,
- tanulmányozzák a legjobb gyakorlatokat,
- kezdik megvitatni az éles üzemeltetésre való felkészülés kérdéseit új rendszerek vagy komponensek fejlesztésekor,
- biztosítják az éles üzemeltetéshez való felkészülési szabályok betartását.
Az éles üzemeltetésre való felkészülés magában foglalja a „felülvizsgálat” folyamatát. A felülvizsgálat lehet ellenőrzőlista vagy kérdések sorozata. A felülvizsgálatot lehet végezni manuálisan, automatikusan, vagy mindkét módon. A statikus követelménylisták helyett készíthetünk ellenőrzőlista sablonokat, amelyeket az adott igényekhez lehet igazítani. Így a mérnökök számára lehetőséget adunk a tudás öröklésére és a szükséges rugalmasságra.
Mikor érdemes ellenőrizni a szolgáltatást az éles üzemeltetésre való felkészültség szempontjából?
Az éles üzemeltetésre való felkészültség ellenőrzését hasznos nemcsak közvetlenül a kiadás előtt végezni, hanem amikor egy másik csapatnak átadjuk a karbantartást vagy egy új munkatársnak.
Ellenőrizz, amikor:
- Új szolgáltatást bocsátasz ki éles üzemeltetésbe.
- Éles üzemeltetésű szolgáltatást adsz át egy másik csapatnak, például az SRE-nek.
- Éles üzemeltetésű szolgáltatást adsz át új munkatársaknak.
- Műszaki támogatást szervezel.
Készültségi ellenőrzőlista az éles üzemeltetéshez
Hamarosan egy példaként, én készítettem egy készültségi ellenőrzőlistát az éles üzemeltetéshez. Bár ez a lista a Google Cloud ügyfeleivel végzett munka során készült, más területeken is hasznos és alkalmazható lesz.
Tervezés és fejlesztés
- Fejlesszen ki egy reprodukálható építési folyamatot, amely nem igényel hozzáférést külső szolgáltatásokhoz, és nem függ a külső rendszerek meghibásodásától.
- A tervezési és fejlesztési időszak alatt határozza meg és állítsa be az SLO-t a szolgáltatásaihoz.
- Dokumentálja a külső szolgáltatások elérhetőségére vonatkozó elvárásokat, amelyekre támaszkodik.
- Kerülje el az egyetlen hibapontot azáltal, hogy megszünteti a függőségeket egy globális erőforrástól. Replicate the resource or use a fallback when the resource is unavailable (e.g., hard-coded value).
Konfigurációkezelés
- A statikus, kis méretű és nem titkos konfigurációt át lehet adni parancssori paramétereken keresztül. Minden egyébhez használja a konfigurációtároló szolgáltatásokat.
- A dinamikus konfigurációnak kell lennie biztonsági mentésének a konfigurációs szolgáltatás elérhetetlensége esetére.
- A fejlesztési környezet konfigurációjának nem szabad kapcsolódnia a termelési környezet konfigurációjához. Különben ez problémát okozhat a titkosítással és az adatvesztéssel kapcsolatosan a fejlesztési környezetből a termelési szolgáltatásokra való hozzáféréssel.
- Dokumentálja azokat a dolgokat, amelyek dinamikusan konfigurálhatók, és írja le a tartalék viselkedést, ha a konfigurációs rendszer nem elérhető.
Kiadáskezelés
- Részletesen dokumentálja a kiadási folyamatot. Írja le, hogyan befolyásolják a kiadások az SLO-t (például ideiglenes késleltetések a cache hibáinak következtében).
- Dokumentálja a kanáralakos kiadásokat.
- Fejlesszen ki egy kanáralakos kiadás-elemzési tervet, és ahol lehetséges, automatizált visszaállítási mechanizmusokat.
- Győződjön meg róla, hogy a visszaállítások ugyanolyan folyamatokat használhatnak, mint a telepítések.
Megfigyelhetőség
- Győződjön meg róla, hogy összegyűjtik az SLO-hoz szükséges metrikák halmazát.
- Győződjön meg róla, hogy meg tudja különböztetni az ügyfél- és szerveradatokat. Ez fontos a meghibásodások okainak felkutatásához.
- Állítson be figyelmeztetéseket, hogy csökkentse a munkaerőigényt. Például távolítsa el a rutinszerű műveletekből eredő figyelmeztetéseket.
- Ha Stackdrivert használ, akkor aktiválja a GCP platform metrikáit a műszerfalain. Állítson be figyelmeztetéseket a GCP-függőségekre.
- Mindig terjessze az bejövő nyomkövetést. Még ha nem is vesz részt a nyomkövetésben, ez lehetővé teszi, hogy az alacsonyabb szintű szolgáltatások hibaelhárítást végezzenek a termelésben.
Védelem és biztonság
- Győződjön meg arról, hogy minden külső kapcsolat titkosítva van.
- Győződjön meg arról, hogy a produkciós projektjei megfelelő IAM beállítással rendelkeznek.
- Használjon hálózatokat a virtuális gépek csoportjainak elszigetelésére.
- Használjon VPN-t a távoli hálózatok biztonságos elérésére.
- Dokumentálja és figyelje a felhasználói hozzáférést az adatokhoz. Győződjön meg arról, hogy az összes felhasználói hozzáférést az adatokhoz ellenőrzik és naplózzák.
- Győződjön meg arról, hogy a hibakeresési végpontokat ACL korlátozza.
- Sanitizálja a felhasználói bevitelt. Állítson be payload méretkorlátokat a felhasználói bevitel számára.
- Győződjön meg arról, hogy a szolgáltatása szelektíven blokkolni tudja a bejövő forgalmat egyes felhasználók számára. Ez lehetővé teszi a megsértések blokkolását anélkül, hogy más felhasználókat érintene.
- Kerülje azokat a külső végpontokat, amelyek nagyszámú belső műveletet indítanak.
Kapacitás tervezés
- Dokumentálja, hogyan skálázódik a szolgáltatása. Például: a felhasználók száma, a beérkező payload mérete, a bejövő üzenetek száma.
- Dokumentálja a szolgáltatásához szükséges erőforrásokat. Például: a dedikált virtuális gépek száma, a Spanner példányok száma, speciális hardverek, mint például GPU vagy TPU.
- Dokumentálja az erőforrás-korlátokat: erőforrás típusa, régió stb.
- Dokumentálja az új erőforrások létrehozására vonatkozó kvótakorlátokat. Például: GCE API hívások számának korlátozása, ha API-t használ új példányok létrehozására.
- Fontolja meg terheléses tesztek végrehajtását a teljesítmény csökkenésének elemzésére.
Ennyi volt. Találkozunk az órákon!
Forrás: habr.com
