Kısaca, genel sistemin iyiliği için programlarımıza, süreçlerimize ve konularımıza düşük seviyelerde ölüm tasarlamalı mıyız?
Arızalar olur. İşlemler ölür. Afeti planlıyoruz ve bazen ondan kurtarıyoruz. Ancak, nadiren öngörülemeyen program ölümü tasarlar ve uygularız. Hizmetlerimizin çalışma sürelerinin, çalışmalarını sürdürmeye özen gösterdiğimiz sürece devam edeceğini umuyoruz.
Bu konseptin makro örneği, bazı senaryolarda AWS örneklerini rastgele sonlandıran Netflix'in Kaos Maymunu'dur. Bunun, sorunları keşfetmelerine ve daha fazla gereksiz sistemler oluşturmalarına yardımcı olduğunu iddia ediyorlar.
Bahsettiğim şey daha düşük seviye. Fikir, geleneksel olarak uzun süre çalışan işlemlerin rastgele çıkması içindir. Bu, fazlalığı tasarıma zorlamalı ve sonuçta daha esnek sistemler üretmelidir.
Bu kavramın zaten bir adı var mı? Endüstride zaten kullanılıyor mu?
DÜZENLE
Yorum ve cevaplara göre, korkarım sorum açık değildi. Açıklık için:
- evet, rasgele demek istiyorum
- evet, üretimde demek istiyorum ve
- hayır, sadece test için değil.
Açıklamak için, çok hücreli organizmalara bir benzetme yapmak istiyorum.
Doğada organizmalar birçok hücreden oluşur. Hücreler fazlalık yaratmak için kendilerini çatallar ve sonunda ölürler. Fakat organizmanın çalışması için her zaman doğru türden yeterli hücre bulunmalıdır. Bu çok yedekli sistem aynı zamanda yaralandığında iyileşmeyi kolaylaştırır. Hücreler ölür böylece organizma yaşar.
Rasgele ölümün bir programa dahil edilmesi, büyük sistemi uygulanabilirlik konusunda fazlalık stratejileri kabul etmeye zorlar. Bu aynı stratejiler sistemin diğer öngörülemeyen başarısızlıklar karşısında istikrarlı kalmasına yardımcı olur mu?
Ve eğer biri bunu denediyse, buna ne denir? Zaten varsa, bunun hakkında daha fazla okumak istiyorum.