Shrnutí
V tomto modulu jste definovali model nasazení jako automatizovaný způsob hladkého zavedení nových funkcí aplikací pro uživatele. Dobrý model nasazení vám může pomoct minimalizovat výpadky. To vám také umožní postupně zavádět nové funkce pro uživatele.
Můžete si vybrat z několika vzorů nasazení. Model nasazení, který zvolíte, závisí na vašich důvodech nasazení a vašich prostředků. Máte zavedené kanárové testery? Použijete skryté spuštění a vyberete testery, kteří nevědí, že jsou testery? Pokud máte důvěryhodnou sadu testerů, které postupně rostou z malé sady na větší sadu, můžete zvolit postupné nasazení expozice. Nebo pokud chcete vědět, jestli jedna verze funguje lépe než jiná verze, můžete zvolit testování A/B.
Tým Tailspin se rozhodl implementovat model nasazení s modrou zelenou barvou pomocí slotů nasazení ve službě Azure App Service. sloty nasazení jsou živé aplikace, které mají vlastní názvy hostitelů. Tým může prohodit dva sloty nasazení. Výměnou mohou okamžitě propagovat změny do produkčního prostředí. I když tým není připravený vydat svůj web veřejnosti, ukázali si, že můžou svým uživatelům získat nové funkce, aniž by došlo k výpadku.
Jako bonus jste se v tomto modulu také dozvěděli, jak vrátit nezamýšlenou změnu vrácením potvrzení Gitu a následným odesláním vrácené změny skrze pipeline.
Jak si tým stojí?
V modulu Posouzení stávajícího procesu vývoje softwaru mara mapování hodnotového toku. Cvičení pomohlo týmu analyzovat aktuální proces cyklu vydávání verzí.
Vzpomeňte si, že poměr aktivity , nebo efektivita, je doba zpracování dělená celkovou průběžnou dobou:
$${Poměr\ aktivity\ =\ }{\dfrac{Čas\ procesu}{Celkový\ průběžný\ čas}}$$
Webový tým Tailspin původně tuto metriku použil k určení, že byly 23 procent efektivní.
Tým nejprve snížil některé nedostatky při implementaci kontinuální integrace (CI). Použitím průběžného doručování (CD) se teď ještě více snížila efektivita.
V předchozích vzdělávacích cestách tým snížil:
Doba potřebnou k nastavení správy zdrojového kódu pro nové funkce. Požadovaný čas přešel z tří dnů na nula dnů.
Tým tohoto vylepšení dosáhl přechodem z centralizované správy zdrojového kódu na Git, což je forma distribuované správy zdrojového kódu. Pomocí distribuované správy zdrojového kódu nemusí čekat na odemknutí souborů.
Čas potřebný k doručení kódu Amitě, testerce. Požadovaný čas se snížil z dva dny na nula dnů.
Tým tohoto vylepšení dosáhl přesunutím procesu sestavení do Azure Pipelines. Azure Pipelines automaticky upozorní Amitu, když je k dispozici sestavení. Vývojáři už nemusí aktualizovat tabulku Amity, aby ji informovali.
Doba, kterou Amita potřebuje na testování nových funkcí. Požadovaný čas se změnil z tří dnů na jeden den.
Tým tohoto vylepšení dosáhl testováním kódu jednotek. Spouští jednotkové testy pokaždé, když změna prochází sestavovacím řetězcem, takže méně chyb a regresí dorazí k Amitě. Snížení zatížení znamená, že Amita může dokončit každý ruční test rychleji.
Kanál verze, který jste vy a tým vytvořili v tomto studijním programu, se snížil:
Čas potřebný k tomu, aby se sestavení dostalo do fáze Test. Požadovaný čas přešel od tří dnů na jeden den.
Tým toho dosáhl pomocí naplánovaného spouštěče pro nasazení do Test každý den ve 3:00.
Doba potřebná k přemístění otestovaného sestavení do přípravné fáze. Požadovaný čas se zkrátil z dva dny na nula dní.
Tým tohoto vylepšení dosáhl přidáním testů uživatelského rozhraní Selenium, což je forma funkčního testování, do fáze Test. Tyto automatizované testy jsou mnohem rychlejší než ruční verze.
Doba potřebná k získání schváleného sestavení z stagingu do provozu. Požadovaný čas se změnil z jednoho dne na méně než jeden den.
Tým tohoto vylepšení dosáhl přidáním ručních kontrol schvalování do vývojového procesu. Když správa schválí, Tim může uvolnit změny z stagingu do produkce.
Tyto změny snižují celkovou dobu předstihu z 22 dnů na 10 dnů. Když do rovnice nahradíme tato čísla:
$${Poměr aktivity\ =\ }{\dfrac{5\ dnů}{10\ dní}}{ = 0,50}$$
Výsledek vynásobíme 100 procenty a získáme snížení o 50 procent.
I když je vždy prostor pro zlepšení, tato změna je výhrou pro tým. Nejen, že zákazníci rychleji získají hodnotu, tým Tailspin teď tráví méně času čekáním a více času tím, co si nejvíce užívá: poskytování funkcí, které znají, že jejich zákazníci budou milovat.
Víc se uč
Další informace o službě App Service, slotech nasazení a vrácení změn zpět najdete v těchto dalších zdrojích informací:
- Dokumentace ke službě App Service
- nasazení webu do Azure pomocí služby App Service
- Připravit nasazení webové aplikace pro testování a vrácení změn pomocí slotů nasazení služby App Service
- Nastavení přípravných prostředí ve službě App Service