Tech on kaikkialla. Riippuen siitä, kuinka korkealla panoksella teidän teollisuutenne on, teknologiatuotteen tai -järjestelmän vika voi pudota mistä tahansa sen välillä, että se on täysin vähäpätöistä sen loppuun asti, jonka tunnette.
Sairaalan keskusyksiköt? Eräänlainen tärkeä. Candy Crush -sovelluksen joustavuus matkapuhelimellasi? Todennäköisesti hieman matalampi yleisessä prioriteettiluettelossa.
Hajautetussa verkkojärjestelmässä epäonnistuminen on väistämätöntä. Katastrofin estäminen alkaa vankalla, vesitiiviillä turvasuunnittelulla. Sen lisäksi mitä muuta voidaan kuitenkin tehdä?
Mikä on Netflix Chaos Engineering?
20. syyskuuta 2015.
Kaikki hiljaa länsirintamalla, kun yhtäkkiä useat tärkeät yritysverkkopalvelimet menevät alas ilman sanaa.
Monet suuret yritykset eivät kyenneet tarjoamaan asiakkailleen useita tunteja. Netflix oli kuitenkin taas jaloillaan muutamassa minuutissa. Miten? Netflixin sisäinen yrityskulttuuri oli kehittynyt sisällyttämään monia reaaliajassa toteutettuja "epäonnistumisia aiheuttavia" käytäntöjä, jotka valmistavat sekä järjestelmiä että insinöörejä katastrofien sattuessa.
Yhtiön johto tarkoituksenmukaisesti suoritti simuloituja palvelinkatkoja järjestelmän osissa tutkiakseen ja valmistautuakseen tällaisiin tapahtumiin. Tämä auttoi heitä tunnistamaan aukkoja järjestelmään ja rakentamaan irtisanomisia, jotka antoivat palvelun jatkua keskeytyksettä edes edellä mainitun kaltaisen vakavan toimintahäiriön sattuessa.
Nämä tarkoitukselliset "kaaossuunnitteluharjoitukset" antoivat insinööreilleen tarpeeksi kilpailuetua nähdäkseen itsensä fiaskon kautta, kiitos osittain ennaltaehkäisevälle infrastruktuurille, jonka he olivat rakentaneet tällaisella tuomiopäivän tapahtumalla mielessä.
Kukaan muu ei ollut valmis, kun iso aalto iski. Netflix-järjestelmä oli tarpeeksi vahva puolustamaan itseään. Päätelmä? Nämä kaoottiset ohjaajat saattavat olla jotain täällä.
Tuhoaa tarkoituksellisesti ne, jotka rakastavat sinua
"Chaos Engineering on tieteenala, jolla kokeillaan järjestelmää luodaksemme luottamuksen järjestelmän kykyyn kestää tuotannon myrskyisät olosuhteet."
Kaaosilmoituksen periaatteet
Tämä on kaaossuunnittelun sydän - pohjimmiltaan "paloharjoitus", joka asetetaan järjestelmälle työaikana, kun käytettävissä on silmiä ja käsiä esitetyn haasteen ratkaisemiseksi. Tietyn järjestelmän kyky sietää vika testataan, kun mahdolliset haavoittuvuudet paljastuvat.
Alkuperäisessä vuoden 2011 kaaostekniikka koski Netflixin IT-osastoa. Heidän johtajansa halusi testata kuinka joustavia joukkueen ponnistelut olivat, kun yksi tai useampi heidän tietokoneistaan oli tarkoituksellisesti pois käytöstä. Nämä takaiskut antoivat IT-tiimille mahdollisuuden tunnistaa tärkeimmät heikkoudet, ennen kuin niistä tuli koko järjestelmän kattavia asioita ja niitä voitiin hyödyntää ulkopuolelta.
Todellinen epäonnistuminen? Se voi olla kallista helvetissä, ja se ylittää rahalliset vaikutukset. Jopa seisokit, ilman turvallisuuden todellista katoamista, johtavat todennäköisesti runsaasti menetettyjä mahdollisuuksia ansaita tuloja. Miksi odottaa hätätilannetta?
Apinat hulluuden takana
Jotkut yritykset ottavat käyttöön "punaisen joukkueen" mallin, joka vertaa kehittäjien tiimejä veljiään vastaan osastojen linjoilla. Netflixin perustama klassinen esimerkki käyttää kuitenkin "Simian-armeijaa". Nämä botit tekevät likaisen työn puolestaan oikeudenmukaisesti ja täysin satunnaisesti.
Hullu? Ehkä maallikolle. "Chaos Monkeys" -kirjailijan Antonio Garcia Martinezin sanoin:
"Kuvittele, että apina tulee" datakeskukseen ", näihin palvelinten" maatiloihin ", jotka ylläpitävät kaikkia verkkotoimintojemme kriittisiä toimintoja. Apina repii satunnaisesti kaapelit ja tuhoaa laitteet. Haasteena on suunnitella tietojärjestelmä, josta he ovat vastuussa, jotta se toimisi huolimatta näistä apinoista, joita kukaan ei koskaan tiedä saapuessaan ja mitä he tuhoavat. "
Värikäs analogia. Kaikki simialaiset eivät kuitenkaan ole julmia: tohtori Monkey valvoo esimerkiksi järjestelmän suorituskykyä. Kun Chaos Kong pysähtyy käymään, kaikki vedot ovat pois päältä; tämä merkki vie alas koko AWS-käyttövyöhykkeen.
Liittyvät: Kuinka turvallisuushaavoittuvuudet arvioidaan?
Kaaostekniikka ja tieteellinen menetelmä
Kaaossuunnittelu toimii arvokkaana systeemisen näkemyksen lähteenä kokeita suorittaville. Tässä testataan paitsi kehittäjiä; se on myös järjestelmä, koska se on olemassa itsenäisesti.
Ennen kuin apinoiden tynnyri kaadetaan pöydälle, kaaostekniikka vaatii jonkin verran pohjatyötä.
- Ensin on tunnistettava järjestelmäsi "vakaa", terveellinen ja toiminnallinen tila. Tämä on se "kontrolli", jonka avulla mitat konkreettisia tuloksia.
- Aloita miettiä, miten tämä tila tasapainotetaan orkestroitujen epäonnistumisten tunkeutumisen vuoksi. Suunnittele haittaohjelmien tutkiminen siten, että ne vaikuttavat vain järjestelmän suljettuun, hallittavaan alueeseen.
- Esittele "tunkeilija" ja anna järjestelmän vastata.
- Tarkkaile ja tulkitse mahdollisia eroja järjestelmän välillä, sellaisena kuin se on nyt ja miten se käyttäytyi aiemmin homeostaasissa. Lisää iskun "räjähdyssädettä", kunnes havaitset haavoittuvuuden tai saavutat täyden mittakaavan sen mukaan, kumpi tulee ensin.
Ajatuksena on, että mitä vaikeampi on häiritä toimivaa järjestelmää, sitä enemmän voit luottaa siihen, että se kestää muutosta ja pommituksia. Tämä lähestymistapa osoittaa, kuinka järjestelmän eri osa-alueet kompensoivat toistensa epäonnistumiset katkoksen sattuessa.
"Koska mikään yksittäinen komponentti ei voi taata 100-prosenttista käyttöaikaa (ja jopa kallein laitteisto epäonnistuu), meidän on Suunnittele pilviarkkitehtuuri, jossa yksittäiset komponentit voivat epäonnistua vaikuttamatta koko saatavuuteen järjestelmään. "
Netflix Blogi
Joskus tällä tavoin leikkiminen järjestelmän kanssa ei edes tule vaikuttamaan asiakaskokemukseen. Muina aikoina vakavia turvallisuusvikoja paljastetaan. Erityisesti Netflixissä järjestelmän vikaan peitettävä varautuminen, joka on tarkoitettu järjestelmän vikojen peittämiseen, on rakennettu järjestelmän perustaan.
Liittyvät: Mikä on nollapäiväinen hyödyntäminen?
Onko Chaos Engineering sen arvoinen?
Jos haluat ymmärtää monimutkaisen järjestelmän - häiritse sitä
- Farhan Thawar (@fnthawar) 26. toukokuuta 2021
Kriitikot sanovat, että mikään taustapeli ei kannata vaikuttaa asiakkaan kokemukseen, vaikka vain lyhyesti ja sattumalta. Ne, jotka kannattavat kaaossuunnittelua, kiistävät kuitenkin sen, että näiden "suunniteltujen seisokkien" on tarkoitus olla paljon pienempiä kuin AWS koki vuonna 2015. Jos pieni, suunniteltu ongelma antaa sinulle mahdollisuuden estää paljon suuremman ongelman esiintyminen koskaan, alkutapahtuman suunnittelu voi olla paras tapa valmistautua. Tämä vaikuttaa vähemmän käyttäjiin. Matematiikka toimii.
Inhimillisestä asiasta katsottuna mentaliteetti on, että nyt nämä insinöörit, joilla on ollut palvelimen kaatuminen edessään, ja pätevästi käsitelty on sekä valppaampaa tulevaisuudessa että älyllisempi kyky käsitellä mitä tahansa tapa. Vahvempi järjestelmä, joka johtaa monissa tapauksissa, puhuu puolestaan.
Piilaakso: Missä unelmat kuolevat
He sanovat, että jos haluat tehdä siitä suuren, sinun on oltava valmis tappamaan rakkaasi tai tässä tapauksessa antamaan muiden antaa sinun tappaa heidät puolestasi. Kun tietoturva on eturintamassa kehityksen alusta alkaen, tiimisi on todennäköisesti saavuttanut jotain läpipääsemätöntä ja turvallista asiakkaiden vapaata käyttöä.
Pelikokemuksen tekeminen työpaikalla tekee onnistumismahdollisuuksista jännittäviä tällä alalla. kun lopputulos on laadukas, kaikki pääsevät tasolle. Netflixini toimii hyvin, ja vain kaaoksen takana olevat hullut ovat kiitollisia siitä.
Nyt kun sinulla on vahva käsitys kaaossuunnittelusta, miksi et laajenna tietosi toisella ohjelmistokehitysmenetelmällä? Ketterä on erinomainen järjestelmä, jonka voit integroida työvoiman yhdistämiseksi ja puhtaan, tehokkaan koodin tuottamiseksi.
Olitpa hakemassa ohjelmointityöihin tai haluat tehokkaamman työskentelytavan, sinun on tiedettävä ketterästä.
Lue seuraava
- Ohjelmointi
- Ohjelmointi
Emma Garofalo on kirjailija, joka työskentelee tällä hetkellä Pittsburghissa Pennsylvaniassa. Kun hän ei vaivaudu työpöydälleen paremman huomisen kaipaamiseksi, hänet voidaan yleensä löytää kameran takaa tai keittiöstä.
Tilaa uutiskirjeemme
Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja erikoistarjouksia!
Vielä yksi askel !!!
Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.