Rychlejší vydávání průběžného doručování s menšími náklady a riziky
Průběžné doručování je jednou z osmi funkcí v taxonomii DevOps.
Zjištění, proč je průběžné doručování nezbytné
V roce 2012 způsobila chyba nasazení softwaru ztrátu 460 M pro Knight Capital Group, největší obchodník v usa.
Ztráty začaly při otevření trhu. V kódu nebyly žádné chyby – příčinou problému byla chyba, která byla provedena během ručního nasazení pouze na jeden z osmi produkčních serverů.
Když se to pokusili opravit, všechny osm serverů skončily chybně nakonfigurované – takže ztratily ještě více peněz. Vzhledem k tomu, že všechna nasazení byla ruční, neměli způsob, jak automaticky vrátit změny zpět.
Po pokusu o vyřešení problému po dobu 45 minut se nakonec vypne celý systém. V té době ztratili 460 MILIONŮ USD.
Tohle je skutečný příběh. Jaký dopad by to mělo ve vaší organizaci? Provádíte ruční nasazení?
Možná je nejdůležitější otázka, která se má zeptat, aby pomohla pochopit výkon doručení v organizaci:
Důležité
Jak velká je bolest nasazení do produkčního prostředí?
Strach a úzkost, že technici a pracovníci technického týmu cítí, když nasdílí kód do produkčního prostředí, nám může říct hodně o výkonu doručování softwaru týmu.
Co je průběžné doručování?
Důležité
Průběžné doručování je softwarový inženýrský přístup, ve kterém týmy vytvářejí software v krátkých cyklech a zajišťují, aby software mohl být:
- Spolehlivě vydáno kdykoli
- Vydáno ručně
Účelem průběžného doručování je:
- Sestavování, testování a vydávání softwaru s větší rychlostí a frekvencí
- Snížení nákladů, času a rizika poskytování změn tím, že umožňuje více přírůstkových aktualizací aplikací v produkčním prostředí
Průběžné doručování probíhá v případech:
- Software je možné nasadit během celého životního cyklu.
- Kontinuální integrace i rozsáhlá automatizace jsou k dispozici prostřednictvím všech možných částí procesu doručování, obvykle pomocí kanálu nasazení.
- Nasazení libovolné verze softwaru na vyžádání je možné provést pomocí nabízených tlačítek do libovolného prostředí.
Velká ruční nasazení vytvářejí vysokou úroveň rizika tím, že výrazně zvyšují složitost vydaného softwaru, představují pravděpodobnost lidské chyby a znesnadní identifikaci a nápravu selhání nasazení. Frekvence nasazení je nízká, doba trvání změn je vysoká, průměrná doba obnovení je dlouhá a máte vysokou míru selhání změn.
Určený provozní tým provádí ruční nasazení mimo pracovní dobu. K ručnímu otestování zdokumentovaných kroků potřebují dokument s ručním postupem. Provádění velkých nasazení trvá déle, v případě selhání je obtížnější vrátit zpět a po nasazení zahrnuje větší rozsah testování. Počet změn na nasazení je větší a implementace zpětné vazby trvá déle.
Díky automatizaci procesu a umožněním uvolnění do produkčního prostředí jsou výhody průběžného doručování významné a četné:
- Méně odpadu
- Rychlejší NÁVRATNOSTI
- Nižší riziko
- Vyšší kvalita
- Časná zpětná vazba
- Lepší plánování
- Rychlejší spolupráce
- Všichni jsou zapojeni.
- Méně problémů s produkčním prostředím
- Možnost posunout o zabezpečení doleva
- Přizpůsobení a reakce mnohem rychleji
- Mnohem předvídatelnější verze
- Nasazení během libovolné pracovní doby
- Rychlejší reakce na změny na trhu
- Změna doručená bez významného zpoždění
- Nasazení může zahájit kdokoli v týmu.
- Rychlá, opakovatelná a konfigurovatelná nasazení
Podle zprávy o stavu DevOps z roku 2019 dosahuje vysoce výkonné organizace DevOps v porovnání s nízkými výkony:
- Více než 200krát častější nasazení
- Více než 100krát rychlejší doba předstihu pro změny
- Více než 2600krát rychlejší průměrná doba obnovení
- Sedmkrát nižší četnost selhání změn
Kromě toho organizace podle globální studie technologií CA realizují až 20% zlepšení v době uvedení na trh a zvýšení výnosů.
Poznámka:
Průběžné doručování se někdy zaměňuje s průběžným nasazováním. Průběžné nasazování znamená, že každá změna prochází kanálem a automaticky se vloží do produkčního prostředí, což vede k mnoha produkčním nasazením každý den. Průběžné doručování znamená, že můžete provádět časté nasazení, ale nemusí se rozhodnout, obvykle kvůli podnikům, které dávají přednost nižší míře nasazení. K průběžnému nasazování musíte provádět průběžné nasazování.
Průběžná integrace je předpokladem pro průběžné doručování. Postupy zavedené při sestavování a (spolehlivě) nasazování aplikace a s vysokou kvalitou od správy zdrojového kódu.