Feature Flag Nedir?
İngilizce: Feature Flag
Feature flag, bir özelliğin kimlere ve ne zaman açılacağını kodu yeniden dağıtmadan kontrol eden koşullu yayınlama yöntemidir.
Feature Flag Nedir?
Feature flag, kodun içinde bulunan bir özelliği yapılandırma ile açıp kapatmayı sağlar. Böylece dağıtım ve yayınlama ayrılır: kod üretime çıkabilir, fakat özellik yalnızca belirli kullanıcıya, ekibe, ülkeye veya yüzdeye açılabilir.
Nasıl Çalışır?
Uygulama, karar noktasında flag değerini okur. Değer doğruysa yeni akış, değilse eski akış çalışır. Flag değeri bir ortam değişkeninden, veritabanından, uzaktan yapılandırma servisinden veya özel feature management aracından gelebilir.
Kademeli yayında özellik önce iç ekibe, sonra küçük müşteri grubuna, ardından trafiğin belirli yüzdesine açılır. Sorun çıkarsa “kill switch” gibi davranıp özelliği kapatmak mümkündür. CI/CD süreçlerinde bu model küçük ve sık dağıtımı destekler.
Kullanım Alanları
Feature flag, beta özellikler, ücretli plan ayrımları, bölgesel yayınlar, geçici bakım modu ve A/B testi için kullanılır. Ürün ekipleri aynı kod tabanında farklı kullanıcı deneyimlerini güvenli biçimde deneyebilir.
Flag’ler kalıcı mimari karar gibi bırakılmamalıdır. Süresi dolan flag’ler temizlenmezse kod dallanır, test matrisi büyür ve hangi kullanıcının hangi davranışı gördüğünü anlamak zorlaşır.
İlgili Terimler
A/B testi, iki tasarım, metin veya özellik varyantını gerçek kullanıcı trafiğinde ölçerek hangi seçeneğin daha iyi sonuç verdiğini belirler.
Canary DeploymentCanary 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.