Blue-Green Deployment Nedir?

İngilizce: Blue-Green Deployment

Blue-green deployment, aynı uygulamanın iki üretim ortamı arasında trafik yönlendirerek kesintisiz ve hızlı geri alınabilir yayın yapma tekniğidir.

Blue-Green Deployment Nedir?

Blue-green deployment, çalışan üretim ortamını kapatmadan yeni sürümü paralel bir ortama alıp trafiği kontrollü biçimde diğer ortama çevirme yöntemidir. Blue ortam mevcut sürümü, green ortam yeni sürümü temsil eder; isimlerin kendisi önemli değildir, önemli olan iki ayrı üretime hazır ortamın bulunmasıdır.

Bu yaklaşımda yeni sürüm önce gerçek üretim ayarlarıyla ancak kullanıcı trafiği almadan ayağa kaldırılır. Sağlık kontrolleri, smoke testleri ve kritik iş akışları geçerse load balancer, reverse proxy, DNS veya Kubernetes ingress trafiği yeni ortama yönlendirir.

Ne Zaman Kullanılır?

Blue-green dağıtım, kesinti maliyeti yüksek web uygulamaları, API servisleri ve kurumsal portallar için kullanışlıdır. Sorun çıkarsa trafik eski ortama geri çevrilebilir; bu nedenle rollback çoğu zaman yeni paket dağıtmaktan hızlıdır.

Yöntemin maliyeti iki ortamı aynı anda çalıştırmaktır. Ayrıca veritabanı şema değişiklikleri geriye uyumlu tasarlanmazsa eski ortama dönüş zorlaşır. Bu yüzden migration adımları, feature flag kullanımı ve izleme metrikleri dağıtım planının parçası olmalıdır.

CI/CD süreçleri blue-green adımlarını otomatikleştirebilir. Kubernetes tarafında servis selector değişimi veya ingress yönlendirmesiyle aynı prensip uygulanabilir.