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.
İlgili Terimler
Canary deployment, yeni sürümü önce sınırlı kullanıcıya açıp metrikler temizse trafiği kademeli artıran yayın stratejisidir.
CI/CDCI/CD, kod değişikliklerini otomatik derleme, test ve dağıtım hatlarından geçirerek sürümü tekrarlanabilir hale getiren DevOps pratiğidir.
KubernetesKubernetes, konteynerle çalışan servisleri çoklu sunucu üzerinde dağıtma, ölçekleme, güncelleme ve iyileştirme için yönetir.