Senior (L5)
⚡ÖZET VE TEKNİK CEVAP
Çoğu mühendislik ekibi acil durum kılavuzlarını (runbook) bir kez yazar ve unutulmuş wiki sayfalarında bırakır. Gerçek bir kriz patladığında ise kılavuzun güncelliğini yitirdiği, komut yetkilerinin bittiği, alarmların çalmadığı ve otomatik failover mekanizmasının kilitlendiği anlaşılır. Netflix ve AWS'in öncülük ettiği Kaos Tatbikatları (GameDay), teori ile pratik arasındaki bu uçurumu Planlı ve Kontrollü Arıza Enjeksiyonları ile kapatır:
1
Hipotez Tanımlama: 'Ana veritabanının ağını koparırsak, yedek veritabanı 30 saniye içinde liderliği devralacak ve API Gateway istekleri hissettirmeden yeniden deneyecektir'.
2
Arıza Enjeksiyonu: Chaos Mesh veya Gremlin kullanılarak mesai saatlerinde kontrollü paket kaybı veya sunucu çökmesi tetiklenir (acil durdurma butonu hazır tutulur).
3
Kılavuz ve İzleme Doğrulaması: Alarmların doğru çalıp çalmadığı, panellerin arızayı gösterip göstermediği ve kılavuzdaki adımların eksiksiz çalıştığı test edilir.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
MekanizmaKaos Tatbikatı (GameDay) 5 adımlı bir yaşam döngüsüyle yürütülür:
1
Senaryo Seçimi: Gerçekçi bir arıza senaryosu seçilir (ör. AWS Kullanılabilirlik Alanının çökmesi).
2
Etki Alanını Sınırlama: Güvenlik bariyerleri kurulur (arıza sadece %10'luk canary trafiğine enjekte edilir).
3
Canlı İzleme Doğrulaması: Nöbetçi mühendis hangi sunucunun çöktüğü söylenmeden panellerden arızayı tespit etmeye çalışır.
4
Kılavuz Testi: Mühendis resmi acil durum kılavuzundaki adımları adım adım canlıda uygular.
5
Eksiklerin Kaydedilmesi: Tespit edilen eksikler (yanıltıcı alarmlar, yetki hataları) P1 öncelikli teknik borç biletlerine dönüştürülür.
🎯2. Doğru Kullanım Senaryosu
KapsamCanlıya çıkış öncesi operasyonel hazırlık testleri, felaket kurtarma tatbikatları, yeni nöbetçi mühendis alıştırma eğitimleri ve büyük indirim günlerine hazırlık.
⚠️3. Prodüksiyon Arıza Modları
Kritik Risk- ✓Acil durdurma (Rollback/Abort) mekanizması hazırlamadan canlıda kaos deneyi yapıp tatbikatı kontrolsüz bir müşteri felaketine dönüştürmek
- ✓izleme ve metrik temeli olmadan körlemesine kaos enjekte etmek
📡4. Teşhis ve Telemetri Sinyalleri
Metrikler- ✓Acil durum kılavuzlarında 2 yıl önce kapatılmış sunucu isimlerinin yer alması
- ✓gerçek bir kriz anında mühendislerin doğru izleme panelini bulmasının 40 dakika sürmesi
- ✓otomatik failover mekanizmasının canlıda hiç test edilmemiş olması
🛡️5. Önleme ve Mimari Bariyerler
Bariyerler- ✓Tüm ana mühendislik takımlarında 3 ayda bir Kaos Tatbikatı (GameDay) yapılmasını zorunlu kılın
- ✓kaos araçlarına tek tıkla tatbikatı iptal eden acil kapatma butonları ekleyin
- ✓kılavuz güncellemelerini nöbet devirlerine bağlayın
⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimKaos Tatbikatları gizli mimari açıkları yakalar ve mühendislik reflekslerini geliştirir; ancak canlı müşteri trafiğini korumak için sıkı güvenlik sınırları ve zaman yatırımı gerektirir.
📋
GERÇEK DÜNYA TELEMETRİSİVaka İncelemesi (TinyCTO Saha Örneği)
Büyük indirim haftasından önce bir e-ticaret ekibi ana Redis kümesinin çökmesini simüle eden bir Kaos Tatbikatı (GameDay) düzenledi. Kılavuza göre uygulamanın önbellek çöktüğünde doğrudan veritabanına hissettirmeden geçmesi gerekiyordu. Salı günü saat 14:00'te Redis kapatıldığında, uygulamanın beklenmeyen bir
NullPointerException fırlatarak tüm API Gateway pod'larını 4 saniyede çökerttiği görüldü. Deney kontrollü yapıldığı ve acil durdurma butonu hazır olduğu için hiçbir müşteri etkilenmedi. Ekip hatayı düzeltti ve devre kesici (circuit breaker) ekleyerek indirim gününde yaşanacak $1.2M'lik gerçek bir felaketi önledi.İnteraktif Konsept Alıştırmaları
2 AlıştırmaQ1
Kaos Mühendisliği Tatbikatının (GameDay) temel amacı nedir?
Gerçek krizler yaşanmadan önce hipotezleri doğrulamak, otomatik kendini onarma mekanizmalarını test etmek, mühendislik reflekslerini eğitmek ve kılavuzların doğruluğunu kanıtlamak için sisteme kontrollü arızalar enjekte etmektir.
Q2
Canlı ortamda bir kaos deneyi çalıştırmadan önceki en kritik güvenlik şartı nedir?
Deneyi saniyeler içinde anında durduran ve sistemi sağlıklı taban durumuna geri döndüren test edilmiş acil iptal (Emergency Abort) mekanizmasıdır.
Direnç Mühendisliği: Kaos Tatbikatları (GameDay), Sentetik Arıza Enjeksiyonu ve Kılavuz Doğrulama — Sıkça Sorulan Sorular
Sürekli çalışan Chaos Monkey ile planlı Kaos Tatbikatı (GameDay) arasındaki fark nedir?
Chaos Monkey arka planda rastgele sunucuları kapatarak yazılımın otomatik kendini toparlamasını test eder; GameDay ise mühendislerin simüle edilmiş arızalar karşısında kriz yönetimini ve kılavuzları birlikte uyguladığı planlı bir insan tatbikatıdır.
Bir GameDay tatbikatı için arıza senaryosu nasıl seçilir?
Geçmiş postmortem raporlarını, mimari şemalardaki tek arıza noktalarını (SPOF) veya kritik harici bulut bağımlılıklarını (AWS bölge çökmesi, DNS arızası, veritabanı failover'ı) inceleyerek.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Kaos Tatbikatları kontrollü arıza enjeksiyonlarıyla direnç hipotezlerini test eder.
- ▸Deneyleri başlatmadan önce mutlaka test edilmiş bir Acil Durdurma butonu kurun.
- ▸Acil durum kılavuzlarının, alarmların ve panellerin simülasyonu doğru yansıttığını doğrulayın.
- ▸Tatbikatta tespit edilen tüm açıkları P1 öncelikli teknik borç görevlerine dönüştürün.
Yaygın Yanılgılar
- ✗Yanılgı: Kaos mühendisliği ne olacağını görmek için canlıyı şuursuzca kırmak demektir (Gerçek: Kaos mühendisliği sıkı güvenlik sınırları olan disiplinli bilimsel bir yöntemdir).
- ✗Yanılgı: Wiki'ye bir kılavuz yazmak ekibin krize hazır olduğu anlamına gelir (Gerçek: Canlıda tatbik edilmemiş bir kılavuz gerçek krizde neredeyse her zaman işe yaramaz).
Karar Kılavuzu & Önceliklendirme
Gerçek canlı kesintiler yaşanmadan önce acil durum kılavuzlarını doğrulamak ve mühendislik reflekslerini eğitmek için kontrollü Kaos Tatbikatları (GameDay) düzenleyin.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]AWS Well-Architected Reliability Pillar: Testing for Reliability with Chaos GameDays— Amazon Web Services Whitepapers
