Sisteminiz Çökünce Daha Güçlü Uyanabilir mi?

Bir bilişim sisteminden genellikle güvenilir, hızlı ve kesintisiz olması beklenir. Sunucular susmasın, veritabanı tökezlemesin, kullanıcılar hata ekranıyla karşılaşmasın isteriz. Fakat gerçek dünya steril bir laboratuvar değildir: diskler bozulur, ağlar yavaşlar, trafik aniden yükselir, insanlar yanlış düğmeye basar. Bu nedenle asıl soru, sistemin stresten kaçıp kaçamayacağı değil, stresle karşılaştığında neye dönüşeceğidir. Kırılgan sistem darbe alınca bozulur; dayanıklı sistem darbeye rağmen aynı kalır; antikırılgan sistem ise darbe sayesinde öğrenir ve güçlenir.

Dayanıklılıktan fazlası

Antikırılganlık, her arızadan mucizevi biçimde kazanç çıkarmak değildir. Daha teknik bir ifadeyle sistemin hata sinyallerini bilgiye, bilgiyi de yapısal iyileştirmeye dönüştürebilmesidir. Bir servis çöktüğünde yalnızca yeniden başlatılıyorsa dayanıklılıktan söz ederiz. Çöküşün nedeni otomatik olarak saptanıyor, benzer yükler kontrollü biçimde yeniden üretiliyor ve mimari aynı hatanın etkisini küçültecek şekilde değiştiriliyorsa antikırılganlığa yaklaşırız. Arıza artık yalnızca düşman değil, pahalı fakat dürüst bir test uzmanıdır.

Aşil Deploy’a Yetişebilir mi? Zeno’dan Sürekli Entegrasyona Garip Bir Yarış

Zeno’nun paradoksları, insan zihnine atılmış eski ama hâlâ patlamaya hazır felsefi bombalardır. Aşil ile kaplumbağayı düşünün: Aşil daha hızlıdır, herkes bunu bilir. Fakat kaplumbağaya küçük bir avans verirsek, Aşil önce kaplumbağanın başladığı noktaya ulaşmak zorundadır. O sırada kaplumbağa biraz ilerler. Aşil o yeni noktaya vardığında kaplumbağa yine azıcık öndedir. Böylece mesafe küçülür, küçülür, küçülür; ama Zeno bize sinsi bir gülümsemeyle sorar: Aşil kaplumbağaya gerçekten ne zaman yetişir?

Modern matematik bu soruya limit kavramıyla cevap verir: Sonsuz sayıda adım olabilir, ama bu adımların toplamı sonlu bir değere yakınsar. Yani Aşil, teorik olarak sonsuz bölünmüş bir süreci yaşasa da pratikte kaplumbağayı yakalar. Paradoks, hareketin imkânsızlığını değil, zihnimizin süreklilik, zaman ve sonsuzluk karşısındaki tökezlemesini gösterir. İşte bu tökezleme, yazılım dünyasında şaşırtıcı biçimde tanıdıktır.