Sektörden Haberler

Feature Flags (Özellik Bayrakları) Nedir?

21 Eylül 2026 Pazartesi


Dağıtım (deployment) ile yayını (release) birbirinden ayıran, koda tek bir satır yeni deploy yapmadan canlıdaki özellikleri açıp kapatmamızı sağlayan hayat kurtarıcı teknik: Feature Flags (Özellik Bayrakları).

Cuma günü akşam üzeri canlıya (production) yeni bir özellik çıkmak üzereyken o ecel terlerini dökmemiş yazılımcı azdır. "Aman bir şeyler kırılırsa geri alamayız (rollback)", "Tüm sistemi baştan deploy etmek saatler sürer" korkusu, yazılım ekiplerinin en büyük kâbuslarından biridir.

Feature Flags (veya Feature Toggles), yazılımın kaynak koduna eklenen ve belirli işlevlerin/özelliklerin canlı ortamda dinamik olarak açılmasını, kapatılmasını veya sadece belirli kullanıcı gruplarına gösterilmesini sağlayan bir koşullu kontrol (if-else) mekanizmasıdır.

Feature Flags Bize Ne Kazandırır?

  • Deployment ve Release Ayrımı: Kodunuzu canlıya almak (deploy), o özelliğin hemen tüm kullanıcılara açılması (release) anlamına gelmez. Kod canlıda pasif bir bayrak arkasında bekler; zamanı geldiğinde bir butonla aktif edilir.
  • Kanarya Yayınları (Canary Releases): Yeni bir özelliği doğrudan tüm kullanıcılara açmak yerine, önce kullanıcıların %5’ine açıp sistem performansını ve hataları izleyebilirsiniz.
  • Acil Durum Şalteri (Kill Switch): Canlı ortamda kritik bir hata veya çökme yaşandığında, sistemi baştan deploy etmekle uğraşmazsınız. Bayrağı kapatır (toggle off) ve özelliği milisaniyeler içinde yayından kaldırırsınız.
  • A/B Testleri: Kullanıcıların bir kısmına A arayüzünü, diğer kısmına B arayüzünü göstererek hangi tasarımın daha yüksek dönüşüm sağladığını canlı verilerle ölçebilirsiniz.



Dikkat Edilmesi Gereken Risk: Bayrak Borcu (Flag Debt)

Feature Flags harika bir güçtür ancak koda eklenen her bir bayrak teknik borç (technical debt) potansiyeli taşır. Süresi dolmuş, artık tamamen kalıcı hale gelmiş eski bayraklar koddan temizlenmezse, kod tabanı karmaşık bir "if-else tarlasına" dönüşür. Bu yüzden ekiplerin eski bayrakları temizlemek için düzenli bir "bayrak temizleme rutini"oluşturması gerekir.