Yazılım Kalitesi ve Mobil / Uygulama ve satın alma rehberi

Feature Flag ile Kademeli Yayın: Açma, Ölçme ve Geri Alma

Yeni kodun sunucuya yüklenmesi ile bütün müşterilere açılması aynı an olmak zorunda değildir. Özellik bayrakları bu kararları ayırabilir; ancak kontrolsüz bırakılan bayraklar yeni bir karmaşıklık kaynağına dönüşebilir.

Bayrağın amacını tek cümleyle yazın

Bir özellik bayrağı yeni akışı sınırlı kullanıcıya açmak, operasyonel bir davranışı kapatmak veya deney yürütmek için kullanılabilir. Bu amaçlar aynı yaşam süresine sahip değildir. Geçici yayın bayrağı ile kalıcı ürün yetkisini birbirine karıştırmayın.

OpenFeature, bayrak değerlendirme için sağlayıcıdan bağımsız bir arayüz yaklaşımı sunar. [1] Teknik araç seçimi önemli olsa da her bayrağın sahibi, varsayılan değeri ve kaldırılma koşulu ayrıca belirlenmelidir. “Sonra temizleriz” yaklaşımı kodda unutulmuş yollar oluşturabilir.

Kapsamı rastgele değil tutarlı seçin

Aynı kullanıcı her sayfa yenilemede farklı deneyime düşüyorsa iş akışı bozulabilir. Bayrak kapsamının kullanıcı, şirket veya işlem bazında nasıl belirlendiğini yazın. Özellikle çok kullanıcılı şirketlerde ekip arkadaşlarının birbiriyle uyumsuz süreç görmesi istenmeyebilir.

Yeni ve eski akış aynı kaydı değiştiriyorsa veri uyumluluğu kontrol edilmelidir. Arayüz bayrağını kapatmak, yeni biçimde yazılmış veriyi otomatik eskiye döndürmez. Bayrağın etkilediği okuma, yazma ve arka plan işleri birlikte çıkarılmalıdır.

Örnek: yeni teklif editörünü küçük gruba açmak

Varsayımsal CRM’de yeni teklif editörü önce iç ekip ve seçilmiş test kuruluşlarında kullanılıyor. Eski editör aynı teklif kaydını açabiliyor mu? Yeni alanlar eski ekranda kayboluyor mu? Yayının kapsamı belirlenirken bu soruların yanıtı hazır olmalıdır.

Örnek karar ve kabul kontrolleri
Bayrak kararıBelirlenecek unsurKabul testi
Açılacak grupKullanıcı veya kuruluşTutarlı deneyim
Varsayılan değerServis erişilemezse davranışGüvenli geri dönüş
ÖlçümSürüm ve grup ayrımıHatanın kaynağını görme
KaldırmaSahip ve tamamlanma koşuluEski kod yolunun temizliği

Örnek kapsam bir öneridir; gerçek müşteri trafiğinde değişiklik yapmak için uygun yayın yetkisi ve planı gerekir.

Ölçümü yeni gruba göre ayırın

Google SRE canary yaklaşımı değişikliği sınırlı kapsamda değerlendirerek yayına devam kararını vermeyi açıklar. [2] Genel hata oranı düşük olsa bile yeni grubun hatası yüksek olabilir. Metrikleri bayrak durumu ve sürümle ilişkilendirin.

Sadece tıklama artışına bakmayın. İş tamamlanma, kaydedilen veri doğruluğu ve destek yükü de önemlidir. Deney ile güvenlik kontrolünü karıştırmayın; kritik veri hatası varsa daha fazla örnek toplamak adına devam etmek uygun olmayabilir.

Bayrak servisi bozulunca ne olacağını belirleyin

Bayrak değeri alınamadığında uygulamanın hangi yolu seçeceği açık olmalıdır. Ödeme veya yetki gibi kritik kararları kontrolsüz istemci değerine bırakmayın. Önbelleğin süresi ve eski kararın geçerliliği risk düzeyine göre değerlendirilmelidir.

Destek ekibi hangi kuruluşta hangi bayrağın etkin olduğunu görebilmeli, fakat herkes değiştirememelidir. Bayrak değişikliği de yayın etkisi yaratır; kim, ne zaman ve neden değiştirdiği kaydedilmelidir. Basit bir panel düğmesi olması riskini azaltmaz.

Kaldırma işini teslim planına ekleyin

Başarıyla yaygınlaşan geçici bayrağın eski kod yolu temizlenmelidir. Aksi halde sonraki sürümlerde test edilmemiş kombinasyonlar birikir. Birbiriyle ilişkili bayraklar için izin verilen kombinasyonları tanımlayın; her kombinasyonun desteklendiğini varsaymayın.

Teslimde açma planı, hata halinde kapatma, veri uyumluluğu ve temizlik görevi bulunsun. Bayrak kapatma provasını gerçekçi test kaydıyla yapın. Kullanıcı açık bir işlemdeyken bayrak değiştiğinde işin yarım kalıp kalmadığı da incelenmelidir.

Sık sorulan sorular

### Feature flag geri dönüş garantisi verir mi? Hayır. Özellik yan etkili veri oluşturduysa bayrağı kapatmak geçmiş işlemleri geri almaz. Veri ve uygulama geri dönüşü ayrıca planlanmalıdır.

Paket yetkilerini feature flag ile yönetebilir miyim?

Araç destekleyebilir, fakat ürün yetkileriyle geçici yayın kontrollerinin yaşam döngüsü farklıdır. Roller, ödeme durumu ve erişim politikası açıkça modellenmelidir.

Teknik kaynaklar

  1. OpenFeature: özellik bayrağı yaklaşımı
  2. Google SRE: canary yayınları

Kaynaklar teknik kavramları destekler. Örnek tablolar ve senaryolar önerilen çalışma araçlarıdır; gerçek müşteri sonucu, bağımsız denetim veya platform garantisi değildir. Uygulama öncesinde kullanılan ürünün güncel koşulları kontrol edilmelidir.

Bu ihtiyacı çalışan bir sisteme dönüştürelim.

Mevcut sisteminizi, sorun yaşadığınız iş akışını ve beklediğiniz sonucu paylaşın. Ganz Dijital ile projenizin kapsamını ve kabul koşullarını netleştirin.

İlgili hizmeti inceleWhatsApp üzerinden görüşelim →

Hazırlama notu: İçerik, belirtilen kaynaklar ve özgün örnek senaryolar kullanılarak yapay zekâ desteğiyle hazırlanmıştır. Sayısal örnekler aksi belirtilmedikçe varsayımsaldır. İşletmeye özel güvenlik, hukuki ve operasyonel gereksinimler ayrıca değerlendirilmelidir.