Przepis na niezawodność usług Netfiksa - wpuść szaloną małpę do serwerowni
Netflix to nie tylko nowatorskie podejście do serwowania treści filmowych - firma ma niezwykle zdrowe i jednocześnie nowatorskie podejście do zarządzania swoją infrastrukturą IT.
Inżynierowie tego znanego na prawie całym świecie giganta najwidoczniej cenią bardziej rozsądek niż przywiązanie do tradycji (o ile w IT można mówić o jakichkolwiek tradycjach).
Dlatego też przykładają niezwykłą wagę do potrzeby ciągłej nauki tego, co i jak może zawieść w ich środowisku w warunkach awaryjnych - i jak to naprawić PRZED momentem, gdy usterka zmieni się w globalną awarię.
Nawiązując do wspomnianej tradycji - zwykle ludzie martwią się więc, by wszelkie usterki nie występowały zbyt często - a jeśli już, to najlepiej po godzinach.
Założenie Netfliksa jest odwrotne: stworzyli oni Chaotyczną Małpkę (
Chaos Monkey), której jedynym zadaniem jest “losowe” wyłączanie systemów w środowisku produkcyjnym - podczas i poza godzinami pracy. Jeśli po wyłączeniu danego elementu okaże się, że jego niedostępność ma wpływ na użytkownika końcowego, siadają i tworzą zabezpieczenie, które sprawi, że odbiór treści przez klienta na drugi raz nie będzie zakłócony. Jeśli natomiast Małpka coś zepsuje, a oni nie wiedzą co to jest - tworzą ulepszone wersje narzędzi monitorujących, by się dowiedzieć i koniec końców - znowu: stworzyć odpowiednie zabezpieczenie.
Na pierwszy rzut oka może się to wydawać szalone - ale w rzeczywistości takie podejście byłoby głupie tylko przy założeniu, że systemy IT się nie psują. A wszyscy wiemy, że to nieprawda.
Zresztą, łatwo można zobrazować nawet laikowi potrzebę takiego podejścia bazując na zrozumiałej dla wszystkich analogii: niech infrastruktura IT będzie organizacją (dajmy na to: firmą) a pojedyncze serwery jej pracownikami. Czy możemy założyć, że non-stop, każdego roboczego dnia dosłownie każdy pracownik będzie na swoim miejscu mógł wykonywać swoją pracę?
A choroby? Wypadki? Kacowe po suto-zakrapianej imprezie?
No więc organizacje (przynajmniej te bardziej ogarnięte) już od dawien dawna mają wypracowany taki system, by w razie nieobecności praktycznie każdego pracownika mogły działać dalej.
Chaotyczna Małpka miałaby za zadanie w naszej analogii wysyłać losowo pracowników na niezapowiedziany, przymusowy (kilkudniowy) urlop - żeby sprawdzić jakie skutki taka nieobecność przyniesie dla firmy - i ewentualnie wdrożyć lepsze procedury pozwalające zastąpić nieobecnego.
Wracając z poziomu zarządzającego dużą organizacją do poziomu administratora (zespołu administratorów) dużej infrastruktury IT: dlaczego Chaotyczna Małpka działa również w godzinach pracy, a nie w nocy?
Odpowiedź jest w sumie prosta, gdy się postawić w roli takiego admina - wolisz dostać powiadomienie o awarii o 3 nad ranem, czy w środku dnia, gdy możesz spokojnie wesprzeć się pełnym zespołem kolegów?
Chaos Monkey powstała już jakiś czas temu i od tego momentu Netflix rozwinął koncepcję tworząc Małpią Armię (Simian Army), z małpkami występującymi w rolach jak na rysunku poniżej:
Z bliższych nam firm, z tego co wiem
z narzędzia Chaos Monkey korzysta grupa Onet.pl. Podzielcie się doświadczeniem, jeśli mieliście okazję pracować przy takim podejściu do zapewnienia niezawodności!
BTW,
Netflix w tym roku skończy już 20 lat, a ja wciąż myślę o tej firmie jak o “świeżej” :)
Na podstawie
ciekawego pytania o to, jak o własnych produkcjach decydują firmy typu Netflix czy HBO.
Komentarze (94)
najlepsze
@majorponury: no jeden hosting już upadł w taki sposób u nas. ( ͡º ͜ʖ͡º)
Co ciekawe, Chaos Monkey wcale nie jest aż tak chaotyczna, jak mogłoby się wydawać. Stosowany jest algorytm lineage driven fault injection, który najpierw analizuje, dlaczego serwis działa dobrze, tworzy graf scieżek wykonania zakończonych sukcesem, a następnie próbuje mieszać w systemie tak, aby wszystkie te ścieżki przerwać, doprowadzając do porażki.
http://techblog.netflix.com/2016/01/automated-failure-testing.html
Tech
@Trapezoedr: piramidy tez stoja od kilku dobrych lat w Egipcie a nie brakuje ciekawostek do poczytania. Dla mnie to chyba najciekawsze znalezisko na wykopie w tym tyg.
Komentarz usunięty przez moderatora