Skip to main content

> ep_001

Prod Aslında Altı Meeting Önce Düşmüştü

Tiny CTO, son prod kesintisinin anlık bir hata değil, geçmiş mimari kararların ve toplantı tavizlerinin öngörülebilir bir sonucu olduğunu açıklıyor.

ENTR

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.

AI Summary

Bu bölümde Tiny CTO, production kesintilerinin nadiren tek bir hata noktasından kaynaklandığını anlatıyor. Aksine, bu kesintiler biriken mimari tavizlerin, ertelenen teknik borçların ve aceleye getirilen feature teslimatlarının bir sonucudur. Teknik ders, bir olayın kök nedenini ilk planlama aşamalarına ve roadmap kararlarına kadar takip etmeye odaklanır.