Vakava pilvi? Seuraa Netflixin esimerkkiä ja astu kaaostekniikkaan

Ilmaus 'epäonnistuneeksi rakennettu' ei herättä luottamusta, mikä viittaa tuotteeseen hetkessä, joka on vakava.

Mutta yritysten, jotka isännöivät hajautettuja järjestelmiä pilvipalveluiden päällä, pitäisi valmistautua huonompaan tilanteeseen.

Se on online-video jättiläisen Netflixin argumentti, joka luottaa Amazon Web Services -virtaan elokuvien ja TV-ohjelmien suoratoistoon yli 50 miljoonaan kotiin ympäri maailmaa.

Kuva: Neflix

Kovettuakseen katastrofaaliselta epäonnistumiselta Netflix käyttää Simian-armeijaansa, ohjelmistoa, joka yrittää tietoisesti tuhota järjestelmiään. Simian-armeija hyökkää Netflix-infrastruktuuriin monilla rintamilla - Chaos Monkey poistaa satunnaisesti tuotantomenetelmät, Latency Monkey aiheuttaa viiveitä asiakas-palvelinviestinnässä ja iso poika Chaos Gorilla simuloi koko Amazonin saatavuusvyöhykkeen seisokkia.

Netflix käyttää näitä virtuaalisia vandaaleja testatakseen, kykenevätkö sen automatisoidut järjestelmät selviytymään tosielämän virheistä vaikuttamatta asiakkaisiin. Yrityksen mielestä se reikää renkaiden renkaisiin kerran viikossa nähdäksesi, pystytkö korvaamaan ne.

Mutta miksi pilviinfrastruktuurin käyttö vaatii tällaista lähestymistapaa? Netflixin mukaan taustalla olevan laitteiston hallinnan puute, kyvyttömyys määrittää sitä yrittämään varmistaa sataprosenttinen käyttöaika.

Netflixillä on ollut useita mahdollisuuksia nähdä, kuinka vahva tämä tahallinen rikkoutuminen on jättänyt järjestelmiensä - AWS: n Elastic Load Balancer -katkoksesta vuonna 2012 aina AWS: n uudelleenkäynnistyskoneisiin, jotka käyttävät yhtä 10: stä EC2-tapauksesta.

Tämä uudelleenkäynnistys antoi Netflixille mahdollisuuden selvittää, pystyivätkö sen tietokannat toimimaan samalla vikasietoisella tavalla kuin sen muut järjestelmät.

"Tietokannat ovat jo kauan olleet sovellusmaailman hemmoteltuja ja hemmoteltuja prinssejä", - Netflixin pilvitietokantatekniikan suunnittelupäällikkö Christos Kalantzis ja kaaostekniikan suunnittelupäällikkö Bruce Wong kertoi blogipostissaan.

"He saivat parhaan laitteiston, runsaasti yksilöllistä huomiota, eikä kukaan koskaan unelmoisi tarkoituksellisesta pilkkaamisesta heidän ympärilleen. Demokratisoitujen julkisten pilvien maailmassa tämä ei ole enää mahdollista. Solmujen epäonnistumiset eivät ole vain todennäköisiä, vaan niitä odotetaan. Tämä vaatii tietokantatekniikkaa, joka kestää vikaantumisen ja jatkaa suorittamista. "

Netflix käyttää Apache Cassandraa, avoimen lähdekoodin NoSQL-hajautettua tietokantaa. Hajautetut järjestelmät tarjoavat kompromissin järjestelmän jokaisessa solmussa olevan datan johdonmukaisuuden, järjestelmän saatavuuden ja osiotoleranssin välillä - järjestelmän kyky jatkaa toimintaa sen jälkeen, kun alajoukko on poissa käytöstä.

"Kaupalla C (johdonmukaisuus), olemme tietoisesti päättäneet suunnitella sovelluksemme lopullisen johdonmukaisuuden mielessä", Kalantzis ja Wong sanoivat.

"Odotamme, että Cassandra selviytyisi kaupan puolellaan ja tarjoaisi vahvan saatavuuden ja väliseinien suvaitsevaisuuden."

Joten miten Cassandra nousi EC2-uudelleenkäynnistyksen aikana? Kalantzisin ja Wongin mukaan yli 2700: sta Cassandra-solmusta 218 käynnistettiin uudelleen. Noista solmuista 22 oli laitteistolla, joka ei käynnisty onnistuneesti.

Kuinka Netflix käsittelee Cassandra-solmun vikoja. Kuva: Netflix

Netflixin automaatio-ohjelmisto havaitsi epäonnistuneet solmut ja korvasi ne "minimaalisella ihmisen toiminnalla". Netflix ei kokenut mitään seisokkeja uudelleenkäynnistyksen viikonloppuna, he sanoivat.

Tämän joustavuuden rakentaminen tietokantakerrokseen vaati Kaflazin ja Wongin mukaan paljon kaaostestausta Neflix-insinöörien suorittamalla järjestelmien kaaostestauksella. Yrityksen piti paljastaa Cassandra-klusteriensa toiminta, rakentaa luotettava seuranta näiden toimintojen seuraamiseksi vikojen varalta ja rakentaa ohjelmisto, jolla luodaan ja määritetään korvaavat solmut automaattisesti.

"Toistuvasti ja säännöllisesti harjoittavien epäonnistumisten harjoittamisen, jopa pysyvyyskerroksessa, tulisi olla osa jokaisen yrityksen joustavuuden suunnittelua. Jos Cassandran osallistuminen Chaos Monkeyn ei olisi ollut, tämä tarina olisi päättynyt paljon eri tavalla."

Äskettäin AWS suositteli yrityksiä, jotka käyttävät sen infrastruktuuria, testaamaan joustavuuttaan käyttämällä Chaos Monkeya vikojen aiheuttamiseen. Tässä on joitain Netflixin vinkkejä siitä, mitä se kutsuu kaaossuunnitteluun.

Aseta hyvät kaaosjaksot

Infrastruktuurin häiriöiden jälkeen Netflixillä on ”syytöntä post mortem -tapahtumaa” selvittääkseen, miten uusiutuminen voidaan estää.

Sen lisäksi, että kehitetään joustavuuskorjauksia ja toistumisen estämistä, se rakentaa uusia kaaosvälineitä, joilla testataan joustavuutta säännöllisesti ja systemaattisesti havaitakseen taantumisia tai uusia olosuhteita.

Käytä luotettavan suunnittelun malleja

Käytä suunnittelumallit, jotka parantavat luotettavuutta hajautetussa ympäristössä, jossa ylläpidetään löysästi kytkettyjä palveluita.

Netflix kiittää Hystrixiä "loistavana esimerkkinä luotettavuuden suunnittelumallista, joka auttaa luomaan johdonmukaisuuden mikropalveluekosysteemissamme".

Ennakoi näkymättömiä virheitä

Netflix pyrkii kehittämään hajautettujen järjestelmien ymmärtämistä ja soveltamaan tätä ymmärrystä ennakoimaan vikoja, joita se ei ole vielä kokenut.

Näin toimimalla se voi "ennakoida vikatilat, määrittää tapoja injektoida nämä olosuhteet hallitusti ja kehittää luotettavuuden suunnittelumallimme".

© Copyright 2020 | mobilegn.com