← Makaleler'e dön

Çıkarılan Dersler

36 mühendislik olay hikâyesi ve çıkarılan dersler.

Mühendislerimizden ve sektörden derlenen bu 36 hikâye Redis çöküşlerini, pişman olunan mikroservis kararlarını, bulut maliyet sürprizlerini ve Kubernetes arızalarını anlatıyor — ve her birinin öğrettiklerini.
Önbellekleme #1

Aşırı Yüklenen Redis Cache'i Veritabanını Öldürdü

Bir trafik sıçraması Redis'i %100 CPU'ya itti, istemciler timeout'ları cache miss saydı ve oluşan izdiham veritabanımızı 30 saniyede öldürdü.

Oku →
Önbellekleme #2

Redis noeviction: Yazmalar Durduğunda

noeviction'lı Redis maxmemory'de çökmez — yazmaları reddeder. Bizimki, cache ve oturumlar aynı instance'ı paylaştığı için oturumları ve ödemeleri düşürdü.

Oku →
Önbellekleme #3

Bayat Cache Verisi Felaketi

Bir promosyon veritabanında bitti ama cache'te dört saat daha yaşadı. Eski fiyattan 327 sipariş ve yaklaşık $49K hediye edildi. Yine cache invalidation.

Oku →
Önbellekleme #4

Cache Invalidation: İki Zor Ders

İki üretim cache olayı — bir kullanıcının verisini herkese sunan bir cache anahtarı ve kimsenin izleyemediği bir invalidation fan-out'u. Neleri değiştirdik.

Oku →
Önbellekleme #5

Çok Katmanlı Cache Arızası

L1, L2 ve L3 cache ekledik. Artık verinin yanlış olabileceği 1 yerine 3 yerimiz var.

Oku →
Önbellekleme #6

Rate Limiter Redis Çökmesi

Rate limiter'ımız durumunu Redis'te tutuyordu. Redis düşünce fail-open'a geçti ve o ana kadar elediği trafik doğrudan API'ye aktı.

Oku →
Önbellekleme #7

Oturum Deposunun Redis'e Taşınması

Yatay ölçekleme için oturumları Redis'e taşıdık; varsayılanın bellek-içi olduğunu unuttuk. Tek bir restart 50.000 kullanıcının oturumunu kapattı. Gerçek çözüm.

Oku →
Bulut #8

Spot Instance Black Friday Felaketi

Maliyeti düşürmek için %100 spot çalıştık. Black Friday'de AWS 50 instance'ı aynı anda geri aldı ve AZ'mizde boş kapasite yoktu. Spot ekonomisi, dürüstçe.

Oku →
Bulut #9

$50.000'lık CloudWatch Loglama Faturası

Her şeyi loglama alışkanlığı ve unutulmuş tek bir debug satırı nasıl $50.000'lık bir CloudWatch ayı üretti — tutan hesap ve faturayı $3.200'e indiren çözümler.

Oku →
Bulut #10

Kimsenin Kullanmadığı Multi-Region Replikasyon

Üç bölgeli veritabanı replikasyonu sıfır failover testiyle ayda $8.000 tuttu. Nasıl $1.200'e indirip sessiz riski test edilmiş 4 saatlik RTO ile takas ettik.

Oku →
Bulut #11

Staging Üretimden Daha Pahalı

Staging ortamımız üretimden daha pahalıya mal oluyor. Geceleri ve hafta sonları kimse kullanmıyor ama 7/24 ödüyoruz.

Oku →
Bulut #12

VPC Egress Ücretleri Sürprizi

AWS faturamız neden bu kadar yüksek? Neredeyse hiç compute kullanmıyoruz. Cevap: NAT Gateway veri işleme ücretleri.

Oku →
Kubernetes #13

Veritabanını Çökerten Autoscaling

Kubernetes HPA pod'ları 5'ten 50'ye çıkarıp PostgreSQL'i max_connections üstünde restart fırtınasına soktu. Çözüm: PgBouncer pool modları ve HPA hız limitleri.

Oku →
Kubernetes #14

Yalan Söyleyen Health Check'ler

Pod'lar trafik sunamazken sağlıklı görünüyordu — sonra bağımlılık kontrol eden liveness probe restart fırtınası yarattı. Liveness ve readiness, doğru haliyle.

Oku →
Kubernetes #15

ConfigMap Yazım Hatası Kesintisi

Kubernetes ConfigMap'inde yanlış yazılmış tek bir anahtar üretimi iki saat düşürdü. Neden hiçbir şey doğrulamadı ve açılışta nasıl hızlı başarısız olunur.

Oku →
Kubernetes #16

47 CVE'li Docker İmajı

Güvenlik denetimi, 18 ay önce build edilmiş üretim imajında 47 bilinen CVE buldu. Tarama, sürüm sabitleme ve düzenli rebuild'ler imajları nasıl temiz tutar.

Oku →
Kubernetes #17

Aslında Olmayan Yüksek Erişilebilirlik

Üç node'da üç replica yüksek erişilebilir görünüyordu — ta ki her node'un us-east-1a'da olduğunu fark edene kadar. Zone spread kısıtları, doğru haliyle.

Oku →
Kubernetes #18

AZ'ler Arası Trafik Fatura Şoku

Üç AZ'ye yayılmış geveze mikroservisler AZ'ler arası veri transferine sessizce ayda ~$8K ekledi. Hesabı ve topology-aware routing'in bunu %60 nasıl düşürdüğü.

Oku →
Kubernetes #19

Pod Eviction Kaskadı

Bir node disk eviction eşiğini aştı, tüm pod'ları tahliye etti, sonra hepsini geri aldı. Eviction döngüsü nasıl işler ve onu kıran limitler hangileri.

Oku →
Kubernetes #20

Ingress Controller: Tek Hata Noktası

Her biri üç replikalı yirmi servis, hepsi tek bir ingress-nginx pod'unun arkasında. Tek bir OOMKill tüm servisleri devre dışı bıraktı. Çözüm dört satır Helm.

Oku →
Mikroservisler #21

Yanlış Nedenlerle Mikroservis

Günlük 50 kullanıcı ve dört kişilik ekip için on iki deployable. Gerçek maliyetler — bus factor, kalıcı nöbet, aylık $3K altyapı — ve bunun yerine ne kurmalı.

Oku →
Mikroservisler #22

Mikroservis Konsolidasyonu Ters Gidince

10 mikroservisi 3'e birleştirmek altı hafta değil altı ay sürdü. Gizli asenkron bağımlılıklar, mükerrer veri sahipliği ve işe yarayan ters strangler.

Oku →
Mikroservisler #23

Veritabanı Hariç Her Şeyi Ölçeklemek

20 servisimizi harika ölçekledik. Hepsi max_connections=100 olan aynı PostgreSQL instance'ına vuruyordu.

Oku →
Mikroservisler #24

Kubernetes'e 20.000 İş Yükü: Post-Mortem

20.000 mikroservis diye sunulan filo aslında 20.000 instance'daki 900 servisti. Kubernetes'e lift-and-shift neden başarısız oldu ve bunun yerine ne işe yarar.

Oku →
Mikroservisler #25

Monoliti Çok Hızlı Bölmek

Monolitimizi 3 ayda mikroservislere böldük. Sonra yanlış çizdiğimiz sınırları düzeltmek için 2 yıl harcadık.

Oku →
Mikroservisler #26

Kısmi Arıza Cehennemi

Sekiz servisten birinin yarı yarıya arızalanması tüm ürünü kullanılamaz yaptı. Kısmi arıza neden tam kesintiden kötüdür ve bunu çözen desenler.

Oku →
Mikroservisler #27

1K'dan 10K RPS'e Karmaşıklık Patlaması

Saniyede 1K'dan 10K isteğe ölçeklenmek bağlantı havuzlarımızı, timeout bütçelerimizi ve log faturamızı kırdı. Ne bozuldu, sinyaller ve çözümler.

Oku →
Mikroservisler #28

Mikroservisler Organizasyoneldi

Mikroservis mimarimiz organizasyon şemamızı birebir yansıtıyordu. Reorganizasyon gelince her şey bozuldu.

Oku →
Mimari #29

Blue-Green Konfigürasyon Kayması

Yalnızca blue'da değiştirilen bir feature flag cutover'da sessizce geri döndü. Config'i Git ile paylaşımlı flag servisine bölmek drift'i nasıl durdurdu.

Oku →
Mimari #30

Lambda Cold Start'ları: P99'umuzu Düzeltmek

Java Lambda'mızın P99'u cold start'larda 8 saniyeydi. 2026'da gerçekten işe yarayanlar — SnapStart, küçük paketler — ve unutmamız gereken eski VPC tavsiyesi.

Oku →
Mimari #31

Service Mesh Ek Yükü: Neyi Yanlış Yaptık

Hop başına 15ms için Istio'yu suçladık; asıl suçlu kaynaksız sidecar'lardı. Gerçekçi mesh ek yükü rakamları, ambient ve eBPF seçenekleri, mesh ne zaman değer.

Oku →
Mimari #32

Serverless Lock-In Gerçeği

AWS serverless'a tamamen yatırım yaptık. Şimdi GCP'ye geçiş 18 ay sürer. Bu gerçekten bir sorun mu?

Oku →
Mimari #33

Blue-Green Veritabanı Kâbusu

Yıkıcı bir şema migrasyonu olayın ortasında rollback'i imkânsız kıldı. Üç release'e yayılan expand/contract örneği blue-green'i geri alınabilir tutar.

Oku →
Mimari #34

Gecikme Ekleyen Cache

İstekleri hızlandırmak için Redis cache ekledik. %3 hit rate ile her isteği yavaşlattı. Her ekibin önce yapması gereken cache-fayda hesabı.

Oku →
Mimari #35

CRUD için Event Sourcing

500 kullanıcılı bir CRUD uygulaması için event sourcing kurduk: dört ay altyapı, iki hafta özellik. Desen maliyetini ne zaman hak eder — ne zaman etmez.

Oku →
Mimari #36

Yatay Ölçekleme Darboğazı

50 instance'a ölçeklendik ve darboğaz yalnızca yer değiştirdi: uygulama, sonra veritabanı, load balancer, kuyruk. İşe yarayan uçtan uca kapasite planlaması.

Oku →