Aby informační technologie byly pomocníkem, musí rychle a pružně reagovat na okolní změny. Jenže čím rychlejší vývoj je, tím více chyb vzniká a výsledná řešení ne vždy fungují dle očekávání. Důsledkem je začarovaný kruh neustálého zdokonalování, oprav a hledání nových postupů. Nejde o nový problém, jen je dnes znatelnější a jeho řešení vyžaduje nové přístupy − například průběžnou integraci, zejména pak ve spojení s tzv. průběžným doručováním a průběžným nasazováním.

Kontinuální vývoj

Průběžná integrace (continuous integration, někdy též kontinuální integrace) je přístup k vývoji softwaru, kde jsou všechny součásti výsledného celku integrovány průběžně v co nejkratších intervalech, typicky denně. Díky tomuto nepřetržitému zpracování změn je možné rychle sestavovat nové verze, které opravují chyby i přináší další funkcionalitu. Historie tohoto přístupu sice spadá již do 60. let 20. století, nicméně jeho obliba se rozšiřuje právě v souvislosti s dnešním dynamickým rozvojem.

Ilustrace: Shutterstock

Obecně se průběžná integrace chápe jako kombinace postupů a odpovídajících nástrojů k urychlení vývoje softwaru. Smyslem je dát vývojovým týmům k dispozici techniky, které umožní efektivní zrychlení celého vývojového cyklu při současné minimalizaci nároků na lidské zdroje a při maximálním snížení chybovosti. Obvykle není díky průběžné integraci nutné čekat na dokončení všech rozpracovaných změn. Novou verzi lze vytvářet prakticky ihned po každé změně. Navíc ve spojení s automatickým testováním je přínosem i rychlé odhalení případných chyb a jejich náprava. O drastickém snížení nákladů na samotné testování ani nemluvě.

Automatické vydávání

Průběžné doručování (z anglického continuous delivery) rozšiřuje průběžnou integraci, která má za cíl umožnit co nejrychleji a současně efektivně zpřístupnit nejnovější změny uživatelům. Nové verze tak mohou být do produkčního prostředí nasazovány v krátkých časových intervalech, ihned po zapracování změn, jejich automatickém otestování a rozhodnutí, že k uvolnění skutečně dojde. Není nutné čekat na žádné další úpravy. Aby vše fungovalo, jak má, je důležité nasazování provádět i po malých změnách − v případě problémů pak cesta zpět nepředstavuje komplikace. K pomyslné dokonalosti pak přivádí průběžné doručování průběžné nasazování (continuous deployment), které zajišťuje automatické nasazování každé integrované a otestované změny. Tedy zcela bez lidského rozhodnutí: nasazení zabrání pouze chyba zjištěná během automatického testování.

Vhodný pomocník

V současnosti je na trhu celá řada řešení pro vývoj softwaru. Z pohledu podpory průběžné integrace by takovému řešení neměly chybět například kvalitní nástroje a služby pro správu verzí, nástroj pro evidenci chyb či problémů nebo řešení pro spolupráci. Při výběru platformy je také potřeba myslet na to, že by měla spojit všechny oblasti průběžné integrace, doručování a nasazování včetně automatizovaného testování do jediného workflow. Výhodu pak dále představuje schopnost jednotlivé činnosti propojit i s dalšími nástroji a službami.

Výše uvedené splňuje například řešení společnost Atlassian, jež navíc dokáže svou platformu propojit se stovkami dalších nástrojů a plně si tak vývoj, testování i nasazování přizpůsobit individuálním potřebám.

Průběžná integrace je důležitou součástí extrémního programování, agilního vývoje i umožnění úzké spolupráce mezi vývojovými a provozními týmy, tzv. DevOps přístupu (z development − operations). Přestože ji nelze považovat za všelék na jakýkoliv projekt, jde o možnost, jak efektivně reagovat na stále náročnější požadavky digitálního věku. Nutné je ale pochopit, že samotné technologie nestačí. Ve skutečnosti jde o celkovou filozofii vývoje IT a zejména o lidi, kteří tyto nástroje budou používat k usnadnění vlastní práce.

 

Článek byl publikován v magazínu ICT revue.