Kim jest ta Małpa Chaosu i dlaczego zawiesił mój serwer?

28

Miałem idealny serwer, był tak ładny i solidny, dlatego nazwałem go Petra. Był perfekcyjny pod każdym względem, wszystko było skonfigurowane i dostrojone, miał perfekcyjny 100% serwis i 753 dni nieprzerwanej pracy. Spędziłem dużo czasu i wysiłku, upewniając się, że działa tak dobrze. Żaden inny serwer w firmie nie był tak dobry. Ale ostatniej nocy ten zły potwór rozbił mój serwer bez powodu.

Chaos Monkey

Oczywiście otrzymałem powiadomienie o 2 nad ranem i zajęło mi to do samego rana, aby wszystko uruchomić i wszystko skonfigurować i dostroić, ale obawiam się, że nie będzie tak dobrze jak wcześniej. Może minąć tygodnie, zanim powróci do swojej dawnej świetności. Teraz mój uptime minął, nie mam nawet marnych trzech 9 i kto wie, co to zrobi z moją reputacją. Kim jest ta Małpa Chaosu i dlaczego zrobił to mojemu serwerowi i dlaczego próbuje mnie zniszczyć?

Jiri Klouda
źródło
12
Musi być plakietka na najśmieszniejsze pytanie :)
Richard Slater
Pojedynczy serwer? Co to jest? Dlaczego miałbyś opierać swój biznes na unikalnym dziele sztuki zamiast towaru, który można łatwo skalować i wymieniać, gdy nieuchronnie zawiedzie lub przestanie być przedmiotem najmu?
Bez zwrotów Bez zwrotów
Czy naprawdę uważamy, że to dobre pytanie, aby wstępnie zasiać stronę? Czy oczekujemy, że inżynierowie zainstalują, skonfigurują i uruchomią Chaos Monkey, a następnie zapomną, co to jest, ale odkryją, że działa w ich sieci i pytają na Stack Exchange, zamiast odwiedzać oficjalną stronę internetową? Jest tak wiele kroków, które są nieprawdopodobne.
Xiong Chiamiov
2
Oczywiście nie jest to prawdziwe pytanie. To był żart, aby w pewnym sensie przedstawić szczyt dawnego sysadmina, który po prostu wyprzedził przemysł. Ale twoja krytyka zakłada, że ​​o infrastrukturę odpowiada jedna osoba lub nawet jeden zespół. Dość często w dużych firmach istniejąca infrastruktura i zespoły pozostają na miejscu nawet podczas ich wymiany. Jest całkiem prawdopodobne, że nowy zespół zaczął od nowej infrastruktury i instalacji Chaos Monkey, a stary pierdnięcie po prostu został trafiony w czasie, gdy po początkowym sukcesie został wdrożony w całej firmie.
Jiri Klouda,
Oczywiste pytanie brzmi: jeśli masz taki serwer, to dlaczego skonfigurowałeś Chaos Monkey?
user253751

Odpowiedzi:

32

TL; DR : Chaos Monkey został opracowany w 2010 roku na Netflix i wypuszczony na wolność w 2012 roku jest częścią armii Simian , niezwykle popularnej wśród oddanych obserwujących . Zbudowana na zasadach inżynierii chaosu armia zwiększa odporność na awarie poprzez wstrzykiwanie ciągłych awarii do systemu.

Pojęcie

Chaos Monkey został opracowany specjalnie dla AWS, gdzie losowo zabija instancje w grupie automatycznego skalowania. Ma on działać w godzinach pracy, kiedy inżynierowie są czujni i mogą szybko reagować na wykryte awarie.

Armia Simian

Członkowie armii sieją chaos innymi sposobami:

  • Latency Monkey wprowadzi losowe opóźnienia usług.

  • Chaos Gorilla (Kong) będzie symulować awarię całej strefy dostępności.

Inne małpy są pomocne i usuwają słabych członków stada:

  • Zgodność Małpa wyłącza przypadki nieprzestrzegania najlepszych praktyk.

  • Security Monkey szuka znanych luk bezpieczeństwa w konfiguracji i usługach.

  • Doktor Monkey zamyka niezdrowe przypadki niezgodne z niektórymi parametrami.

  • Janitor Monkey szuka niewykorzystanych zasobów do odzyskania.

Awaria jest nieunikniona

Awaria w systemie jest nieunikniona, zawsze coś pójdzie nie tak . Możesz nie być w stanie wybrać, ale możesz spróbować wybrać, kiedy. Wprowadzając małe błędy w ciągu dnia, zapewniasz obecność swoich inżynierów. Dzięki szybkiemu zabijaniu usług niezgodnych gwarantujesz, że awarie zdarzają się często przed wdrożeniem. Uczyniając środowisko bardziej przeciwnym, zapewniasz, że to programiści napotkają problemy na długo zanim jakakolwiek usługa trafi do produkcji. Awarie będą szybko widoczne w fazie integracji nowych usług ze starymi, ale jest to w porządku, ponieważ stare usługi produkcyjne są już odporne.

Bydło nie Zwierzęta

Wszyscy powiedzą ci ostatnio: Nie traktuj swoich serwerów jak zwierząt domowych . Liczby mają potęgę i każdy pojedynczy punkt awarii spowoduje uszkodzenie systemu. Bez względu na to, jak dobrze dostroisz i zoptymalizujesz swój serwer, bez względu na to, jak potężny sprzęt możesz uzyskać, ile może obsłużyć, nigdy nie będzie pasował do stada małych skalowalnych instancji. Chaos Monkey zachęca do zastanowienia się nad usunięciem wszystkich punktów awarii, ponieważ wcześniej czy później nadejdzie Małpa! Wszyscy zawodzą, a nawet Amazon S3 miał nieprzewidywalną awarię .

Przeciw kruchości

Więc jaka jest teoria i dlaczego działa? Nassim Nicholas Taleb w swojej książce Antifragile opisuje koncepcję, w której żywe samoświadome systemy skorzystają z niewielkich poziomów losowości i faktycznie staną się lepsze w obliczu przeciwności losu. Jest to podobne do wyżarzania.

Opisuje także sposób ewolucyjny, w którym kruchość części w systemie przechodzi w przeciwdziałanie łamliwości całości . Transfer odbywa się na dwóch poziomach:

  1. Dzięki niewielkim przypadkowym odmianom - programiści dokonujący zmian - najbardziej odpowiednie dla środowiska przetrwają i będą się rozprzestrzeniać - przejść testy i wdrożyć . Standardowy cykl rozwojowy .

  2. W wyniku awarii części, które nie są w stanie wytrzymać większego poziomu losowości w środowisku, pozostałe części, które były w stanie to wytrzymać, składają się na system, który jako całość lepiej radzi sobie ze zmieniającym się środowiskiem niż wcześniej. Zasadniczo jest to Małpa Chaosu .

Większe poziomy losowości można wytrzymać, stosując drugie podejście.

Jiri Klouda
źródło
„Porażka jest nieunikniona” - wielki mantram!
wogsland
Głosowano, ponieważ wspomniałeś o Nassimie Talebie. Super inteligentny facet, a jego pomysły można zastosować do praktycznie wszystkiego.
maplebird
8

Niektóre dodatki do twojej odpowiedzi na to pytanie ...

Dodatkowe małpy

Artykuł o „ Jak chaos zwiększa wydajność ” opisuje kilka kolejnych małp, tj .:

  • 10-18 Monkey : znajduje problemy z konfiguracją i czasem działania w instancjach obsługujących klientów w wielu regionach.
  • Chaos Kong : symuluje awarię regionu Amazonii.

Uwaga: Ten sam artykuł wspomina także o „Gorylu Chaosu: symuluje awarię strefy dostępności Amazon”, choć może się tak stać, że zmieniono jego nazwę na „Chaos Kong: symuluje awarię regionu Amazon” ... Mówiąc o Chaos ! Nie znalazłem do tej pory żadnego potwierdzenia / dokumentu, przynajmniej nie wydaje się, aby problem pojawiał się w kolejce problemów . Nieudokumentowana zmiana mogła doprowadzić do produkcji na github ... Gggggggrrrrrreat!

Skonfiguruj i używaj własnych małp.

Udaj się do github, aby skontaktować się z Armią Simian (ten sam link, co pierwszy link we własnej odpowiedzi). Oto cytat tego, co tam znajdziesz:

Simian Army składa się z usług (małp) w chmurze do generowania różnego rodzaju awarii, wykrywania nieprawidłowych warunków i testowania naszej zdolności do ich przetrwania. Celem jest, aby nasza chmura była bezpieczna, bezpieczna i wysoce dostępna. Więcej informacji można znaleźć na tym blogu .

Obecnie simians zawierać Chaos Monkey , woźny Monkey i Zgodność Monkey .

Zapoznaj się z przewodnikiem Szybki start, aby rozpocząć konfigurowanie i korzystanie z małp.

Możesz nawet skonfigurować monki tak, aby pasowały do ​​twoich potrzeb biznesowych.

Jeśli zagłębisz się wystarczająco głęboko w te linki Github (tj. W link Pomoc ), znajdziesz również link, aby dołączyć do grupy dyskusyjnej SimianArmy Google .

Pierre.Vriens
źródło
Chaos Kong został przemianowany na Goryl Chaosu, tak myślę, lub na odwrót.
Jiri Klouda
@JiriKlouda wydajesz się potwierdzać, o czym zaczynałem się zastanawiać. Dlatego teraz dodałem swoją uwagę do mojej odpowiedzi.
Pierre.Vriens
2

Jeden serwer, aby rządzić nimi wszystkimi, Jeden serwer, aby je znaleźć,
Jeden serwer, aby przynieść je wszystkie, aw razie awarii związać je

Ty, Sauron, stworzyłeś ten Jeden serwer, w ciemnościach Mount Doom, swoje centrum danych w pragnieniu rządzenia wszystkimi aplikacjami.
Mam nadzieję, że Drużyna Devops zjednoczyła się, aby powiedzieć wam:

Gandalf - PAAS

Po długiej walce Frodo the Chaos Monkey był w stanie stopić Twój One Server i zapewnić swobodę wszystkim aplikacjom, prowadząc Cię na drogę odtwarzalnych serwerów w tym samym czasie.

Kredyty:

Tensibai
źródło