Blue-Green (Mavi-Yeşil) Dağıtım Nedir ve Canary'den Farkı Nedir?
Sözlük

Blue-Green (Mavi-Yeşil) Dağıtım Nedir ve Canary'den Farkı Nedir?

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

Blue-green deployment (mavi-yeşil dağıtım) nedir, nasıl çalışır? Kesintisiz yayın, geri dönüş ve canary dağıtımdan farkını örnekle öğrenin.

Mavi-yeşil dağıtım nedir?

Mavi-yeşil dağıtım (blue-green deployment), yeni yazılım sürümünü canlıdaki sürümü bozmadan yayına almak için iki özdeş ortam kullanan dağıtım stratejisidir. Ortamlardan biri (mavi) gerçek kullanıcı trafiğini karşılar; diğeri (yeşil) yeni sürümle hazırlanır ve sınanır. Hazır olduğunda trafik tek bir anahtarlamayla yeşil ortama yönlendirilir.

Temel kazanım iki noktadadır: yayın sırasında kullanıcı kesinti yaşamaz ve bir sorun çıkarsa trafiği eski ortama geri çevirmek saniyeler sürer, çünkü eski sürüm hâlâ ayaktadır. Dağıtım riski, dağıtımı bir geri alınabilir bir anahtarlamaya indirgeyerek azaltılır.

Nasıl çalışır?

Akış adım adım şöyledir:

  • Mevcut sürüm mavi ortamda çalışır ve tüm trafiği alır.
  • Yeni sürüm, aynı yapılandırmaya sahip yeşil ortama kurulur. Bu ortam henüz kullanıcıya açık değildir.
  • Yeşil ortamda duman testleri, entegrasyon testleri ve gerekirse sentetik kullanıcı testleri çalıştırılır.
  • Sağlık kontrolleri geçerse yük dengeleyici ya da yönlendirici trafiği mavi ortamdan yeşile çevirir.
  • Bir süre izlenir; sorun yoksa mavi ortam yedek olarak bekletilir ya da bir sonraki sürüm için hazırlanır. Sorun varsa trafik mavi ortama geri alınır.

Bu akış, trafik anahtarının güvenilir ve hızlı çalışmasına ve iki ortamın birbirine denk olmasına dayanır.

Canary dağıtım nedir, farkı ne?

Canary dağıtımda yeni sürüm bütün kullanıcılara bir anda açılmaz; önce küçük bir kullanıcı kesitine sunulur, izleme sonuçları iyiyse pay kademeli olarak artırılır. Madenci kanaryasından gelen ad, küçük bir grubun erken uyarı vermesini anlatır.

İki yaklaşımın farkını ölçütlerle görmek kolaylaşır:

  • Trafik geçişi: Mavi-yeşilde anahtarlama tek adımdır. Canary'de kademelidir.
  • Risk: Mavi-yeşilde hata varsa, geçişten sonra tüm kullanıcı etkilenir ama geri dönüş çok hızlıdır. Canary'de hata yalnızca küçük gruba yansır.
  • Altyapı maliyeti: Mavi-yeşil iki tam ortam gerektirir. Canary'de mevcut ortama ek sınırlı kapasite yeterli olabilir.
  • Gerçek kullanıcı verisi: Canary, gerçek trafikte erken ölçüm sağlar. Mavi-yeşil geçişten önce yalnızca test trafiğiyle sınama yapar.

Küçük bir örnek

Örneğin bir ödeme servisi yeni bir sürümle güncelleniyor. Ekip yeni sürümü yeşil ortama kurar, test kartlarıyla ödeme akışını denetler ve ardından trafiği yeşile çevirir. İlk dakikalarda hata oranı ve yanıt süresi panelden izlenir. Ödeme hatası artarsa trafik anında maviye döner ve hatalı sürüm incelenir.

Aynı ekip riski daha da düşürmek isterse trafiğin önce küçük bir kısmını yeşile verebilir. Bu, mavi-yeşil ile canary yaklaşımlarının birleşimidir ve pratikte sık kullanılır.

Dikkat edilmesi gereken zorluklar

Veritabanı şeması mavi-yeşilin en zor noktasıdır. İki ortam aynı veritabanını kullanıyorsa, şema değişikliği her iki sürümle de uyumlu olmalıdır; aksi halde geri dönüş mümkün olmaz. Bunun çözümü, değişiklikleri geriye uyumlu adımlara bölmek ve yeni sürüm yalnızca eklemeler içerecek şekilde ilerlemektir.

Diğer zorluklar: oturum ve önbellek durumunun ortamlar arasında taşınması, uzun süren işlemlerin geçiş anında kesilmesi, ve iki ortamı aynı tutmanın maliyeti ile yapılandırma kaymasıdır. Altyapı kodu ve otomasyon bu yüzden zorunludur; ortamlar elle kurulursa denklik zamanla bozulur.

Özellik bayrakları ile birlikte kullanım

Dağıtım (kodun ortama yerleşmesi) ile yayın (özelliğin kullanıcıya açılması) farklı kararlar olabilir. Özellik bayrakları (feature flag) bu ikisini ayırır: kod, bayrak kapalı olarak yeşil ortama dağıtılır, özellik ise ayrı bir anahtarla kademeli açılır. Böylece mavi-yeşil geçişi altyapı düzeyinde güvenliği sağlarken, özellik bayrağı ürün düzeyinde risk yönetimi sağlar.

Mindset programlarında dağıtım stratejileri

Mindset kataloğundaki Sürekli Dağıtım Stratejileri (Blue-Green, Canary) eğitimi dağıtım riskini ve strateji seçimini, mavi-yeşil dağıtımı, canary dağıtımı ve otomatik değerlendirmeyi işler. Dağıtım Stratejileri: Blue-Green, Canary ve Feature Flag Yönetimi eğitimi ise bunlara feature flag altyapısı, trafik yönetimi ve test desenleri ile kesinti senaryolarını ekler.

İlgili Mindset programı

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

Sık sorulanlar

Sık sorulan sorular

Blue-green deployment'ın en büyük avantajı nedir?

Yayın sırasında kesinti olmaması ve sorun çıktığında trafiği eski ortama hızla geri çevirebilmektir. Eski sürüm ayakta kaldığı için geri dönüş yeniden dağıtım gerektirmez, yalnızca yönlendirmeyi değiştirmek yeterlidir.

Mavi-yeşil dağıtımın maliyeti neden daha yüksektir?

Aynı anda iki tam ortam bulundurmak gerekir; yeni sürüm hazırlanırken eski sürüm de çalışmaya devam eder. Bulut ortamlarında yeşil ortam yalnızca dağıtım süresince açılarak bu maliyet sınırlandırılabilir.

Canary dağıtımda trafik payı neye göre artırılır?

Önceden belirlenmiş sağlık ölçütlerine göre: hata oranı, yanıt süresi ve iş göstergeleri. Ölçütler sınırlar içinde kaldıkça pay kademeli artar; sapma görülürse pay sıfıra çekilir. Bu karar otomatik analizle de verilebilir.

Veritabanı değişiklikleri mavi-yeşilde nasıl yönetilir?

Şema değişiklikleri her iki sürümle uyumlu olacak biçimde adım adım yapılır: önce yeni yapıyı ekleyen, eski yapıya dokunmayan bir geçiş, sonra uygulamanın geçişi, en son eski yapının temizlenmesi. Böylece geri dönüş yolu açık kalır.

Mavi-yeşil ile sürekli dağıtım (CD) aynı şey midir?

Hayır. Sürekli dağıtım, kod değişikliklerinin otomatik hatla yayına kadar taşınması pratiğidir. Mavi-yeşil ise o yayının nasıl yapılacağını belirleyen bir dağıtım stratejisidir; sürekli dağıtım hattının son adımında kullanılabilir.

Blue-Green Deployment Nedir? Canary ile Farkı