irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Her şey yolunda giderken sistemin çalıştığını bilmek kolaydır. Peki ya bir veri merkezi elektriksiz kalırsa? Ya da kritik bir mikroservis aniden yanıt vermeyi keserse? Geleneksel test yöntemleri "ne olacağını bildiğimiz" durumları test eder. Chaos Engineering (Kaos Mühendisliği) ise "ne olacağını bilmediğimiz" durumlarda sistemin nasıl tepki vereceğini anlamak için canlı sistemlere kasıtlı olarak zarar verme disiplinidir.
Bu akımın öncüsü, AWS bulut altyapısına geçiş sürecinde sistemin dayanıklılığını ölçmek isteyen Netflix olmuştur.
Netflix mühendisleri, sistemin sunucu kayıplarına karşı ne kadar dayanıklı olduğunu görmek için Chaos Monkey adını verdikleri bir araç geliştirdiler. Chaos Monkey'nin tek bir görevi vardır: Mesai saatleri içinde, canlı ortamdaki (production) rastgele sunucuları (instance) kapatmak!
Buradaki mantık şudur: Eğer sisteminizden rastgele bir parçanın her an kopabileceğini bilirseniz, yazılımınızı bu kopmaya hazırlıklı, yani "hata toleranslı" (fault-tolerant) inşa edersiniz.
Kaos uygulamak, etrafı rastgele yakıp yıkmak değildir. Bilimsel bir süreçtir:
Pek çok kişi "Neden test ortamında yapmıyoruz?" diye sorabilir. Ancak test ortamları asla canlı trafiğin karmaşıklığını, ölçeğini ve kullanıcı davranışlarını %100 yansıtamaz. Kaos Mühendisliği, gerçek dünyadaki belirsizlikleri test etmenin tek yoludur.
Kaos Mühendisliği, sistemlerinize zarar vermek için değil, o zarara karşı bağışıklık kazanmak için yapılır. "Her şey bir gün bozulacaktır" gerçeğini kabul edip, bu bozulma anını siz kontrol ettiğinizde, gerçek bir kriz anında pazar günü uykunuzdan uyanmak zorunda kalmazsınız.
Bu akımın öncüsü, AWS bulut altyapısına geçiş sürecinde sistemin dayanıklılığını ölçmek isteyen Netflix olmuştur.
Chaos Monkey Nedir? "Vahşi Bir Maymunu Serbest Bırakmak"
Netflix mühendisleri, sistemin sunucu kayıplarına karşı ne kadar dayanıklı olduğunu görmek için Chaos Monkey adını verdikleri bir araç geliştirdiler. Chaos Monkey'nin tek bir görevi vardır: Mesai saatleri içinde, canlı ortamdaki (production) rastgele sunucuları (instance) kapatmak!
Buradaki mantık şudur: Eğer sisteminizden rastgele bir parçanın her an kopabileceğini bilirseniz, yazılımınızı bu kopmaya hazırlıklı, yani "hata toleranslı" (fault-tolerant) inşa edersiniz.
Kaos Mühendisliğinin 5 Temel Adımı
Kaos uygulamak, etrafı rastgele yakıp yıkmak değildir. Bilimsel bir süreçtir:
- [] Kararlı Durumu Tanımlayın: Sistemin normal şartlar altındaki performansını ölçün (Örn: Hata oranı %0.1, yanıt süresi 200ms). [] Hipotez Kurun: "Eğer veritabanı yavaşlarsa, ana sayfa 1 saniye geç açılır ama çökmez" gibi bir varsayımda bulunun. [] Değişkenleri Tanıtın (Kaos Enjekte Edin): Sunucuları kapatın, ağ gecikmesi ekleyin veya disk alanını doldurun. [] Etkiyi Gözlemleyin: Hipoteziniz doğru çıktı mı? Sistem kendi kendini onarabildi mi?
- Ders Çıkarın ve Onarın: Zayıf noktayı bulun, düzeltin ve deneyi tekrar yapın.
Neden Canlı Ortamda Test Yapılır?
Pek çok kişi "Neden test ortamında yapmıyoruz?" diye sorabilir. Ancak test ortamları asla canlı trafiğin karmaşıklığını, ölçeğini ve kullanıcı davranışlarını %100 yansıtamaz. Kaos Mühendisliği, gerçek dünyadaki belirsizlikleri test etmenin tek yoludur.
| Özellik | Geleneksel Test (QA) | Kaos Mühendisliği |
|---|---|---|
| Odak | Doğru çıktı üretimi. | Sistem kararlılığı ve güvenilirlik. |
| Yöntem | Beklenen senaryolar. | Beklenmedik felaketler. |
| Ortam | Genellikle Test/Staging. | Öncelikle Production. |
Popüler Kaos Araçları
- [] Chaos Mesh: Kubernetes ortamları için güçlü bir kaos aracı. [] LitmusChaos: Bulut yerlisi (cloud-native) sistemler için açık kaynaklı platform. [] Gremlin: "SaaS" olarak sunulan, daha kontrollü ve güvenli kaos deneyleri sağlayan ticari araç. [] AWS Fault Injection Simulator (FIS): AWS kullanıcıları için yerleşik servis.
Sonuç
Kaos Mühendisliği, sistemlerinize zarar vermek için değil, o zarara karşı bağışıklık kazanmak için yapılır. "Her şey bir gün bozulacaktır" gerçeğini kabul edip, bu bozulma anını siz kontrol ettiğinizde, gerçek bir kriz anında pazar günü uykunuzdan uyanmak zorunda kalmazsınız.