Technikos yra visur. Priklausomai nuo to, kiek jūsų pramonė turi didelių akcijų, technologinio produkto ar sistemos gedimas gali patekti į nieką iki gyvenimo pabaigos, kaip jūs žinote.

Pagrindiniai ligoninių kompiuteriai? Rūšis svarbi. „Candy Crush“ programos atsparumas jūsų mobiliajame telefone? Tikriausiai šiek tiek žemiau bendrame prioritetų sąraše.

Paskirstytoje tinklų sistemoje nesėkmė neišvengiama. Katastrofos prevencija prasideda nuo tvirto, nepralaidaus vandeniui saugumo. Be to, ką dar galima padaryti?

Kas yra „Netflix Chaos Engineering“?

2015 m. Rugsėjo 20 d.

Vakarų fronte viskas tylu, kai staiga keli svarbūs korporacijų „Amazon Web Services“ serveriai sugenda be žodžio.

Daugybė milžiniškų kompanijų negalėjo kelias valandas aprūpinti savo klientų. Tačiau „Netflix“ vėl atsistojo ant kojų per kelias minutes. Kaip? Vidinė „Netflix“ įmonės kultūra buvo išplėtota, įtraukiant daugybę „nesėkmių sukeliančių“ praktikų, įgyvendinamų realiuoju laiku, kad tiek sistemos, tiek inžinieriai būtų pasirengę nelaimei.

instagram viewer

Bendrovės vadovybė tikslingai vykdė imituotus serverio sutrikimus tam tikrose sistemos dalyse, kad galėtų ištirti ir pasirengti tokiems įvykiams kaip šie. Tai padėjo jiems nustatyti sistemos spragas ir sukurti atleidimus, kurie leido nepertraukiamai dirbti net ir įvykus dideliems gedimams, kaip minėta anksčiau.

Šie apgalvoti „chaoso inžinerijos“ pratimai suteikė jų inžinieriams pakankamai konkurencinio pranašumo, kad jie galėtų save pamatyti per fiasko, iš dalies dėka prevencinės infrastruktūros, kurią jie sukūrė per tokio pobūdžio pasaulio įvykį omenyje.

Niekas kitas nebuvo pasirengęs, kai užklupo didžioji banga. „Netflix“ sistema buvo pakankamai stipri, kad galėtų išsigelbėti. Išvada? Šie chaotiški sumanytojai čia gali būti kažkuo susiję.

Tyčia sunaikinti tuos, kurie jus myli

"Chaoso inžinerija yra eksperimentavimo su sistema disciplina, siekiant sustiprinti pasitikėjimą sistemos pajėgumu atlaikyti audringas gamybos sąlygas."

Chaoso manifesto principai

Tai yra chaoso inžinerijos šerdis - iš esmės „ugnies pratybos“, įvestos sistemai darbo valandomis, kai yra akių ir rankų, leidžiančių spręsti pateiktą iššūkį. Tam tikros sistemos gebėjimas toleruoti gedimus išbandomas, nes yra pažeidžiamumų.

Pradiniame 2011 m. Kontekste chaoso inžinerija buvo susijusi su „Netflix“ IT skyriumi. Jų vadovybė norėjo išbandyti, kaip atsparios buvo komandos pastangos, kai vienas ar keli jų kompiuteriai buvo tyčia išjungti. Šios nesėkmės leido IT komandai nustatyti pagrindines silpnybes, kol jos dar nebuvo visos sistemos problemos ir galėjo būti panaudotos iš išorės.

Tikra nesėkmė? Tai gali kainuoti velniškai, ir tai peržengia pinigines pasekmes. Net ir prastovos laikotarpiai be realaus saugumo praradimo gali sukelti daug praleistų galimybių uždirbti pajamas. Kodėl reikia laukti, kol užklups avarija?

Beždžionės už beprotybės

Kai kurios įmonės priims „raudonos komandos“ modelį, pagal kurį kūrėjų komandos lyginamos su savo broliais visose žinybose. Tačiau klasikinis „Netflix“ pavyzdys naudoja „Simian Army“. Šie robotai nešvarų darbą už juos atlieka sąžiningai ir visiškai atsitiktinai.

Išprotėjęs? Galbūt pasauliečiams. „Chaoso beždžionių“ autoriaus Antonio Garcia Martinezo žodžiais:

Įsivaizduokite, kad beždžionė įeina į „duomenų centrą“ - šiuos serverių „ūkius“, kuriuose yra visos svarbiausios mūsų internetinės veiklos funkcijos. Beždžionė atsitiktinai nuplėšė kabelius ir sunaikino prietaisus. Iššūkis yra suprojektuoti informacinę sistemą, už kurią jie yra atsakingi, kad ji galėtų veikti nepaisant šių beždžionių, kurių niekas niekada nežino, kada jos atvyks ir ką sunaikins “.

Spalvinga analogija. Tačiau ne visi simiečiai yra žiaurūs: gydytojas beždžionė stebi, pavyzdžiui, sistemos veikimą. Kai Chaosas Kongas užsuka aplankyti, visi statymai atmetami; šis simbolis panaikins visą AWS prieinamumo zoną.

Susijęs: Kaip vertinami saugumo pažeidžiamumai?

Chaoso inžinerija ir mokslinis metodas

Chaoso inžinerija yra vertingas sisteminės įžvalgos šaltinis tiems, kurie vykdo eksperimentus. Čia išbandomi ne tik kūrėjai; tai yra sistema, nes ji egzistuoja ir autonomiškai.

Prieš išmesdami beždžionių statinę ant stalo, chaoso inžinerijai reikia padėti šiek tiek pagrindo.

  1. Pirmiausia turite nustatyti, kas jūsų sistemoje yra „stabili“, sveika, funkcinė būsena. Tai bus „kontrolė“, pagal kurią matuosite bet kokius apčiuopiamus rezultatus.
  2. Pradėkite galvoti apie tai, kaip ši būsena bus subalansuota įsibrovus į orkestruotą nesėkmę. Suplanuokite, kad kenkėjiškos programos tiria tik tam tikrą, valdomą jūsų sistemos zoną.
  3. Pristatykite „įsibrovėlį“ ir leiskite sistemai reaguoti.
  4. Stebėkite ir interpretuokite bet kokius skirtumus tarp sistemos, kokia ji yra dabar, ir to, kaip ji elgėsi anksčiau, būdama homeostazėje. Padidinkite smūgio „sprogimo spindulį“, kol aptiksite pažeidžiamumą arba pasieksite visą skalę, atsižvelgiant į tai, kas įvyks anksčiau.

Idėja yra ta, kad kuo sunkiau sutrikdyti funkcinę sistemą, tuo daugiau galite pasitikėti jos atsparumu keistis ir bombarduoti. Šis požiūris parodo, kaip skirtingi sistemos aspektai kompensuos vienas kito gedimus nutrūkus.

"Kadangi nė vienas komponentas negali garantuoti 100% veikimo laiko (o net ir pati brangiausia aparatūra galiausiai sugenda), turime tai padaryti suprojektuoti debesies architektūrą, kurioje atskiri komponentai gali sugesti, nepaveikdami visumos prieinamumo sistema “.

The „Netflix“ Tinklaraštis

Kartais tokiu būdu žaidžiant su sistema net nepaveikiama kliento patirtis. Kitu metu bus išaiškinti dideli saugumo trūkumai. Ypač „Netflix“ sistemoje yra įtrauktas nenumatytas atvejis, skirtas sistemos gedimams užmaskuoti vartotojo lygiu.

Susijęs: Kas yra nulinės dienos išnaudojimas?

Ar verta chaoso inžinerija?

Jei norite suprasti sudėtingą sistemą - sutrikdykite ją

- Farhanas Thawaras (@fnthawar) 2021 m. Gegužės 26 d

Kritikai sakys, kad jokie papildomi žaidimai nevertėtų paveikti kliento patirties, net jei tai būtų trumpai ir atsitiktinai. Tačiau tie, kurie palaiko chaoso inžineriją, paneigs tai, kad šie „planuojami nutraukimai“ turėtų būti daug mažesni, nei AWS patyrė 2015 m. Jei dėl nedidelės, suplanuotos problemos jūs galite užkirsti kelią kur kas didesnei problemai, ji gali būti geriausias pasirengimo būdas. Iš viso tai paveiks mažiau vartotojų. Matematika pasiteisina.

Žvelgiant iš žmogaus reikalo, mentalitetas yra tas, kad dabar šie inžinieriai, kuriems priešais serverį įvyko avarija, ir Kompetentingai elgiantis ateityje tai bus ir budresnis, ir intelektualiau pasirengęs tvarkyti viską, kas tik pasitaikys būdu. Stipresnė sistema, kuri atsiranda, daugeliu atvejų kalba pati už save.

Silicio slėnis: kur miršta sapnai

Jie sako, kad jei norite tai padaryti didele, turite būti pasirengę nužudyti savo numylėtinius arba, šiuo atveju, norėti leisti kitiems už jus nužudyti. Kai saugumas yra priešakyje nuo pat kūrimo pradžios, jūsų komanda yra daug labiau linkusi gauti ką nors neįžengiamo ir saugaus, kad klientai galėtų laisvai naudotis.

Žaidimų naudojimas darbo vietoje daro sėkmės šioje srityje perspektyvą; kai galutinis rezultatas yra kokybiškas, visi pasiekia aukštesnį lygį. Mano „Netflix“ veikia puikiai, ir už chaosą už tai dėkojame tik bepročiams.

Dabar, kai tvirtai supranti chaoso inžineriją, kodėl gi neišplėtęs savo žinių naudodamas kitą programinės įrangos kūrimo metodiką? „Agile“ yra puiki sistema, kurią galite įtraukti, kad suvienytumėte darbo jėgą ir gautumėte švarų, efektyvų kodą.

El
Kas yra judrios programavimo metodika?

Nesvarbu, ar pretenduojate į programavimo darbus, ar norite efektyvesnio darbo, turėsite žinoti apie „Agile“.

Skaitykite toliau

Susijusios temos
  • Programavimas
  • Programavimas
Apie autorių
Emma Garofalo (Paskelbta 25 straipsniai)

Emma Garofalo yra rašytoja, šiuo metu įsikūrusi Pitsburge (Pensilvanija). Kai netrokšta geresnio rytojaus prie savo stalo, ją dažniausiai galima rasti už fotoaparato ar virtuvėje.

Daugiau iš Emmos Garofalo

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.