Skip to main content

> kaos_mühendisliği_oyun_günleri_(game_days)_ve_canlı_yangın_tatbikatları

Kaos Mühendisliği Oyun Günleri (Game Days) ve Canlı Yangın Tatbikatları

Mühendislik ekipleri, kontrollü canlı ortam 'Oyun Günü' (Game Day) kaos simülasyonlarını (ör. ana veritabanını kapatma veya bulut bölge gecikmesi simülasyonu) nasıl güvenle planlar ve yürütür?

Staff/Principal (L6+)

ÖZET VE TEKNİK CEVAP

Çoklu bölge veritabanı yedeğinin veya devre kesicilerin (circuit breaker) gerçekten çalışıp çalışmadığını gece saat 3'te gerçek bir kriz anında öğrenmeyi beklemek en tehlikeli operasyonel kumardır. Netflix Chaos Monkey ve AWS GameDay pratikleriyle doğan Kaos Mühendisliği, sistemdeki gizli mimari açıkları gerçek bir felaket yaşanmadan önce ortaya çıkarmak için kontrollü yapay arızalar enjekte eder. Yapılandırılmış bir 'Oyun Günü' (Game Day) planlı bir yangın tatbikatıdır: Ekip bir hipotez kurar ('A Bölgesi çökerse, yük dengeleyici trafiği 30 saniyede <%0,1 hatayla B Bölgesine aktaracaktır'), kesin bir Etki Alanı Sınırı (Blast Radius) ve Acil Durdurma Butonu (Stop-Button) tanımlar, arızayı enjekte eder (Chaos Mesh, Gremlin), telemetriyi izler ve sistemi güçlendirecek aksiyonları çıkarır.

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Profesyonel bir Oyun Günü 5 aşamalı Kaos Mühendisliği döngüsünü izler: (1) Kararlı Durum Hipotezi Kurma: Normal sistem metriklerini tanımlayın (ör. %99,95 başarı, p95 < 150 ms). (2) Etki Alanı ve Acil Durdurma Şartları: Testi anında iptal edecek kırmızı çizgiyi belirleyin (ör. `Müşteri hata oranı %1'i geçerse veya 2 dakikayı aşarsa Durdur Butonuna bas`). (3) Arıza Enjeksiyonu: Chaos Mesh veya AWS FIS ile ana veritabanını kapatın, 500 ms ağ gecikmesi verin veya Redis kümesini kordon altına alın. (4) Otomatik Toparlanmayı İzleme: Otomatik failover, ölçekleme ve devre kesicilerin sistemi kendi kendine kurtarıp kurtarmadığını izleyin. (5) İyileştirme: Ortaya çıkan beklenmedik zincirleme hatalar için mühendislik biletleri açın.

2. Doğru Kullanım Senaryosu

Çok bölgeli (multi-region) mimariler, Kubernetes küme dayanıklılık testleri, veritabanı felaket kurtarma doğrulamaları ve kritik sezonluk trafik patlamalarına hazırlık.

3. Prodüksiyon Arıza Modları

Acil durdurma butonu olmadan canlıda kaos deneyi yapılması sonucu kontrolden çıkan arızanın 4 saat boyunca gerçek müşteri ödemelerini kilitlemesi; nöbetçi mühendislere ve müşteri destek ekibine haber vermeden gizli kaos testi çalıştırmak.

4. Teşhis ve Telemetri Sinyalleri

Mühendislerin otomatik veritabanı yedeğine ve felaket kurtarma dokümanlarına hiç güvenmemesi; gerçek bir krizde yedek veritabanının şifresinin yanlış olduğunun ve hiçbir zaman trafiği devralamayacağının ortaya çıkması.

5. Önleme ve Mimari Bariyerler

Oyun Günlerini canlıya taşımadan önce mutlaka test ve staging ortamlarında başlatın; tek görevi iş metriklerini izleyip en ufak sorunda 'Durdur' butonuna basmak olan bir 'Geri Alma Sorumlusu' atayın; tatbikatları tüm ekibin hazır olduğu mesai saatlerinde yapın.

6. Mimari Ödünleşimler (Trade-offs)

Oyun Günleri ekipler arası koordinasyon ve kontrollü küçük bir operasyonel risk taşır; ancak felaket kurtarma otomasyonlarının gerçekten çalıştığını garanti etmenin dünyadaki tek kesin yoludur.

Vaka İncelemesi (TinyCTO Örneği)

Bir video platformu Redis önbellek çökmesini test etmek için Oyun Günü düzenledi. Hipotez, veritabanının önbellek yokluğunu zarafetle idare edeceği yönündeydi. Chaos Mesh ile Redis kapatıldığında, veritabanı 20 saniyede bağlantı havuzunu tüketerek çöktü. Geri Alma Sorumlusu durdur butonuna basarak sistemi 45 saniyede toparladı. Ekip bu tatbikat sayesinde önbellek erken yenileme ve istek birleştirme (request collapsing) kalkanlarını yazdı; nitekim 2 ay sonra Redis canlıda çöktüğünde sistem tek bir hata bile vermeden ayakta kaldı.

İnteraktif Konsept Alıştırmaları

2 Alıştırma
Q1

Kaos Mühendisliğinin (Chaos Engineering) temel tanımı nedir?

Sistemin canlı ortamdaki beklenmedik çalkantılara ve arızalara dayanma kapasitesine güven kazanmak için kontrollü deneyler yapma disiplinidir.
Q2

Kaos Oyun Gününde 'Acil Durdurma Butonu' (Stop Button / Abort Condition) nedir?

Hata oranının belirlenen eşiği (ör. >%1) aşması durumunda kaos enjeksiyonunu derhal iptal edip sistemi normale döndüren güvenlik mekanizmasıdır.

Kaos Mühendisliği Oyun Günleri (Game Days) ve Canlı Yangın Tatbikatları — Sıkça Sorulan Sorular

Kaos Mühendisliği deneyleri yalnızca staging/test ortamlarında mı çalıştırılmalıdır?

Hayır. Deneyler önce staging'de başlamalıdır; ancak gerçek dayanıklılık canlı ortamda test edilmelidir çünkü test ortamları gerçek kullanıcı trafiğini ve veri hacmini asla birebir yansıtamaz.

Kaos Mühendisliği deneylerini çalıştırmak için yaygın olarak hangi araçlar kullanılır?

Chaos Mesh (Kubernetes için), Gremlin, AWS Fault Injection Simulator (FIS) ve LitmusChaos.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Chaos Engineering injects controlled failures to verify automated recovery before real outages.
  • A formal Game Day requires a hypothesis, defined blast radius, and an instant Stop Button.
  • Always appoint a dedicated Rollback Czar to monitor user SLOs during the drill.
  • Start experiments in staging/canary before running controlled production simulations.

Yaygın Yanılgılar

  • Yanılgı: Chaos engineering means randomly breaking production without warning (Gerçek: It is a disciplined scientific experiment with strict guardrails).
  • Yanılgı: Chaos engineering is only for Netflix/Amazon scale (Gerçek: Any team running microservices or databases benefits from failover testing).

Karar Kılavuzu & Önceliklendirme

Schedule a quarterly Chaos Game Day starting with primary database failover testing. Implement Chaos Mesh or AWS FIS with automated rollback triggers.

Doğrulanmış Kaynaklar & Referanslar