Prod düştüğünde, ilk içgüdü bozulan kod satırını, yanlış yapılandırılmış sunucuyu veya beklenmedik trafik artışını aramaktır. Ancak Tiny CTO'nun belirttiği gibi, asıl kök neden genellikle haftalar veya aylar önce bir toplantı odasında yaşanmıştır.
Bu bölüm aslında ne hakkında
Bu bölüm 'ani' çöküş yanılsamasını ele alıyor. Sistemler durduk yere bozulmaz; bir deadline'a yetişmek için tam olarak kırılgan olmalarını tasarladığımız yerden bozulurlar. Atlanan her load test, 'sayfalamayı daha sonra ekleriz' lafı ve 'veritabanı şimdilik bunu kaldırır' düşüncesi, ateşlenmeyi bekleyen küçük bir fitildir.
Teknik Çıkarım
Mimari, verdiğiniz tavizlerin toplamıdır. Tasarım aşamasında resilience (esneklik/dayanıklılık) yerine delivery (teslimat) hızını optimize ederseniz, geliştirme sırasındaki sürtüşmelerle uğraşmak yerine production'da kesintilerle uğraşmayı açıkça seçmiş olursunuz.
Gerçek Takımlarda Nasıl Görünür?
Bunu, MVP'yi yayına aldıkları için kutlama yapan ama stabilizasyon fazına asla öncelik vermeyen takımlarda görürsünüz. Backlog yeni feature talepleriyle dolarken, teknik borç biletleri P1 bir incident tetikleyene kadar çürümeye terk edilir.
Takımların dikkat etmesi gerekenler
Production'daki semptomların, planlama aşamasında göz ardı edilen uyarılarla ne kadar mükemmel bir şekilde eşleştiğine dikkat edin. Kesinti öngörülebilirdi ve bu nedenle önlenebilirdi.
Teknik Çıkarım
Production olayları, genellikle planlama sırasında kabul edilen teknik borcun gecikmiş infazıdır.
Gerçek Takımlarda Nasıl Görünür?
Bu pattern, product manager'ların ölçekleme, önbelleğe alma (caching) veya hata yönetimi gibi non-functional (işlevsel olmayan) gereksinimler için buffer ayırmadan hızlı teslimat için baskı yapmasıyla ortaya çıkar.
Sıkça Sorulan Sorular
Bu bölümdeki teknik ders nedir?
Ders, mimari tavizlerin zamanla birleşerek küçük 'geçici' kısayolları sistemik zayıflıklara dönüştürmesidir.
Bu problem neden production'da ortaya çıkar?
Çünkü test ortamları, gerçek kullanıcıların sisteme aynı anda yüklenmesinin yarattığı tam ölçeği, eşzamanlılığı (concurrency) ve kaosu nadiren kopyalayabilir.
Mühendislik ekipleri bu pattern'dan nasıl kaçınabilir?
Mimari karar kayıtlarını (ADR) benimseyerek, büyük feature'ları yayına almadan önce premortem'ler yaparak ve teknik borca sprint backlog'da birinci sınıf bir vatandaş gibi davranarak.