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