Progressive Delivery Nedir ve Neden 2026’da Standart Oldu?

Progressive Delivery, yeni bir sürümü tüm kullanıcılara aynı anda açmak yerine, riski kademeli kontrol ederek yayma pratiğidir: değişiklik önce küçük bir kullanıcı dilimine gider, metrikler izlenir ve sorun yoksa kapsam yavaşça genişletilir. Üç temel tekniği bir arada kullanır: canary (yüzdesel kademeli yayma), blue-green (anlık geçiş + anında geri alma) ve feature flag (kodda saklı özelliği çalışma anında açıp kapama). Tek başına hiçbiri yeterli değildir; gücü birlikte kullanımdadır.

DORA State of DevOps araştırması, yüksek performanslı ekiplerin değişiklik başarısızlık oranını %15’in altında tutarken günde defalarca dağıttığını gösterir. Bu hız ve güvenliğin aynı anda elde edilmesinin yolu progressive delivery’dir: dağıtım (deploy) ile yayınlama (release) ayrıştırılır, böylece kod prod’a çıkar ama özellik kontrollü açılır. Bu rehber üç tekniği, birlikte kullanım desenlerini ve otomatik geri alma stratejilerini sayısal olarak açar.

Progressive delivery’nin 2026’da standart haline gelmesinin altında somut bir ölçüm yatar. DORA çerçevesinin dört temel metriği (dağıtım sıklığı, değişiklik öncü süresi, değişiklik başarısızlık oranı ve hizmeti geri yükleme süresi) bir araya getirildiğinde, geleneksel “tümünü aynı anda yayınla” yaklaşımının hem riski hem geri yükleme süresini artırdığı görülür: bir sorun çıktığında tüm kullanıcı kitlesi etkilenir ve geri alma tüm sistemi kapsar. Progressive delivery, başarısızlık oranını düşürmez ama başarısızlığın etki yüzeyini (blast radius) küçültür; bir hata yalnızca %5’lik bir dilime ulaşır ve saniyeler içinde geri çekilir. Yani metrik iyileşmesi, hataları yok etmekten değil, hataların maliyetini düşürmekten gelir. Bu, dağıtım sıklığını korkmadan artırmayı mümkün kılar; ekipler günde defalarca dağıtırken her dağıtımın riski yapısal olarak sınırlıdır.

Canary deployment'ta trafiğin %5'ten %100'e kademeli kaydığı yüzdesel yayma görselleştirmesi
Canary deployment'ta trafiğin %5'ten %100'e kademeli kaydığı yüzdesel yayma görselleştirmesi

Canary Deployment: Yüzdesel Kademeli Yayma

Canary deployment, yeni sürümü önce kullanıcıların %1-5’ine yönlendirir, hata oranı ve gecikme gibi metrikleri izler, sorun yoksa %10, %25, %50 ve %100 olarak kademeli artırır. Adını maden işçilerinin zehirli gazı erken sezmek için kullandığı kanaryadan alır: sorun, tüm kullanıcıyı etkilemeden küçük dilimde yakalanır.

  • Metrik tabanlı ilerleme: Her adımda hata oranı, P95 gecikme ve CPU izlenir; eşik aşılırsa otomatik durur.
  • Otomatik analiz: Argo Rollouts ve Flagger, Prometheus metriklerine bakarak ilerleme/geri alma kararını otomatik verir.
  • Trafik kontrolü: Service mesh (Istio, Linkerd) veya ingress ağırlık tabanlı yönlendirme sağlar.
  • Hızlı geri alma: Sorun görülürse trafik anında eski sürüme döner, etki dilimle sınırlı kalır.
Adım Trafik yüzdesi İzlenen metrik Karar
1 %5 Hata oranı < %1 İlerle / durdur
2 %25 P95 < eşik İlerle / geri al
3 %50 SLO ihlali yok İlerle
4 %75 Doygunluk metriği İlerle
5 %100 Tam sürüm Tamamla

Blue-Green Deployment: Anlık Geçiş ve Anında Geri Alma

Blue-green, iki özdeş üretim ortamı tutar: blue (canlı) ve green (yeni sürüm). Trafik tek bir anahtarla green’e geçirilir; sorun çıkarsa anında blue’ya dönülür. Canary’den farkı, kademeli değil ani geçiş yapmasıdır; en büyük gücü ise saniyeler içinde geri alma (rollback) sağlamasıdır.

Boyut Canary Blue-Green Feature Flag
Geçiş şekli Kademeli % Anlık tüm trafik Kullanıcı/segment
Geri alma hızı Saniyeler-dakika Saniyeler Anlık
Kaynak maliyeti Düşük ek 2x ortam Minimal
Risk granülaritesi Trafik yüzdesi Tümü ya da hiç Kullanıcı bazlı
Veritabanı uyumu Dikkatli Geriye uyum şart Esnek
İdeal kullanım Yüksek trafik API Hızlı rollback ihtiyacı A/B, aşamalı açılış

Blue-green’de en kritik nokta veritabanı şema uyumudur: green ve blue aynı şemayı paylaştığı için değişiklikler geriye uyumlu (backward compatible) olmalıdır. GitOps ile Argo CD/Flux bu geçişleri bildirimsel ve denetlenebilir kılar.

Blue-green’in en sık göz ardı edilen maliyeti, geçiş penceresi boyunca iki tam ortamın aynı anda çalışmasıdır; bu, o süre için compute maliyetini ikiye katlar. Bu yüzden olgun ekipler green ortamını yalnızca geçiş penceresinde tam kapasitede tutar, geçiş tamamlanıp blue doğrulama amacıyla bir süre beklendikten sonra eski ortamı ölçekleyerek maliyeti normale döndürür. Bir diğer incelik, oturum durumudur (session state): trafik anlık olarak green’e geçtiğinde, blue’da açık olan kullanıcı oturumları kesilmemelidir. Bu nedenle blue-green, durumun uygulama dışında (örneğin paylaşımlı bir oturum deposunda) tutulduğu durumsuz (stateless) uygulamalarda en sorunsuz çalışır. Canary ile karşılaştırıldığında blue-green daha hızlı geri alma sunar ama daha kaba taneli (granularity) bir kontrol verir: ya tüm trafik eski sürümde ya tüm trafik yeni sürümdedir, ikisinin arası yoktur. Bu yüzden hata oranının kademeli gözlemlenmesi gereken yüksek trafikli API’lerde canary, anında ve toplu geri alma gereken kritik sistemlerde blue-green tercih edilir.

Blue-green deployment'ta canlı ve yeni ortam arasında trafik anahtarının geçişini gösteren diyagram
Blue-green deployment'ta canlı ve yeni ortam arasında trafik anahtarının geçişini gösteren diyagram

Feature Flag: Dağıtımı Yayınlamadan Ayırmak

Feature flag (özellik bayrağı), bir özelliği kodda hazır tutar ama çalışma anında açıp kapatılan bir anahtarla kontrol eder. Bu sayede kod prod’a dağıtılır ancak özellik kullanıcıya kapalı kalır; istediğiniz an, istediğiniz segmente açarsınız. Dağıtım ile yayınlamayı tamamen ayırır, bu da progressive delivery’nin temel taşıdır.

  • Kill switch: Sorun çıkan özellik deploy beklemeden anında kapatılır.
  • Aşamalı açılış: Özellik önce iç ekibe, sonra %5 kullanıcıya, sonra herkese açılır.
  • A/B testi: İki varyant farklı segmentlere sunulur, metrik karşılaştırılır.
  • İzin tabanlı erişim: Premium özellikler abonelik segmentine bağlanır.

Standart ve araç seçimi için feature flag pazar manzarası ve OpenFeature ile vendor-neutral standart derinleşir. Vendor-neutral standart için OpenFeature (CNCF projesi) sağlayıcı bağımlılığını azaltır. Uzun ömürlü bayraklar teknik borç yaratır; her bayrağın bir son kullanma tarihi olmalıdır.

Feature flag’in dağıtımı yayınlamadan ayırması, mühendislik kültürünü kökten değiştirir. Geleneksel modelde bir özelliğin tamamlanması, prod’a çıkmasıyla eş anlamlıdır; bu yüzden yarım kalan kod uzun ömürlü dallarda (feature branch) bekletilir ve birleştirme zamanı geldiğinde büyük, riskli bir çatışma yaratır. Flag yaklaşımında ise kod, henüz tamamlanmamış olsa bile bayrak arkasında kapalı olarak ana dala (trunk) sürekli birleştirilir; bu, trunk-based development pratiğinin temelidir ve büyük birleştirme acılarını ortadan kaldırır. Bayrakların türleri de farklı yaşam döngülerine sahiptir: yayın bayrakları (release flags) bir özellik tam açıldıktan sonra temizlenmelidir, deney bayrakları (experiment flags) testin süresi kadar yaşar, operasyonel bayraklar (kill switch) ise kalıcı olabilir. Bu türleri ayırmamak, en yaygın teknik borç kaynağıdır; binlerce eskimiş bayrak kod tabanını okunamaz hale getirir ve her bayrak bir dallanma noktası olduğu için test yüzeyini katlanarak büyütür. Bu yüzden disiplinli ekipler her yayın bayrağına bir sahip ve bir son kullanma tarihi atar, süresi dolan bayrakları düzenli temizler.

Üç Tekniği Birlikte Kullanmak

Progressive delivery’nin asıl gücü, üç tekniğin tek bir akışta birleşmesindedir. Tipik bir olgun pipeline şöyle çalışır: feature flag ile özellik kapalı dağıtılır (deploy), canary ile altyapı sürümü kademeli yayılır, blue-green ile ani geri alma güvencesi verilir, sonra flag kademeli açılır (release).

  1. Dağıt: Yeni kod feature flag arkasında kapalı olarak prod’a çıkar — risk sıfıra yakın.
  2. Altyapı canary: Yeni sürüm %5-25-50 trafiğe canary ile yayılır, sistem metrikleri izlenir.
  3. Flag aç: Özellik önce %1 kullanıcıya açılır, iş metrikleri (dönüşüm, hata) izlenir.
  4. Genişlet veya geri al: Sonuç iyiyse flag kademeli %100 olur; kötüyse flag anında kapanır (kill switch).
Feature flag ile dağıtımın yayınlamadan ayrıldığı, açma-kapama anahtarlı kontrol akışı
Feature flag ile dağıtımın yayınlamadan ayrıldığı, açma-kapama anahtarlı kontrol akışı

Veritabanı Değişiklikleri: Expand-Contract Deseni

Progressive delivery’nin en sık kırıldığı nokta veritabanı şema değişiklikleridir. Canary veya blue-green’de eski ve yeni sürüm aynı anda çalıştığı için şema, her iki sürümle de uyumlu olmalıdır. Bu zorluğu çözen yöntem expand-contract (genişlet-daralt) desenidir: önce şema yeni alanı ekleyerek genişletilir (her iki sürüm de çalışır), sürüm tamamlanınca eski alan kaldırılarak daraltılır.

Aşama Şema durumu Eski sürüm Yeni sürüm
Expand Yeni alan eklenir Çalışır (görmezden gelir) Çalışır (kullanır)
Migrate Veri geri doldurulur Çalışır Çalışır
Switch Trafik yeni sürüme Devre dışı Aktif
Contract Eski alan kaldırılır Yok Çalışır
Cleanup Geçici kod silinir Sade

Bu desen, kesintisiz şema evrimini mümkün kılar ve geri alma sırasında veri kaybını önler. Yıkıcı (destructive) değişiklikler asla tek adımda yapılmaz; her zaman önce genişletilir, sürüm oturduktan sonra daraltılır.

Otomatik Geri Alma ve Metrik Tabanlı Kararlar

Manuel izleme ile progressive delivery yarım kalır; gerçek değer otomatik analiz ve geri almadadır. Argo Rollouts ve Flagger, her canary adımında Prometheus metriklerini sorgular, başarı oranını hesaplar ve eşik altına düşünce dağıtımı otomatik durdurup geri alır. İnsan gece yarısı uyanmadan sistem kendini korur.

Otomatik analizin güvenilirliği, hangi metriklere bakıldığına bağlıdır. Yalnızca hata oranına bakan bir canary analizi yanıltıcıdır; bir sürüm hatasız ama belirgin biçimde yavaş olabilir veya bellek sızıntısıyla kademeli doygunluğa gidebilir. Bu yüzden olgun canary kuralları, gözlemlenebilirliğin dört altın sinyalini (golden signals) birlikte değerlendirir: gecikme (latency), trafik (traffic), hata (errors) ve doygunluk (saturation). Bunların üzerine iş metrikleri (dönüşüm oranı, sepete ekleme, ödeme tamamlama) eklenir; çünkü teknik olarak sağlıklı görünen bir sürüm, kullanıcı davranışını sessizce bozuyor olabilir. Bir diğer kritik tasarım kararı, her canary adımının minimum gözlem süresi ve minimum istek eşiğidir: düşük trafikte birkaç istek üzerinden hesaplanan bir başarı oranı istatistiksel olarak anlamsızdır. Bu yüzden canary, yeterli örnek toplanana kadar bir sonraki adıma ilerlemez; aksi halde gürültüyü sinyal sanıp yanlış kararlar verir.

Araç Teknik desteği Otomatik analiz Ekosistem
Argo Rollouts Canary, Blue-Green Prometheus, Datadog Argo CD entegre
Flagger Canary, A/B, Blue-Green Metrik tabanlı Flux, mesh entegre
OpenFeature Feature flag standardı Sağlayıcı bazlı Vendor-neutral
Istio/Linkerd Trafik yönlendirme Telemetri sağlar Service mesh
Spinnaker Canary, Blue-Green Otomatik canary analizi Çoklu bulut

Tipik Sorunlar ve Çözümleri

Progressive delivery yanlış kurulduğunda güvenlik ağı olmaktan çıkıp ek karmaşıklığa dönüşür. En sık karşılaşılan sorunlar ve çözümleri:

  • Yetersiz canary metriği: Yalnızca hata oranına bakılıyor, gecikme kaçıyor. Çözüm: hata, gecikme, doygunluk ve iş metriği birlikte izle (golden signals).
  • Veritabanı uyumsuzluğu: Blue-green geçişte şema kırılıyor. Çözüm: geriye uyumlu migrasyon (expand-contract deseni) uygula.
  • Bayrak çöplüğü: Eski feature flag’ler birikip teknik borç oluyor. Çözüm: her bayrağa son kullanma tarihi koy, düzenli temizle.
  • Yavaş canary penceresi: Az trafikte metrik anlamlı olmuyor. Çözüm: minimum gözlem süresi ve istek eşiği tanımla.
  • Manuel geri alma gecikmesi: İnsan müdahalesi yavaş kalıyor. Çözüm: metrik tabanlı otomatik rollback kur.
  • Çift maliyet: Blue-green sürekli 2x ortam tutuyor. Çözüm: green’i yalnızca geçiş penceresinde aç, sonra ölçekle.
Argo Rollouts'un metrik tabanlı otomatik geri alma kararı verdiği gözlemlenebilirlik panosu
Argo Rollouts'un metrik tabanlı otomatik geri alma kararı verdiği gözlemlenebilirlik panosu

Sonuç ve Öneriler

Progressive delivery, hız ile güvenliği aynı anda sunan modern yayınlama disiplinidir. Canary riski trafik yüzdesiyle, blue-green ani geri almayla, feature flag ise dağıtımı yayınlamadan ayırarak kontrol eder; gerçek güç üçünün birlikte kullanılmasındadır. Olgun akış, kodu flag arkasında kapalı dağıtır, altyapıyı canary ile yayar, flag’i kademeli açar ve sorun anında kill switch ile kapatır. Manuel izleme yetmez: Argo Rollouts veya Flagger ile metrik tabanlı otomatik geri alma kurun, golden signal’ları izleyin ve her feature flag’e son kullanma tarihi verin. Veritabanı değişikliklerini her zaman geriye uyumlu yapın; aksi halde en güçlü güvenlik ağı bile geçişte kırılır.

Sıkça Sorulan Sorular

Progressive delivery nedir?

Progressive delivery, yeni bir sürümü tüm kullanıcılara aynı anda açmak yerine riski kademeli kontrol ederek yayma pratiğidir. Değişiklik önce küçük bir dilime gider, metrikler izlenir ve sorun yoksa kapsam genişler. Canary, blue-green ve feature flag tekniklerini bir arada kullanır ve dağıtım ile yayınlamayı ayırarak hem hız hem güvenlik sağlar.

Canary ile blue-green arasındaki fark nedir?

Canary, trafiği kademeli yüzdelerle (%5, %25, %50, %100) yeni sürüme kaydırır ve her adımda metrik izler; risk granülaritesi yüksektir. Blue-green ise iki özdeş ortam tutar ve trafiği tek anahtarla anında yeni sürüme geçirir; en büyük gücü saniyeler içinde geri alabilmektir ama tümü ya da hiç mantığıyla çalışır ve iki ortam tuttuğu için daha pahalıdır.

Feature flag neden progressive delivery’nin temelidir?

Çünkü feature flag, dağıtım ile yayınlamayı tamamen ayırır. Kod prod’a çıkar ama özellik kullanıcıya kapalı kalır; istediğiniz an, istediğiniz segmente açarsınız. Bu sayede sorun çıkan özellik yeni deploy beklemeden anında kapatılabilir (kill switch), aşamalı açılış ve A/B testi yapılabilir. Bu kontrol, canary ve blue-green’i tamamlar.

Otomatik geri alma nasıl çalışır?

Argo Rollouts veya Flagger gibi araçlar, her canary adımında Prometheus veya Datadog metriklerini sorgular, başarı oranını hesaplar ve önceden tanımlı eşiklerle karşılaştırır. Hata oranı veya gecikme eşiği aşılırsa dağıtımı otomatik durdurur ve trafiği eski sürüme geri çevirir. Böylece insan müdahalesi beklemeden sistem kendini korur.

Üç teknik aynı anda kullanılmalı mı?

İdeal olgun pipeline üçünü birleştirir, ancak başlangıçta hepsi zorunlu değildir. Çoğu ekip feature flag ile başlar (en düşük maliyet, en yüksek esneklik), sonra altyapı sürümleri için canary ekler. Blue-green, hızlı geri alma ihtiyacı kritik olan sistemlerde devreye girer. Olgunluk arttıkça üçü tek akışta birleşir ve metrik tabanlı otomasyonla yönetilir.

Ömer ÖNAL

Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.

Yorum (1)

  1. Ömer ÖNAL
    Haziran 8, 2026

    Ekiplere hep şunu söylüyorum: deploy ile release aynı şey değil. Bu ayrımı feature flag ile kurduğunuz gün cesaretiniz katlanıyor, çünkü kodu prod’a çıkarmak artık geri dönülmez bir karar olmaktan çıkıyor. En sık gördüğüm hata, canary’yi sadece hata oranına bakarak kurmak; gecikme ve doygunluğu da izleyin. Ve her bayrağa bir son kullanma tarihi koyun, yoksa altı ay sonra çöplük olur.

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir