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.