Komolyan gondolsz a felhőre? Kövesse a Netflix vezetését és lépjen bele a káosz tervezésébe

A „kudarcra épült” kifejezés nem ösztönzi a bizalmat, és arra utal, hogy egy termék pillanatnyi távolságra van az impozíciótól.

De a felhőalapú infrastruktúrán elosztott rendszereket üzemeltető cégeknek fel kell készülniük a rosszabbra.

Ez az online video-óriás Netflix érve, amely az Amazon Web Services-re támaszkodik, hogy filmeket és TV-műsorokat világszerte több mint 50 millió házba közvetítse.

Kép: Neflix

Annak érdekében, hogy megvédje magát a katasztrófaes kudarcoktól, a Netflix Simian Hadseregét alkalmazza, amely szoftver szándékosan megpróbálja pusztítani a rendszereit. A Simian Hadsereg számos fronton támadja meg a Netflix infrastruktúráját - a Chaos Monkey véletlenszerűen letiltja a termelési példányokat, a Latency Monkey késleltetést idéz elő az ügyfél-szerver kommunikációban, a nagyfiú, Chaos Gorilla pedig egy teljes Amazon rendelkezésre állási zóna kiesését szimulálja.

A Netflix ezeket a virtuális vandálokat használja annak tesztelésére, hogy automatizált rendszerei képesek-e megbirkózni a valós életbeli kudarcokkal anélkül, hogy ügyfeleiket befolyásolnák. A cég úgy gondolja, hogy hetente egyszer lyukat dug az autó gumiabroncsaiban, hogy meg tudja-e cserélni.

De miért igényel felhőinfrastruktúra ilyen megközelítést? A Netflix szerint a mögöttes hardver feletti ellenőrzés hiánya, a konfiguráció képtelensége annak érdekében, hogy megpróbálja biztosítani a 100 százalékos rendelkezésre állást.

A Netflixnek számos alkalommal volt lehetősége látni, hogy a szándékos törés milyen robusztus maradt a rendszerében - az AWS Elastic Load Balancer 2012-es leállásától az AWS nemrégiben indított újraindítógépekig, amelyek 10 EC2 példányt futtattak.

Ez az újraindítás lehetőséget adott a Netflix számára annak kiderítésére, hogy az adatbázisai ugyanolyan hibatűrő módon működhetnek-e, mint a többi rendszere.

"Az adatbázisok már régóta az alkalmazások világának kényeztetett és elkényeztetett fejedelmei" - mondta a Netflix felhőalapú mérnöki mérnöki vezető Christos Kalantzis és a káoszmérnöki mérnöki vezető Bruce Wong egy blogbejegyzésben.

"Megkapta a legjobb hardvert, nagy mennyiségű személyre szabott figyelmet, és senki sem álmodhat arról, hogy szándékosan megbotlik velük. A demokratizált nyilvános felhők világában ez már nem lehetséges. A csomóponti kudarcok nemcsak valószínűek, hanem várhatók is. Ehhez olyan adatbázis-technológiára van szükség, amely képes ellenállni a kudarcnak, és továbbra is teljesít.

A Netflix Apache Cassandra-t, egy nyílt forrású NoSQL elosztott adatbázist használ. Az elosztott rendszerek kompromisszumot kínálnak a rendszer egyes csomópontjain tárolt adatok konzisztenciája, a rendszer rendelkezésre állása és a partíciós tolerancia között - egy rendszer azon képessége, hogy továbbra is működjön, miután egy részhalmaz nem áll rendelkezésre.

"A C (konzisztencia) elidegenítésével tudatosan döntöttünk úgy, hogy alkalmazásokat az esetleges következetesség szem előtt tartásával tervezzük" - mondta Kalantzis és Wong.

"Arra számítunk, hogy Cassandra az oldala mellett élne, és erőteljes rendelkezésre állást és elválasztási toleranciát biztosítson."

Tehát hogyan viselte a Cassandra az EC2 újraindítást? Kalantzis és Wong szerint a több mint 2700 Cassandra gyártási csomópont közül 218-at indítottak újra. A csomópontok közül 22 olyan hardveren volt, amely nem indult újra sikeresen.

Hogyan kezeli a Netflix a Cassandra csomópontok hibáit. Kép: Netflix

A Netflix automatizálási szoftvere észlelte a meghibásodott csomópontokat, és "minimális emberi beavatkozással" helyettesítette azokat. Összességében a Netflix nem tapasztalt leállást az újraindítás hétvégén.

Kalantzis és Wong szerint a rugalmasság beépítése az adatbázis-rétegbe sok káoszos rendszer tesztelést igényelt a Neflix mérnökei által, a cégnek ki kellett mutatnia Cassandra-klaszterének működését, megbízható megfigyelést kellett készítenie a hibaelhárítás nyomon követésére és az építésre szoftver cserecsomópontok automatikus létrehozásához és beállításához.

"A kudarc ismételt és rendszeres gyakorlása, még a perzisztencia rétegben is, része kell lennie minden vállalat ellenálló képességének tervezésének. Ha Cassandra nem a Chaos Monkey-ben való részvétel lenne, ez a történet sokkal másképpen lett volna véget ért."

Az AWS a közelmúltban azt javasolta, hogy az infrastruktúrát használó cégek teszteljék ellenálló képességüket a Chaos Monkey használatával a hibák kiváltására. Íme néhány Netflix tipp, amit káoszmérnöknek hív.

Állítson be erényes káoszciklusokat

Infrastruktúrájának megszakítása után a Netflix „hibátlan utókorúkat” tart, hogy meghatározzák, hogyan lehet megakadályozni a visszatérést.

A rugalmassági javítások kidolgozása és az ismétlődések megakadályozása mellett új káosz eszközöket épít az ellenálló képesség rendszeres és szisztematikus tesztelésére, a regresszió vagy új feltételek felismerésére.

Használjon megbízható tervezési mintákat

Használjon olyan tervezési mintákat, amelyek javítják a megbízhatóságot egy olyan elosztott környezetben, amely lazán összekapcsolt szolgáltatásokat nyújt.

A Netflix dicséri a Hystrix-t, mint "a megbízható tervezési minta fantasztikus példáját, amely elősegíti a konzisztencia megteremtését a mikro-szolgáltatások ökoszisztémájában".

Előre látható láthatatlan kudarcok

A Netflix az elosztott rendszerek mély megértésének fejlesztésére törekszik, és ezt a megértést alkalmazza a még meg nem tapasztalt hibák előrejelzésére.

Ezzel lehetővé teszi, hogy "előre jelezze a meghibásodási módokat, meghatározza ezeket a körülményeket ellenőrzött módon, és továbbfejlessze megbízhatósági tervezési mintáinkat".

© Copyright 2021 | mobilegn.com