Sigorta acenteleri için yazılımın en yoğun kullanıldığı saatler, çoğu zaman yazılım ekibinin de yeni sürüm yayınlamak isteyeceği saatlerle çakışır. Gece yarısı yapılan dağıtımlar bir çözüm gibi görünse de, sorunlar ancak sabah kullanıcılar sisteme girdiğinde ortaya çıkabilir. Canary ve mavi-yeşil dağıtım, yeni sürümü kullanıcıya fark ettirmeden ve geri dönüş yolunu açık tutarak yayına almanın iki yaygın stratejisidir.
Mavi-yeşil dağıtım
Mavi-yeşil dağıtımda canlı ortamın iki eş kopyası bulunur. Biri, diyelim mavi, şu anda kullanıcılara hizmet verir. Yeni sürüm diğer kopyaya, yeşile kurulur. Yeşil ortamda testler ve son kontroller yapıldıktan sonra trafik yönlendiricisi tüm kullanıcıları maviden yeşile çevirir. Bir sorun çıkarsa trafik tek adımda maviye geri döndürülür.
Avantajları
- Geçiş anlıktır; kullanıcılar sürüm değişikliği sırasında kesinti yaşamaz.
- Geri dönüş hızlı ve basittir.
- Yeni sürüm, canlıyla aynı altyapıda gerçek trafiğe açılmadan önce denenebilir.
Dikkat edilecekler
- İki eş ortam, geçiş anında iki kat kaynak gerektirir.
- Veritabanı genellikle iki ortam arasında paylaşılır; bu nedenle şema değişiklikleri her iki sürümle uyumlu olmalıdır.
- Geçiş tüm kullanıcılar için aynı anda olduğundan, yalnızca gerçek trafikte ortaya çıkan bir sorun herkesi birden etkileyebilir.
Canary dağıtım
Adını, madenlerde tehlikeli gazları erken fark etmek için kullanılan kanaryalardan alan bu yöntemde yeni sürüm önce trafiğin küçük bir bölümüne açılır. Bu küçük grubun hata oranları, yanıt süreleri ve iş göstergeleri mevcut sürümle karşılaştırılır. Göstergeler sağlıklıysa trafik payı adım adım artırılır; bir sapma görülürse yeni sürüm geri çekilir ve etkilenen kullanıcı sayısı sınırlı kalır.
Avantajları
- Gerçek trafikte ortaya çıkan sorunlar küçük bir grupta yakalanır.
- Kaynak ihtiyacı mavi-yeşile göre daha esnektir.
- Otomatik analizle birleştirildiğinde, ilerleme ya da geri çekilme kararı insan müdahalesi olmadan verilebilir.
Dikkat edilecekler
- Bir süre boyunca iki sürüm aynı anda çalışır; her ikisinin de aynı veriyle uyumlu olması gerekir.
- Karşılaştırma yapabilmek için iyi bir gözlemlenebilirlik altyapısı şarttır.
- Kullanıcının oturum boyunca aynı sürümde kalması, tutarlı bir deneyim için önemlidir.
Hangi durumda hangisi?
İki strateji birbirine rakip değildir ve sıklıkla birlikte kullanılır. Genel bir rehber şöyle özetlenebilir:
- Altyapı değişiklikleri ya da çalışma ortamının güncellenmesi gibi bütüncül değişikliklerde mavi-yeşil daha sade bir geçiş sağlar.
- Uygulama mantığındaki değişikliklerde, özellikle davranışın gerçek kullanımda doğrulanması gerektiğinde, canary daha az riskle daha fazla bilgi verir.
- Yüksek riskli ve geri alınması zor değişikliklerde, önce mavi-yeşil ortamda kapalı olarak hazırlık, ardından canary ile kademeli açılış birleştirilebilir.
Canary analizinde hangi göstergelere bakılmalı?
Yalnızca sunucu hatalarına bakmak yeterli değildir. Acente yazılımı için anlamlı karşılaştırma göstergeleri şunlardır:
- Oturum açma başarı oranı,
- Branş bazında teklif başlatma ve tamamlanma oranları; trafik, kasko ve DASK ayrı ayrı,
- Müşteri arama ve kart açma süreleri,
- Kullanıcı tarafında oluşan arayüz hataları.
Branşların ayrı izlenmesi önemlidir. Yeni sürüm yalnızca DASK akışında bir soruna yol açıyorsa, bu durum tüm teklif sorgularının ortalamasında görünmez hâle gelebilir.
Arka uç dağıtımı ile mobil yayın arasındaki ilişki
Canary ve mavi-yeşil stratejileri öncelikle sunucu tarafında uygulanır. Mobil uygulama ise mağazaların kendi aşamalı dağıtım mekanizmalarıyla yayınlanır. İki tarafın uyumu için arka uç sürümünün, aynı anda kullanımda olan tüm mobil uygulama sürümleriyle çalışmaya devam etmesi gerekir. Bu nedenle sunucu tarafında yapılan bir canary dağıtımında, eski mobil sürümlerden gelen isteklerin de karşılaştırmaya dahil edilmesi faydalıdır.
Acente gözünden
İyi uygulanmış bir dağıtım stratejisi, acente kullanıcısı için neredeyse görünmezdir. Sürüm değişikliği sırasında ekran donmaz, oturum düşmez, yarım kalan bir teklif kaybolmaz. Bir sorun çıksa bile etkisi sınırlı bir grupta kalır ve kısa sürede geri alınır. Bu yaklaşım, acente yazılımının yoğun saatlerde bile güvenle güncellenebilmesini sağlar. Kesintisiz güncellemelerin günlük kullanımda nasıl hissedildiğini görmek için demo talebi oluşturabilirsiniz.
Otomatik geri çekilme kriterleri
Canary dağıtımın gücü, karar sürecinin otomatikleştirilebilmesindedir. Ancak bunun için kriterlerin önceden ve net biçimde tanımlanması gerekir. Örnek bir kriter seti şöyle düşünülebilir:
- Yeni sürümün hata oranı, mevcut sürümün hata oranından belirgin biçimde yüksekse geri çekilir.
- Yavaş isteklerin oluşturduğu dilimde anlamlı bir artış varsa ilerleme durdurulur ve ekip uyarılır.
- Herhangi bir branşın teklif başlatma oranı düşüyorsa, diğer göstergeler normal olsa bile ilerleme durdurulur.
- Belirli bir gözlem süresi boyunca tüm göstergeler sağlıklıysa trafik payı bir sonraki adıma çıkarılır.
Kriterlerin istatistiksel olarak anlamlı karşılaştırma yapabilmesi için, canary grubunun yeterli trafik alması gerekir. Trafik çok düşükse rastlantısal dalgalanmalar yanlış kararlara yol açabilir. Bu nedenle düşük trafikli saatlerde gözlem süresini uzatmak ya da kararı insan onayına bırakmak daha güvenli olabilir.
Geri çekilme kararı verildiğinde, otomatik olarak bir inceleme kaydı açılması ve ilgili metriklerin bu kayda eklenmesi de sorunun hızlıca anlaşılmasına yardımcı olur.
Kriterlerin belgelenmesi de önemlidir. Hangi göstergenin hangi eşikte ilerlemeyi durdurduğu yazılı olduğunda, ekip üyeleri otomatik kararları sorgulamak yerine anlayabilir ve kriterleri zaman içinde birlikte iyileştirebilir.
Sonuç
Mavi-yeşil dağıtım hızlı ve temiz geçiş, canary dağıtım ise gerçek trafikte kontrollü doğrulama sunar. İkisinin doğru durumlarda kullanılması ve iyi bir gözlemlenebilirlikle desteklenmesi, yeni sürümlerin kullanıcıyı rahatsız etmeden yayına alınmasını mümkün kılar.