TL; DR : Chaos Monkey , 2010 yılında Netflix'te geliştirildi ve 2012'de vahşi hale getirildi , sadık takipçileri arasında çılgınca popüler olan Simian Ordusunun bir parçası . Üzerine kurulmuş kaos ilkelerine mühendislik, ordu sistemine devamlı başarısızlığa enjekte ederek yetmezliğine karşı esneklik artar.
kavram
Chaos Monkey, bir Otomatik Ölçeklendirme Grubu içindeki örnekleri rastgele öldüreceği AWS için özel olarak geliştirilmiştir. Mühendislerin uyandığı ve keşfedilen arızalara hızlı bir şekilde tepki verebileceği mesai saatleri boyunca çalışması amaçlanmaktadır.
Simian Ordusu
Ordunun üyeleri başka yollarla kaos ekeceklerdi :
Latency Monkey, hizmetlere rastgele gecikmeler getirecek.
Kaos Gorilla (Kong) tüm müsaitlik bölgesinin kesilmesini simüle edecektir.
Diğer Maymunlar yardımcıdır ve sürünün zayıf üyelerini kaldırır:
Uygunluk Monkey, en iyi uygulamaları takip etmeyen örnekleri kapatır.
Güvenlik Monkey, yapılandırma ve hizmetlerdeki bilinen güvenlik açıklarını arar.
Doktor Monkey, belirli ölçümlere uymayan sağlıksız örnekleri kapatır.
Janitor Monkey, kullanılmayan kaynakların geri kazanılmasını istiyor.
Başarısızlık Kaçınılmazdır
Sistemdeki başarısızlık kaçınılmazdır, bir şeyler daima ters gidecektir . Neyi seçemeyebilirsiniz, ancak ne zaman seçmeyi deneyebilirsiniz. Gün boyunca küçük hatalar vererek mühendislerinizin hazır bulunmasını sağlarsınız. Uyumsuz hizmetleri hızlı bir şekilde öldürerek, arızaların konuşlandırmadan önce sık sık olmasını sağlarsınız. Çevreyi daha olumsuz hale getirerek, herhangi bir hizmetin üretime girmesinden çok önce sorunla karşılaşan geliştiriciler olacağını garanti edersiniz. Yeni servislerin eski servislere entegrasyon aşamasında arızalar hızlı bir şekilde görülecektir, fakat bu tamam, çünkü eski üretim hizmetleri zaten esnek.
Sığır evcil değil
Son zamanlarda herkes size söyleyecek : Sunucunuza evcil hayvan gibi davranmayın . Rakamlarda bir güç var ve herhangi bir başarısızlık noktası sistemi çökertecek. Sunucunuzu ne kadar iyi ayarlayabilir ve optimize edebilirsiniz, ne kadar becerikli bir donanıma sahip olursanız olun, ne kadar tutabilirseniz çalışın, küçük ölçeklenebilir örneklerin sürüsü için asla bir eşleşme olmayacaktır. Kaos Maymunu, tüm başarısızlık noktalarını ortadan kaldırmayı düşünmenizi önerir, çünkü er ya da geç, Maymun gelecek! Herkes başarısız olur ve Amazon S3'ün bile tahmin edilemeyen bir kesintisi oldu .
Anti-Kırılgan
Peki teorisi nedir ve neden işe yarıyor? Antifragile adlı kitabında Nassim Nicholas Taleb , kendini tanıyan sistemlerde yaşamanın, küçük bir rastgelelik seviyelerinden faydalanacağı ve aslında sıkıntı karşısında daha iyi olacağı bir kavramı anlatıyor. Bu tavlamaya benzer.
Ayrıca, bir sistemdeki parçaların kırılganlığının bütünün antiframilitesine geçtiği evrimsel bir yol tarif ediyor . Transfer iki seviyede gerçekleşir:
Küçük bir rastgele varyasyonla - değişiklik yapan geliştiriciler - çevreye en uygun olanı hayatta kalacak ve çoğalacak - testleri geçecek ve konuşlandırılacak . Standart Geliştirme Yaşam Döngüsü .
Ortamda daha büyük bir rasgele düzeye dayanamayan parçaların arızalanması nedeniyle, dayanabileceği kalan parçalar, bir bütün olarak değişen ortamla daha önce olduğundan daha iyi başa çıkabilen bir sistem oluşturur. Bu aslında Kaos Maymunu .
İkinci yaklaşım kullanılarak daha büyük rasgele seviyeler çekilebilir.