# Blue-Green vs Canary Dağıtım

Adres: https://softwaredictionary.org/tr/karsilastirma/blue-green-vs-canary-deployment
Son güncelleme: 2026-09-30

Kısaca: Blue-green iki tam ortam çalıştırır ve tüm trafiği bir anda yenisine geçirir; canary ise trafiğin önce küçük bir kısmını yeni sürüme yollar, sonra artırır.

## Blue-green ile canary dağıtım arasındaki fark nedir?

Blue-green dağıtımda iki özdeş canlı ortam tutarsınız. Blue kullanıcılara hizmet verirken green yeni sürümü alır ve test edilir; sonra bir yönlendirici ya da yük dengeleyici tüm trafiği green'e geçirir ve blue beklemede kalır. Canary dağıtımda ise yeni sürüm eskisiyle yan yana çalışır ve gerçek trafiğin %1 ya da %5 gibi küçük bir dilimini alır; metrikleri izlerken bu dilim adım adım büyür.

Fark, riskin nasıl yönetildiğidir. Blue-green riski hızlı, ya hep ya hiç bir geçişle ve aynı hızda bir geri almayla sınırlar; ama tüm kullanıcılar yeni sürüme aynı anda ulaşır. Canary riski maruziyeti sınırlayarak azaltır: hata oranları ya da gecikme yükselirse yalnızca küçük bir grup etkilenir ve dağıtım herkese ulaşmadan durur.

Birleştirilebilirler; örneğin bir green ortama dağıtım yapıp trafiği ona bir canary gibi kademeli kaydırarak. İkisi de aynı temellere dayanır: otomatik dağıtımlar, sağlık denetimleri, iyi izleme ve trafiği hassas biçimde yönlendirebilen bir yük dengeleyici ya da servis ağı (service mesh). İkisi de eski ve yeni sürümle aynı anda çalışan veritabanı değişiklikleri gerektirir.

Sık yapılan bir yanlış, blue-green'in maliyetinizi her zaman ikiye katladığı düşüncesidir. Boştaki ortam küçültülebilir ya da özellikle konteynerler ve bulut altyapısıyla yalnızca bir sürüm sırasında oluşturulabilir. Bir diğeri, canary sürümlerin A/B testleriyle aynı şey olduğu düşüncesidir: canary bir sürümün güvenli olup olmadığını denetler, A/B testi ise kullanıcıların hangi varyantı tercih ettiğini ölçer.

| Özellik | Blue-Green Deployment | Canary Deployment |
| --- | --- | --- |
| Trafik geçişi | Blue'dan green'e bir anda | Kademeli olarak; örneğin %1, %10, %50, sonra %100 |
| Ortamlar | İki tam canlı ortam | Yeni sürümün birkaç örneğinin bulunduğu tek ortam |
| Geri alma | Anında: trafik blue'ya geri çevrilir | Hızlı: canary'nin payı eski sürüme geri yönlendirilir |
| Etki alanı | Bir sorun gözden kaçarsa tüm kullanıcılar | Yalnızca canary'deki küçük kullanıcı payı |
| Ek kapasite | Sürüm sırasında iki katına kadar | Yalnızca birkaç ek örnek |
| İzleme ihtiyacı | Geçişten önce testler ve sağlık denetimleri | Canary'yi eski sürümle karşılaştıran canlı metrikler |
| Dağıtım hızı | Green hazır olduktan sonra çok hızlı | Daha yavaş; dakikalara, saatlere ya da günlere yayılır |

## Blue-Green Deployment şu durumlarda doğru seçim

- Basit, anlık bir geçiş ve anlık bir geri alma istiyorsunuz.
- Herhangi bir kullanıcı görmeden önce yeni ortamın tamamını test etmeniz gerekiyor.
- Trafiğiniz, küçük bir yüzdenin sorunları ortaya çıkarması için çok düşük.

## Canary Deployment şu durumlarda doğru seçim

- Sürüm herkese ulaşmadan önce gerçek kullanıcı trafiğiyle doğrulanmasını istiyorsunuz.
- Hata oranlarını kendiliğinden karşılaştırabilen güçlü bir izlemeniz var.
- Kötü bir sürümün mümkün olduğunca az kullanıcıyı etkilemesini istiyorsunuz.
- İkinci bir tam ortam çalıştırmak çok pahalı.

## Sık sorulan sorular

**Canary dağıtım, blue-green'den daha mı iyi?**

Genel olarak hiçbiri diğerinden iyi değildir. Canary daha ince denetim ve daha küçük bir etki alanı sunar; blue-green ise daha basittir ve tek adımda geçer veya geri alır.

**Blue-green dağıtımlarda veritabanı nasıl ele alınır?**

Genellikle iki sürüm de tek bir veritabanını paylaşır, bu yüzden şema değişiklikleri geriye dönük uyumlu olmalıdır. Örneğin önce yeni bir sütun eklersiniz ve eskisini yalnızca sürüm tamamlandıktan sonra kaldırırsınız.

**Neden canary dağıtım deniyor?**

Ad, maden işçilerinin bir zamanlar zehirli gazı tespit etmek için yanlarında taşıdığı kanaryalardan gelir: küçük bir kullanıcı grubu, sürüm herkese ulaşmadan önce bir erken uyarı işlevi görür.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
