Özet
Bu modülde, yeni uygulama özelliklerini kullanıcılarınıza sorunsuz bir şekilde sunmanın otomatik bir yolu olarak dağıtım deseni tanımlamıştınız. İyi bir dağıtım düzeni kapalı kalma süresini en aza indirmenize yardımcı olabilir. Ayrıca kullanıcılarınıza aşamalı olarak yeni özellikler sunmanızı da sağlayabilir.
Çeşitli dağıtım desenleri arasından seçim yapabilirsiniz. Seçtiğiniz dağıtım düzeni, dağıtım nedenlerinize ve kaynaklarınıza bağlıdır. Kanarya testçileriniz var mı? Karanlık bir başlangıç yapacak ve testçi olduklarını bilmeyen katılımcıları mı seçeceksiniz? Güvenilir bir test grubunuz küçük bir kümeden daha büyük bir kümeye aşamalı olarak artıyorsa, aşamalı maruz bırakma dağıtımını seçebilirsiniz. Alternatif olarak, bir sürümün başka bir sürümden daha iyi performans gösterip göstermediğini öğrenmek istiyorsanız A/B testi'ni seçebilirsiniz.
Tailspin ekibi, Azure App Service'teki dağıtım yuvalarını kullanarak mavi-yeşil dağıtım desenini uygulamayı seçti. Dağıtım yuvaları kendi ana bilgisayar adlarına sahip çalışan uygulamalardır. Ekip iki dağıtım yuvasını değiştirebilir. Değiştirerek, değişiklikleri anında üretimde uygulayabilirler. Ekip, web sitelerini genel kullanıma sunmaya hazır olmasa da, kapalı kalma süresine neden olmadan kullanıcılarına yeni özellikler edinebileceklerini kanıtlamıştır.
Ek olarak, bu modülde istenmeyen bir değişikliği bir Git işlemini geri alarak ve ardından geri alınan değişikliği işlem hattı üzerinden ileri taşıyarak nasıl düzeltebileceğinizi de öğrendiniz.
Takım nasıl bir performans sergiliyor?
Mevcut yazılım geliştirme sürecinizi değerlendirme modülü kapsamında Mara, bir değer-akış eşleme alıştırmasıyaptı. Alıştırma, ekibin geçerli yayın döngüsü sürecini analiz etmelerine yardımcı oldu.
aktivite oranıveya verimlilik işlem süresinin toplam liderlik süresine bölünmesiyle elde edilir:
$${Faaliyet\ oranı\ =\ }{\dfrac{İşlem\ süresi}{Toplam\ süre}}$$
Tailspin web ekibi başlangıçta bu ölçümü kullanarak yüzde 23 verimli olduklarını saptadı.
Ekip ilk olarak sürekli tümleştirme (CI) uyguladığında bazı verimsizlikleri azaltmış oldu. Sürekli teslim (CD) uygulanarak artık verimsizlikler daha da azaldı.
Önceki öğrenme yollarında ekip şunları azaltmış:
Yeni özellikler için kaynak denetimini ayarlamak için gereken süre. Gerekli süre üç günden sıfır güne geçti.
Ekip, merkezi kaynak denetiminden dağıtılmış kaynak denetiminin bir biçimi olan Git'e geçerek bu iyileştirmeyi başardı. Dağıtılmış kaynak denetimini kullanarak dosyaların kilidinin açılmasını beklemeleri gerekmez.
Kodu test eden Amita'ya teslim etmek için gereken süre. Gerekli süre iki gündensıfır güne.
Ekip, derleme sürecini Azure Pipelines'a taşıyarak bu iyileştirmeyi başardı. Azure Pipelines, derleme kullanılabilir olduğunda Amita'ya otomatik olarak bildirir. Geliştiricilerin artık amita'yı bilgilendirmek için elektronik tablosunu güncelleştirmeleri gerekmez.
Amita'nın yeni özellikleri test etme süresi. Gerekli süre üç gündenbir güneindi.
Ekip, kodunu birim test ederek bu iyileştirmeyi başardı. Derleme işlem hattında her değişiklik geçtiğinde birim testleri çalıştırır, bu nedenle amita'ya daha az hata ve regresyon ulaşır. Azaltılan iş yükü, Amita'nın her el ile testi daha hızlı tamamlayabildiği anlamına gelir.
Sizin ve ekibinizin bu öğrenme sürecinde oluşturduğu yayın işlem hattı, şunları azalttı:
Yapıyı Test aşamasına almak için gereken süre. Gerekli süre üç günbir günolarak geçti.
Ekip, her gün saat 03:00'te Test'e dağıtım yapmak için planlanmış bir tetikleyici kullanarak bunu başardı.
Test edilen derlemeyi Hazırlamaiçine almak için gereken süre. Gerekli süre iki gündensıfır güne indi.
Ekip bu iyileştirmeyi, Test aşamasına işlevsel bir test biçimi olan Selenium ui testlerini ekleyerek elde etti. Bu otomatikleştirilmiş testler, el ile gerçekleştirilen sürümlerden çok daha hızlıdır.
Onaylanan derlemeyi Hazırlama'den canlıya almak için gereken süre. Gerekli süre bir günden bir gün daha aza geçti.
Ekip, işlem hattına el ile onay denetimleri ekleyerek bu iyileştirmeye ulaştı. Yönetim onay verdiğinde Tim, Hazırlama'dan yapılan değişiklikleri canlıya yayınlayabilir.
Bu değişiklikler toplam sağlama süresini 22 günden 10 güne düşürür. Bu sayıları denkleme yerleştirdiğimizde:
$${Activity\ ratio\ =\ }{\dfrac{5\ gün}{10\ gün}}{ = 0,50}$$
Sonuç yüzde 100 ile çarpılır ve yüzde 50'lik bir düşüş elde edilir.
Her zaman iyileştirmeye yer olsa da, bu değişiklik takım için bir kazançtır. Müşteriler yalnızca daha hızlı değer elde etmekle kalmadı, Tailspin ekibi artık beklemeye daha az zaman ayırıyor ve en çok keyif aldıkları şeyi yapmaya daha fazla zaman ayırıyor: müşterilerinin seveceğini bildikleri özellikleri sunmak.
Daha fazla bilgi edinin
App Service, dağıtım yuvaları ve değişiklikleri geri alma hakkında daha fazla bilgi edinmek için bu ek kaynakları kullanın:
- App Service belgeleri
- App Service kullanarak Azure'a web sitesi dağıtma
- App Service dağıtım yuvalarını kullanarak test ve geri alma için bir web uygulaması dağıtımı hazırlama
- App Service'te hazırlama ortamlarını ayarlama