Programowanie
Chaos Monkey, czyli na co “pozwala” chmura
Na VI Kongresie itSMF spotkałem się z “ciekawym” podejściem do architektury systemów IT Grupy Onet.pl. Sama nazwa – Chaos Monkey – przykuwa już uwagę.
W skrócie, każdy serwer wirtualny w Onet.pl po 2 godzinach jest niszczony. Tworzone aplikacje muszą zaś działać tak, aby mogły się same skonfigurować. Inaczej będą działać tylko przez te 2 godziny. W ciągu roku powołano do życia (i zapewne “uśmiercono”) 2 mln wirtualnych serwerów.
Najważniejsza korzyść dla Onet.pl to fakt, że mogą “wystartować” cały serwis w dowolnym miejscu na świecie w ciągu 2 godzin. To eliminuje de facto konieczność posiadania centrum zapasowego, choć Onet.pl wciąż używa swojego starego data center. Zamiast tego, w razie awarii Onet.pl uruchamiany jest w chmurze Amazon.com w centrum danych tej firmy w Irlandii.
Jednym z głównych założeń pracy w chmurze jest idea tworzenia rozwiązań, które będą gotowe na awarie. Takie podejście jest nawet zawarte w katalogu tzw. dobrych praktyk w Amazon Web Services. Główną ideą takiego projektowania jest założenie, że wszystko pójdzie źle. Tworząc rozwiązanie upewniamy się, że infrastruktura będzie odporna na wszystkie ewentualne porażki. Ale jedna rzecz to powiedzieć, że infrastruktura jest odporna na awarie, a inna to udowodnić to w praktyce.
Istnieje kilka narzędzi, które pozwalają to zrobić, ale prawdopodobnie najbardziej znany jest Chaos Monkey firmy Netflix. Jest on dostępny bezpłatnie na zasadach open source. Po uruchomieniu Chaos Monkey będzie kasował przypadkowe instancje wirtualnych serwerów zmuszając aplikacje na nich pracujące do ponownego, automatycznego uruchomienia. Chaos Monkey wstępnie jest skonfigurowany tak, aby działać tylko w godzinach pracy, co pozwala zobaczyć, jak odporna jest architektura IT w kontrolowanych warunkach, gdy wszyscy są w biurze.
“Chaos Monkey to narzędzie do testowania odporności aplikacji na awarie infrastruktury. Napisanie aplikacji tak, aby przechodziły test CM to osobne wyzwanie” – mówi Jacek Błocki, Independent consultant, IT Service Management Expert, PMP. “Czy wszystkie aplikacje Onet są już odporne na CM, czy jest to tylko wymaganie dla nowych aplikacji?” – zastanawia się.
“W przypadku Onetu to nie tylko narzedzie do testowania aplikacji ale produkcyjne środowisko w którym CM zapewnia również mechanizmy oszczędzania energii. Cloud computing jest aktualnie jedynym środowiskiem do developmentu więc wszystkie nowe aplikacje są nim tworzone” – wyjaśnia Wojciech Ehrenfeld, Director of Public IT Services Department at Grupa Onet.pl.
Naprawdę fajny wpis. Gdzie odkryłeś te wszystkie informacje? Jestem pod wyjątkowym wrażeniem. Na pewno będę wizytował ową stronę nierzadko. Powodzenia w dalszym działaniu serwisu.
Wszystko dzięki wizycie na 6. Kongresie itSMF 🙂