Technika je všade. V závislosti na tom, aké vysoké je vaše odvetvie, môže zlyhanie technologického produktu alebo systému spadnúť kamkoľvek medzi úplne zanedbateľné do konca životnosti, ako ho poznáte.
Sálové počítače v nemocniciach? Niečo dôležité. Odolnosť aplikácie Candy Crush na vašom mobilnom telefóne? Pravdepodobne o niečo nižšie na celkovom zozname priorít.
V distribuovanom systéme sietí je zlyhanie nevyhnutné. Prevencia katastrofy sa začína solídnym a vodotesným bezpečnostným dizajnom. Okrem toho však, čo iného sa dá robiť?
Čo je Netflix Chaos Engineering?
20. september 2015.
Na západnom fronte všetko ticho, keď zrazu niekoľko dôležitých podnikových serverov Amazon Web Services zlyhá bez jediného slova.
Mnoho obrovských spoločností nedokázalo zabezpečiť svojich zákazníkov niekoľko hodín. Netflix bol však v priebehu pár minút späť na nohách. Ako? Vnútorná firemná kultúra spoločnosti Netflix sa vyvinula tak, aby zahŕňala mnoho postupov vyvolávajúcich zlyhania implementovaných v reálnom čase s cieľom pripraviť systémy aj inžinierov na katastrofu.
Vedenie spoločnosti zámerne uskutočňovalo simulované výpadky serverov v obsiahnutých častiach systému, aby bolo možné študovať a pripraviť sa na udalosti, ako sú tieto. To im pomohlo identifikovať medzery v systéme a vytvoriť prepúšťanie, ktoré umožňovalo nepretržité fungovanie služby, a to aj v prípade závažnej poruchy, ako je tá, ktorá bola uvedená vyššie.
Tieto zámerné cvičenia zamerané na „chaosové inžinierstvo“ poskytli ich inžinierom dostatočnú konkurenčnú výhodu, aby sa videli prostredníctvom fiaska, čiastočne vďaka preventívnej infraštruktúre, ktorú vybudovali pri tomto druhu udalosti súdneho dňa na mysli.
Keď zasiahla veľká vlna, nikto iný nebol pripravený. Systém Netflix bol dostatočne silný, aby si dokázal poradiť sám. Záver? Títo chaotickí duchovní duchovia tu možno niečo majú.
Zámerne zničenie tých, ktorí vás majú radi
„Chaos Engineering je disciplína experimentovania na systéme s cieľom vybudovať si dôveru v schopnosť systému odolávať turbulentným podmienkam vo výrobe.“
Princípy manifestu chaosu
Toto je jadro inžinierstva chaosu - v podstate ide o „požiarny výcvik“ uvalený na systém počas pracovnej doby, keď sú k dispozícii oči a ruky na riešenie predloženej výzvy. Schopnosť daného systému tolerovať zlyhanie je testovaná, pretože sú odhalené všetky chyby zabezpečenia.
V pôvodnom kontexte z roku 2011 sa chaosové inžinierstvo týkalo IT oddelenia Netflixu. Ich vedenie chcelo vyskúšať, aké odolné bolo úsilie tímu, keď bol jeden alebo viac ich počítačov úmyselne deaktivovaných. Tieto neúspechy umožnili IT tímu identifikovať kľúčové slabiny skôr, ako sa stali celosystémovými problémami a mohli byť zneužité zvonku.
Skutočné zlyhanie? Môže to byť pekelné nákladné, a to ide nad rámec peňažných dôsledkov. Aj obdobia výpadku bez skutočného výpadku zabezpečenia pravdepodobne povedú k množstvu premeškaných príležitostí na získanie výnosov. Prečo čakať na mimoriadnu situáciu, ktorá vás oslepí?
Opice za šialenstvom
Niektoré spoločnosti prijmú model „červeného tímu“, ktorý postaví tímy vývojárov proti svojim bratom naprieč oddeleniami. Klasický príklad, ktorý uviedol Netflix, však využíva „opičiu armádu“. Títo roboti za nich špinavú prácu robia spravodlivo a úplne náhodne.
Šialený? Laikovi možno. Slovami autora „Opice chaosu“ Antonia Garcíu Martíneza:
„Predstavte si, že by opica vstupovala do„ dátového centra “, týchto„ fariem “serverov, ktoré hostia všetky dôležité funkcie našich online aktivít. Opica náhodne roztrhne káble a zničí zariadenia. Výzvou je navrhnúť informačný systém, za ktorý sú zodpovední, aby mohol fungovať aj napriek týmto opiciam, o ktorých nikto nikdy nevie, kedy dorazia a čo zničia. ““
Farebné prirovnanie. Nie všetci Simians sú však krutí: Doctor Monkey napríklad sleduje výkon systému. Keď sa však Chaos Kong zastaví na návšteve, všetky stávky sú vypnuté; tento znak zruší celú zónu dostupnosti AWS.
Súvisiace: Ako sa hodnotia chyby zabezpečenia?
Chaos Engineering and the Scientific Method
Inžinierstvo chaosu slúži ako cenný zdroj systémového vhľadu pre tých, ktorí experimentujú. Testujú sa tu nielen vývojári; je to systém, pretože existuje aj autonómne.
Pred vysypaním suda s opicami na stôl vyžaduje inžinierstvo chaosu trochu základov.
- Najprv musíte zistiť, čo považujete za „stabilný“, zdravý a funkčný stav pre váš systém. Toto bude „kontrola“, proti ktorej budete merať akékoľvek hmatateľné výsledky.
- Začnite uvažovať o tom, ako bude tento stav vyvážený vniknutím organizovaného zlyhania. Naplánujte si, aby bol váš sondový malware ovplyvnený iba v obmedzenej a kontrolovateľnej oblasti vášho systému.
- Predstavte „votrelca“ a nechajte systém reagovať.
- Pozorujte a interpretujte všetky rozdiely medzi systémom, aký teraz existuje, a tým, ako sa choval predtým, počas homeostázy. Zvýšte svoj „polomer výbuchu“ nárazu, kým nezistíte zraniteľnosť alebo nedosiahnete plný rozsah, podľa toho, čo nastane skôr.
Ide o to, že čím ťažšie je narušiť funkčný systém, tým väčšiu dôveru môžete mať v jeho odolnosť voči zmenám a bombardovaniu. Tento prístup ukazuje, ako rôzne aspekty systému budú navzájom kompenzovať zlyhania v prípade výpadku.
„Pretože žiaden jednotlivý komponent nemôže zaručiť 100% dobu prevádzkyschopnosti (a nakoniec zlyhá aj ten najdrahší hardvér), musíme navrhnúť cloudovú architektúru, kde môžu zlyhať jednotlivé komponenty bez toho, aby to ovplyvnilo dostupnosť celej systém. ““
The Netflix Blog
Niekedy sa pohrávanie so systémom týmto spôsobom ani zďaleka neprejavuje na dopade na zákaznícku skúsenosť. Inokedy vyjdú najavo závažné bezpečnostné chyby. Teraz, najmä v spoločnosti Netflix, je pohotovostná služba určená na maskovanie zlyhania systému na používateľskej úrovni zabudovaná do základov systému.
Súvisiace: Čo je Zero-Day Exploit?
Stojí Chaos Engineering za to?
Ak chcete pochopiť zložitý systém - narušte ho
- Farhan Thawar (@fnthawar) 26. mája 2021
Kritici tvrdia, že žiadna hra typu back-end nestojí za to, aby ovplyvnila skúsenosť zákazníka, aj keď len krátko a náhodne. Zástancovia chaosového inžinierstva však budú vyvracať skutočnosť, že tieto „plánované výpadky“ majú byť oveľa menšie, než aké AWS zažila v roku 2015. Ak vás malý, plánovaný problém postaví do pozície, ktorá zabráni tomu, aby sa oveľa väčší problém objavil, plánovanie počiatočného incidentu môže byť najlepším spôsobom prípravy. Celkovo to bude mať vplyv na menej používateľov. Matematika vyjde.
Z ľudského hľadiska je mentalita taká, že teraz títo inžinieri, ktorí pred sebou zlyhali server, a kompetentní s tým budú v budúcnosti ostražitejší a tiež intelektuálne vybavení na zvládnutie všetkého, čo príde spôsobom. Silnejší systém, ktorý je výsledkom, v mnohých prípadoch hovorí sám za seba.
Silicon Valley: Where Dreams Go to Die
Hovoria, že ak to chcete zväčšiť, musíte byť ochotní zabiť svojich miláčikov, alebo v tomto prípade byť ochotní nechať ostatných, aby ich zabili za vás. Ak je bezpečnosť v popredí od samého začiatku vývoja, je oveľa pravdepodobnejšie, že váš tím skončí s niečím nepreniknuteľným a bezpečným, aby ho zákazníci mohli slobodne používať.
Vďaka zážitkom z práce na pracovisku je nádej na úspech v tejto oblasti vzrušujúca; keď je konečný výsledok kvalitný, všetci sa dostanú o úroveň vyššie. Môj Netflix beží v pohode a za chaosom máme iba tých šialencov, ktorí za to ďakujú.
Teraz, keď máte pevné pochopenie pre inžinierstvo chaosu, prečo si nerozšíriť svoje znalosti o ďalšiu metodológiu vývoja softvéru? Agile je vynikajúci systém, ktorý môžete začleniť na zjednotenie pracovnej sily a vytvorenie čistého a efektívneho kódu.
Či už sa uchádzate o miesto v programovaní alebo hľadáte efektívnejší spôsob práce, o spoločnosti Agile musíte vedieť.
Prečítajte si Ďalej
- Programovanie
- Programovanie
Emma Garofalo je spisovateľka, ktorá momentálne žije v Pittsburghu v Pensylvánii. Ak sa nedržíte za svojím stolom, aby ste dosiahli lepšie zajtrajšky, zvyčajne ju nájdete za kamerou alebo v kuchyni.
Prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!
Ešte jeden krok…!
V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.