Przepis na niezawodność usług Netfliksa - wpuść szaloną małpę do serwerowni

rudolf
rudolf
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.