
Sıfır kesintili dağıtım artık bir lüks değil, temel beklenti. Peki iki yaygın stratejiden hangisi sizin için doğru? Cevap büyük ölçüde hata yapmanın maliyetine bağlı.
Mavi-yeşil dağıtım
İki özdeş ortam çalışır. Yeni sürüm boştaki ortama kurulur, test edilir ve trafik tek hamlede oraya çevrilir.
Güçlü yanı: Geri dönüş saniyeler sürer — yönlendirmeyi geri alırsınız, bitti. Bu, kritik sistemlerde paha biçilmez.
Zayıf yanı: Altyapı maliyeti iki katına çıkar. Ayrıca sorun ancak tüm kullanıcılar yeni sürüme geçtikten sonra ortaya çıkar; yani hatadan herkes etkilenir.
Kanarya dağıtım
Trafiğin küçük bir yüzdesi (örneğin %5) yeni sürüme yönlendirilir. Metrikler iyiyse oran kademeli artırılır.
Güçlü yanı: Hata en fazla küçük bir kullanıcı grubunu etkiler. Ek altyapı maliyeti düşüktür.
Zayıf yanı: İyi bir metrik altyapısı olmadan çalışmaz. "İyi görünüyor" diyerek ilerlerseniz kanarya olmaz, yavaş çekim felaket olur.
Otomatik karar
Kanaryanın değeri, ilerleme kararının otomatik verilmesinde. Şu eşikleri önceden tanımlayın:
- Hata oranı mevcut sürümden %1'den fazla yüksekse geri al.
- p95 gecikme %20'den fazla arttıysa geri al.
- 10 dakika sorunsuzsa oranı %25'e çıkar.
Asıl zor kısım: veritabanı
Her iki strateji de uygulama katmanını çözer; asıl risk şema değişikliklerindedir. Eski ve yeni sürüm bir süre aynı anda çalışacaksa şema ikisiyle de uyumlu olmalı.
Genişlet-daralt yöntemi işe yarar:
- Yeni kolonu ekle (eski sürüm görmezden gelir).
- Yeni sürümü çıkar, her iki kolona da yaz.
- Geçmiş veriyi doldur.
- Okumayı yeni kolona çevir.
- Tüm sürümler geçtikten sonra eski kolonu düşür.
Kolon silmek ve yeniden adlandırmak, dağıtım stratejinizden bağımsız olarak en tehlikeli işlemlerdir.
Pratikte ne yapıyoruz?
Kritik finansal sistemlerde mavi-yeşil, diğer durumlarda metriğe bağlı otomatik kanarya. Her iki durumda da geri dönüş tatbikatını düzenli yapıyoruz — çünkü hiç denenmemiş bir geri dönüş planı, plan değildir.


