Feature Flag Nedir?
Yayın: · Son güncelleme:
Feature Flag Nedir? Kısaca
Feature flag (özellik bayrağı), bir yazılım özelliğini kodu yeniden dağıtmadan açıp kapatmayı sağlayan yapılandırma anahtarıdır. Yeni özellikleri önce küçük bir kullanıcı grubuna açmak ve sorun çıkarsa hemen kapatmak için kullanılır.

Feature flag nedir?
Feature flag, kodun içine yerleştirilmiş bir açma-kapama düğmesidir. Yeni özellik canlı ortama gönderilir ama bayrak kapalıyken kullanıcılar onu görmez. Bayrak bir yönetim panelinden açıldığında özellik, yeni bir sürüm yayınlamaya gerek kalmadan devreye girer.
Basit hâliyle bir if koşuludur: "yeni_odeme_ekrani açıksa yeni ekranı göster, değilse eskisini". Gücü, bu koşulun kod dışından yönetilebilmesinden gelir.
Hangi işlerde kullanılır?
En yaygın kullanım kademeli yayındır. Varsayımsal bir örnek: bir e-ticaret sitesi yeni ödeme ekranını önce kullanıcıların yüzde 5'ine açıyor. Hata oranı ve dönüşüm normal seyrederse oran yüzde 25'e, sonra yüzde 100'e çıkarılıyor. Sorun görülürse bayrak kapatılır ve herkes birkaç saniye içinde eski ekrana döner.
Başka kullanım alanları da vardır. A/B testlerinde iki sürüm farklı gruplara gösterilir. Yalnız iç ekip ya da beta kullanıcıları için özellik açılabilir. Aşırı yük anında ağır bir özelliği geçici olarak kapatmak da mümkündür.
Riskleri nelerdir?
Bayraklar zamanla birikirse kod karmaşıklaşır. Kimsenin hatırlamadığı onlarca açık-kapalı koşul, test edilmesi gereken kombinasyon sayısını katlar ve teknik borç yaratır. Özellik herkese açıldıktan sonra bayrağı ve eski kodu silmek, işin ayrılmaz bir parçası olmalıdır.
Küçük projelerde bir yapılandırma dosyası yeterlidir. Büyüyen ekipler LaunchDarkly, Unleash ya da Flagsmith gibi bayrak yönetim araçlarını tercih eder. Her bayrağa bir sahip ve bir bitiş tarihi yazmak, temizliği unutmamanın pratik yoludur.
Sıkça Sorulan Sorular
Feature flag ile A/B testi aynı şey mi?
Aynı değildir ama birlikte kullanılır. Feature flag teknik bir açma-kapama mekanizmasıdır. A/B testi ise iki seçeneği karşılaştırıp hangisinin daha iyi sonuç verdiğini ölçen bir deney yöntemidir ve çoğu zaman bayraklarla uygulanır.
Feature flag kullanmak rollback ihtiyacını ortadan kaldırır mı?
Bayrağın arkasındaki özellik için büyük ölçüde evet, bayrağı kapatmak hızlı bir geri dönüş sağlar. Ancak veritabanı değişikliği gibi bayrakla kontrol edilmeyen sorunlarda yine rollback gerekebilir.