Shrnutí

Dokončeno

V tomto modulu jste definovali model nasazení jako automatizovaný způsob hladkého zavedení nových funkcí aplikace 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ý tester? Použijete tmavé spuštění a zvolíte testery, kteří neví, že jsou testeři? 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ě Aplikace Azure Service. Sloty nasazení jsou živé aplikace, které mají vlastní názvy hostitelů. Tým může prohodit dva sloty nasazení. Prohozením můžou změny v produkčním prostředí okamžitě zvýšit. 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 také v tomto modulu dozvěděli, jak vrátit nezamýšlenou změnu vrácením potvrzení Gitu a následným nasdílením vrácené změny v kanálu.

Jak si vede tým?

V modulu Vyhodnocení stávajícího modulu procesu vývoje softwaru mara provedla cvičení 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í rozdělená celkovým předstihem:

$${Poměr\ aktivity\ =\ }{\dfrac{Doba\ zpracování}{Celková\ doba\ realizace}}$$

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 studijních programech se tým snížil:

  • Doba potřebnou k nastavení správy zdrojového kódu pro nové funkce. Požadovaný čas šel ze tří dnů na nulu.

    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ů.

  • Doba, která trvá doručení kódu do Amity, testeru. Požadovaný čas šel ze dvou dnů na nulu.

    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, po které Amita trvá testování nových funkcí. Požadovaný čas šel ze tří dnů na jeden den.

    Tým tohoto vylepšení dosáhl testováním kódu jednotek. Spouští testy jednotek pokaždé, když se změna prochází kanálem buildu, takže méně chyb a regresí dosáhne Amity. 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:

  • Doba potřebnou k tomu, aby se sestavení dostalo do testovací fáze. Požadovaný čas šel ze tří dnů na jeden den.

    Tým toho dosáhl pomocí naplánovaného triggeru, který se nasadí do testování každý den v 3:00.

  • Doba potřebnou k otestování sestavení do přípravného prostředí. Požadovaný čas šel ze dvou dnů na nulu.

    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 testování . Tyto automatizované testy jsou mnohem rychlejší než ruční verze.

  • Doba potřebnou k získání schváleného sestavení z přípravného do provozu. Požadovaný čas šel z jednoho dne na méně než jeden den.

    Tým tohoto vylepšení dosáhl přidáním kontrol ručního schvalování do kanálu. Když se správa odhlásí, Tim může uvolnit změny z přípravného na aktivní.

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 50% snížení.

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.

Další informace

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í: