A technika mindenütt jelen van. Attól függően, hogy milyen magas a tétje az iparának, egy technológiai termék vagy rendszer meghibásodása az elhanyagolható és az élet végéig bárhová eshet, amint tudja.
Kórházi nagygépek? Valamilyen fontos. A Candy Crush alkalmazás rugalmassága a mobiltelefonján? Valószínűleg valamivel alacsonyabb a prioritások teljes listáján.
A hálózatok elosztott rendszerében a kudarc elkerülhetetlen. A katasztrófa megelőzése szilárd, vízálló biztonsági kialakítással kezdődik. Ezen túl azonban mit lehet még tenni?
Mi a Netflix Chaos Engineering?
2015. szeptember 20.
Csendben a nyugati fronton, amikor hirtelen több fontos vállalati Amazon Web Services szerver is szó nélkül leáll.
Sok hatalmas vállalat több órán keresztül nem tudta ellátni ügyfeleit. A Netflix azonban néhány perc alatt talpra állt. Hogyan? A Netflix belső vállalati kultúrája úgy alakult, hogy számos, „valós idejű” hibát kiváltó gyakorlatot tartalmazott, amelyek mind a rendszereket, mind a mérnököket felkészítik a katasztrófa bekövetkeztére.
A vállalat vezetése célzottan hajtott végre szimulált szerverkimaradásokat a rendszer egyes részeiben az ilyen események tanulmányozása és felkészítése érdekében. Ez segített nekik a rendszerben lévő lyukak azonosításában és az elbocsátások kiépítésében, amelyek lehetővé tették a szolgáltatás zavartalan folytatását, még a korábban említetthez hasonló súlyos meghibásodások esetén is.
Ezek a szándékos "káoszmérnöki" gyakorlatok mérnökeik számára elég versenyelőnyt adtak ahhoz, hogy önmagukat lássák a fiaskón keresztül, részben annak a megelőző infrastruktúrának köszönhetően, amelyet egy ilyen világvége eseményen építettek gondolatban.
Senki más nem volt kész, amikor a nagy hullám beüt. A Netflix rendszere elég erős volt ahhoz, hogy megvédje magát. Következtetés? Ezek a kaotikus ötletgazdák itt valamivel kapcsolatban lehetnek.
Szándékosan megsemmisíteni azokat, akik szeretnek
"A Chaos Engineering a rendszer kísérletezésének tudományága annak érdekében, hogy bizalmat keltsen a rendszer képességében, hogy ellenálljon a turbulens körülményeknek a gyártásban."
A káosz manifesztumának alapelvei
Ez a káosztechnika szíve - lényegében egy "tűzgyakorlat", amelyet munkaidő alatt vetnek ki a rendszerre, amikor szem és kéz áll rendelkezésre a bemutatott kihívás kezelésére. Egy adott rendszer azon képességét, hogy elviseli a hibákat, próbára teszik, mivel minden sebezhetőség ki van téve.
Eredeti, 2011-es kontextusában a káosztervezés a Netflix informatikai részlegét érintette. Vezetésük ki akarta próbálni, mennyire ellenállóak a csapat erőfeszítései, amikor egy vagy több számítógépüket szándékosan letiltották. Ezek a hátrányok lehetővé tették az informatikai csapat számára, hogy azonosítsák a legfontosabb gyengeségeket, mielőtt azok rendszerszintű kérdésekké válnának, és kívülről kihasználhatók lennének.
Valódi kudarc? Pokolian költséges lehet, és ez meghaladja a monetáris következményeket. Még az üzemszünetek is, a biztonság tényleges megszűnése nélkül, valószínűleg rengeteg kihagyott lehetőséget eredményeznek bevételszerzésre. Miért kell megvárni, amíg egy vészhelyzet elhomályosít?
A majmok az őrület mögött
Egyes vállalatok egy "piros csapat" modellt alkalmaznak, amely a fejlesztői csapatokat testvéreikkel szembeállítja a tanszékvonalakon. A klasszikus példa, amelyet a Netflix indított el, azonban egy "simiai hadsereget" használ. Ezek a botok tisztességesen és teljesen véletlenszerűen végzik értük a piszkos munkát.
Őrült? Talán laikusnak. Antonio Garcia Martinez, a "Káoszmajmok" szerző szavaival:
Képzelje el, hogy egy majom belép egy „adatközpontba”, ezek a szerverek „farmjai”, amelyek az online tevékenységeink összes kritikus funkcióját tárolják. A majom véletlenszerűen szaggatja a kábeleket és tönkreteszi az eszközöket. A kihívás az, hogy megtervezzék az általuk felelős információs rendszert, hogy az működhessen ezen majmok ellenére is, amelyeket soha senki sem tud, amikor megérkeznek, és mit fognak elpusztítani. "
Színes hasonlat. A simiaiak közül azonban nem mindegyik kegyetlen: Monkey doktor figyeli például a rendszer teljesítményét. Amikor a Chaos Kong meglátogat egy látogatást, minden fogadás megszakad; ez a karakter egy teljes AWS rendelkezésre állási zónát fog lebontani.
Összefüggő: Hogyan értékelik a biztonsági réseket?
A káosztechnika és a tudományos módszer
A káosztechnika értékes szisztémás betekintési forrásként szolgál a kísérletet végzők számára. Itt nemcsak a fejlesztőket teszik próbára; ez a rendszer, mivel autonóm módon is létezik.
Mielőtt kidobná a majmok hordóját az asztalra, a káoszmérnöki munkához egy kis alapozás szükséges.
- Először meg kell határoznia, mit tart "rendszeres", egészséges, funkcionális állapotnak a rendszere számára. Ez lesz az a „kontroll”, amellyel mérhet bármilyen kézzelfogható eredményt.
- Kezdjen el gondolkodni azon, hogyan fogja ezt az állapotot egyensúlyba hozni a hangszerelt kudarc behatolása. Tervezze meg, hogy a kártevő programok vizsgálata csak a rendszer egy zárt, vezérelhető területét érinti.
- Mutassa be a "betolakodót", és hagyja, hogy a rendszer reagáljon.
- Figyelje meg és értelmezze az esetleges különbségeket a rendszer között, ahogyan ez most létezik, és annak, hogy hogyan viselkedett korábban, miközben a homeosztázisban volt. Növelje az ütés "sugárzási sugarát", amíg nem észleli a sérülékenységet, vagy el nem éri a teljes skálát, amelyik előbb bekövetkezik.
Az elképzelés az, hogy minél nehezebb megzavarni egy funkcionális rendszert, annál nagyobb bizalommal lehet abban, hogy ellenáll a változásnak és a bombázásnak. Ez a megközelítés megmutatja, hogy a rendszer különböző aspektusai hogyan kompenzálják egymás kudarcait kiesés esetén.
"Mivel egyetlen alkatrész sem garantálja a 100% -os üzemidőt (sőt a legdrágább hardver is meghibásodik), meg kell tennünk tervezzen felhő architektúrát, ahol az egyes összetevők meghibásodhatnak, anélkül, hogy befolyásolnák a teljes elérhetőségét rendszer."
A Netflix Blog
Előfordul, hogy a rendszerrel ilyen módon játszani sem lehet közel a vásárlói élmény befolyásolásához. Máskor súlyos biztonsági hibákra derül fény. Most, különösen a Netflixnél, a rendszer meghibásodásának felhasználói szinten történő elfedésére szánt kontingencia beépül a rendszer alapjába.
Összefüggő: Mi az a nulla napos kizsákmányolás?
Megéri-e a káosztechnika?
Ha meg akar érteni egy összetett rendszert - zavarja meg
- Farhan Thawar (@fnthawar) 2021. május 26
A kritikusok azt mondják, hogy egyetlen háttérjáték sem érdemes befolyásolni az ügyfél tapasztalatait, még ha csak röviden és véletlenül is. A káosztervezést támogatók azonban megcáfolják, hogy ezek a "tervezett leállások" sokkal kisebbek, mint az AWS 2015-ben tapasztaltak. Ha egy apró, tervezett probléma olyan helyzetbe hozza, hogy megakadályozza, hogy egy sokkal nagyobb probléma valaha is megjelenjen, akkor a kezdeti esemény megtervezése lehet a legjobb felkészülési módszer. Összesen kevesebb felhasználót érint. A matek sikerül.
Emberi szempontból az a mentalitás, hogy most ezek a mérnökök, akik előtt szerverösszeomlás történt, és hozzáértéssel foglalkoznak, a jövőben egyaránt éberebbek lesznek, és intellektuálisan is felkészültebbek ahhoz, hogy kezeljék mindazt, ami jön út. Az eredményül kapott erősebb rendszer sok esetben önmagáért beszél.
Szilícium-völgy: Az álmok meghalnak
Azt mondják, hogy ha nagyot akarsz csinálni, akkor hajlandó vagy megölni kedvesedet, vagy ebben az esetben hajlandónak kell lenned hagyni, hogy mások megölik őket érted. Amikor a biztonság a fejlesztés kezdetétől fogva az élen jár, a csapata sokkal valószínűbb, hogy valami áthatolhatatlan és biztonságos megoldást kínál az ügyfelek számára, hogy szabadon használhassa.
A munkahelyi élmény játékalapúvá tétele izgalmassá teszi a siker lehetőségét ezen a területen; amikor a végeredmény minőségi, mindenki magasabb szintre lép. A Netflixem nagyon jól működik, és csak a káosz mögött álló őrültek köszönhetjük ezt.
Most, hogy már jól megértette a káosztervezést, miért nem bővíti ismereteit egy másik szoftverfejlesztési módszertannal? Az Agile egy kiváló rendszer, amelyet beépíthet a munkaerő egyesítésére és tiszta, hatékony kód készítésére.
Akár programozási munkákra jelentkezik, akár hatékonyabb munkamódszert szeretne, tudnia kell az Agile-ról.
Olvassa el a következőt
- Programozás
- Programozás
Emma Garofalo író jelenleg Pittsburgh-ben (Pennsylvania) él. Amikor egy jobb holnapra vágyakozva nem fáradozik az íróasztalánál, általában a kamera mögött vagy a konyhában található.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.