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.

instagram viewer

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.

  1. 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.
  2. 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.
  3. Mutassa be a "betolakodót", és hagyja, hogy a rendszer reagáljon.
  4. 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.

Email
Mi az agilis programozási módszertan?

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

Kapcsolódó témák
  • Programozás
  • Programozás
A szerzőről
Emma Garofalo (25 cikk megjelent)

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ó.

Tovább Emma Garofalo-tól

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.

.