Canary Release: Yeni Sürümü Önce Küçük Bir Kullanıcı Grubuna Açmak
Sözlük

Canary Release: Yeni Sürümü Önce Küçük Bir Kullanıcı Grubuna Açmak

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Canary release'in ne olduğunu, trafiğin kademeli yeni sürüme nasıl yönlendirildiğini, hangi metriklere bakıldığını ve blue-green ile farkını öğrenin.

Canary release nedir?

Canary release, yeni sürümü herkese birden sunmak yerine önce küçük bir kullanıcı kesitine ulaştıran dağıtım stratejisidir. Adı, madenlerde zehirli gazı erken haber vermesi için götürülen kanaryadan gelir: küçük grup, olası sorunun erken uyarı işaretidir.

Yeni sürümde bir hata varsa yalnızca küçük kesit etkilenir ve sürüm hızla geri çekilir. Sorun görülmezse trafik payı kademeli olarak artırılır ve sonunda eski sürümün yerini yeni sürüm tamamen alır.

Canary release nasıl çalışır?

Mekanizma trafiği sürümler arasında bölmeye dayanır. Yük dengeleyici, servis ağı ya da Kubernetes'in ingress katmanı gibi bir bileşen, isteklerin belirli oranını yeni sürüme yönlendirir. Tipik akış:

  • Yeni sürüm, mevcut sürümün yanında ayrı bir örnek olarak ayağa kaldırılır.
  • Trafiğin küçük bir oranı yeni sürüme yönlendirilir.
  • Hata oranı, gecikme ve iş metrikleri sürümler arasında karşılaştırılır.
  • Değerler kabul sınırlarındaysa oran adım adım artırılır; değilse trafik eski sürüme döndürülür.
  • Tüm trafik yeni sürümdeyse eski sürüm kapatılır.

Kullanıcı kesiti rastgele seçilebileceği gibi belirli ölçütlerle de seçilebilir: iç çalışanlar, belirli bir bölge ya da gönüllü test kullanıcıları gibi.

Küçük bir örnek

Örneğin bir e-ticaret sitesinde ödeme akışı yeniden yazıldı. Yeni sürüm önce küçük bir trafik payına açılır. Ekip, ödeme başarı oranına, hata günlüklerine ve sayfa yanıt süresine bakar. Yeni sürümde sepet adımında beklenmeyen bir artış hatası görülürse trafik hemen eski sürüme döner ve sorun yalnızca küçük bir müşteri grubunu etkilemiş olur.

Metrikler temiz kalırsa oran kademeli yükseltilir. Her kademede bir bekleme süresi tanımlanır; çünkü bazı hatalar ancak belirli kullanım örüntüleri oluştuğunda ortaya çıkar.

Hangi metriklere bakılır?

Canary'nin değeri, karar verirken kullanılan metriklerin kalitesine bağlıdır. Genelde şu gruplar izlenir:

  • Teknik sağlık: hata oranı, yanıt süresi, kaynak tüketimi.
  • İş göstergeleri: dönüşüm, sipariş tamamlama, oturum süresi gibi sonuç ölçütleri.
  • Kullanıcı sinyalleri: destek taleplerinde artış, şikâyet ve uygulama çökme kayıtları.

Karşılaştırma yapılırken yeni sürüm yalnızca kendi geçmişiyle değil, aynı anda çalışan eski sürümle kıyaslanmalıdır. Bu sayede günün saatinden ya da kampanya yoğunluğundan kaynaklanan değişimler yeni sürüme yanlışlıkla yüklenmez. Olgun ekipler kıyaslamayı ve karar kurallarını otomatikleştirir.

Blue-green ve feature flag ile farkı

Blue-green dağıtımda birbirinin aynısı tam ortamlar bulunur; yeni sürüm yeşil ortamda hazırlanır ve trafik tek hamlede mavi ortamdan yeşile çevrilir. Geri dönüş hızlıdır, ama geçiş ani olduğu için sorun tüm kullanıcılara aynı anda ulaşır. Canary ise geçişi kademeli yapar ve riski bölüştürür.

Feature flag ise sürümün değil özelliğin kontrolüdür. Kod yayında olsa da özellik bayrakla kapalı tutulur ve belirli kullanıcılara açılır. Pratikte bu yaklaşımlar birlikte kullanılır: blue-green hızlı geri dönüş sağlar, canary riski dağıtır, feature flag ise dağıtım ile özelliği yayına açma kararını birbirinden ayırır.

Zorluklar ve nasıl öğrenilir?

Canary'nin zorlukları da vardır. Sürümlerin aynı anda çalışması, veritabanı şemasının her ikisiyle uyumlu olmasını gerektirir. Kullanıcı oturumlarının tutarlılığı için aynı kullanıcının aynı sürüme yönlendirilmesi gerekebilir. Küçük trafikte istatistiksel olarak anlamlı sonuç çıkması da zaman alabilir.

Mindset kataloğunda Sürekli Dağıtım Stratejileri (Blue-Green, Canary) programının modül başlıkları dağıtım riski ve strateji seçimi, mavi-yeşil dağıtım, canary dağıtım ve otomatik değerlendirme ile uyumluluk, veri ve işletim konularını içerir. Dağıtım Stratejileri: Blue-Green, Canary ve Feature Flag Yönetimi programı ayrıca feature flag altyapısı, trafik yönetimi ve kesinti senaryolarını ele alır.

İlgili Mindset programı

Sürekli Dağıtım Stratejileri (Blue-Green, Canary)

Sık sorulanlar

Sık sorulan sorular

Canary release ile A/B testi aynı şey midir?

Hayır. Canary release, yeni sürümün güvenli biçimde yayılmasını sağlayan bir dağıtım yöntemidir ve amacı hata riskini sınırlamaktır. A/B testi ise farklı tasarımların ya da özelliğin kullanıcı davranışı üzerindeki etkisini karşılaştıran deneydir. İkisi trafik bölme tekniğini paylaşsa da hedefleri farklıdır.

Canary dağıtımda geri alma nasıl yapılır?

Trafik payı yeni sürümden eski sürüme geri çevrilir. Eski sürüm hâlâ çalıştığı için işlem çok hızlıdır. Geri alma kararı elle verilebileceği gibi, hata oranı belirlenen eşiği aştığında otomatik de tetiklenebilir. Veritabanı değişiklikleri varsa bunların geriye uyumlu olması gerekir.

Küçük ekipler için canary gerekli mi?

Her ekipte şart değildir. Trafik azsa anlamlı karşılaştırma zordur ve basit yöntemler yeterli olabilir. Buna karşılık kesintinin maliyeti yüksekse küçük bir ekip bile sade bir canary süreciyle yayın riskini azaltabilir. Karar, sistemin kritikliğine ve izleme altyapısına bağlıdır.

Canary ve blue-green birlikte kullanılabilir mi?

Evet. Yeşil ortam hazırlanır, trafik önce küçük bir oranda yeşile yönlendirilir ve metrikler olumluysa oran artırılır. Sorun çıkarsa mavi ortam hemen devreye döner. Bu bileşim, blue-green'in hızlı geri dönüşü ile canary'nin kademeli riskini bir araya getirir.

Canary Release (Kanarya Dağıtımı) Nedir?