Všichni jsme si také zvykli, že většinu přání si můžeme splnit velmi rychle, v mnoha případech prakticky ihned. Zejména tehdy, pokud jde o tužby digitální. Na nové funkce ani na vylepšení nechceme čekat. Uzemněná letadla kvůli softwaru? Pár týdnů způsobuje obrovské ztráty a vyvolává až paniku ve stylu, co vlastně bude dál.
S ohledem na dynamiku požadavků klientů a kritičnost systému často platí i to, že méně kvalitní a rychle dostupné řešení může být pro zákazníka výhodnější než robustní celek vyvíjený mnoho měsíců nebo let. Tradiční způsoby tvorby softwareu – ale i návrhu hardwaru nebo výroby méně důležitých zařízení – nemohou požadavky „moderního trhu“ naplnit. Existují dokonce i situace, kdy je nutné vydávat verze v denních intervalech, případně v řádu hodin.
Dříve vývojové a provozní týmy pracovaly odděleně a komunikovaly spolu jen v nezbytné míře. Výsledkem bylo obtížné řešení akutních problémů a další rozvoj s ohledem na potřeby provozu, a tedy i nízká efektivita. Obě strany sice vynakládaly maximální úsilí a snažily se o co nejlepší výstupy své práce, nicméně v důsledku vzájemné uzavřenosti mnohdy ani dobrá vůle nestačila.
Lze namítnout, že existují agilní metodiky vývoje. Ano, jenže ty jsou zaměřené především na tvorbu a vývojové týmy, přičemž ostatní aspekty zůstávají poněkud stranou. Ať jde například o integraci nebo požadavky provozu. Důležité je zajistit úzkou spolupráci mezi vývojem a samotným provozem – a začít využívat tzv. DevOps (z Development – Operations) přístup.
Aby nedošlo k omylu, DevOps není o konkrétních nástrojích. Není to dokonce ani o konkrétních lidech. Ve skutečnosti jde o filozofii spolupráce, o kulturu, jejíž podstatou je sdílení. O týmech a celém kolektivu. O maximální využití automatizace. A v neposlední řadě také o vůli neustále se zlepšovat a neustrnout v zastarávajících paradigmatech. Na druhou stranu jsou kvalitní nástroje nezbytné, za všechny významné hráče lze uvést společnost Atlassian známou například nástrojem pro evidenci úloh a problémů Jira, řešením pro spolupráci Confluence nebo třeba platformou pro kontinuální integraci i nasazování Bamboo. Atlassian má řadu partnerů a jedním z dlouholetých je i česká společnost Onlio, která je jako jediná enterprise partner v České republice.
Každá mince má dvě strany aneb Klady a přínosy
Mezi klíčové výhody DevOps přístupu patří větší flexibilita při řešení problémů, možnost rychlejšího vydávání nových verzí včetně naplnění myšlenek tzv. průběžného doručování, průběžného nasazování a průběžné integrace. Všeobecně v případě DevOps hovoříme i o lepším řízení NEplánované práce a o chytřejších procesech. A samozřejmě o nižších nákladech.
To nejpodstatnější je ale úzká spolupráce a sdílení všeho, co může vývoj nebo provoz zefektivnit a zkvalitnit. V rámci DevOps je tak nutné sdílet nejen nástroje a informace, ale také znalosti jednotlivých týmů a jejich členů, často je nutná změna struktury týmů. Smyslem takto širokého pojetí je předcházet zpřístupňování informací až na vyžádání, které velmi často způsobuje průtahy při řešení dílčích problémů. Pozitivním dopadem je zánik izolovaných týmů a posílení sebedůvěry i změna celkového přístupu k řešení problémů – cíle jsou chápány jako společné a mizí překážky mezi vývojem a provozem.
A co zápory?
DevOps přináší i určité nevýhody a rizika. Předně jde o přehnaná očekávání, že tento přístup sám vyřeší všechny problémy. Ne, nevyřeší – dokonce čím jsou současné problémy menší a období mezi vydáváním nových verzí delší, tím roste riziko možného zhoršení počátečního stavu.
Aby vše fungovalo, musí se DevOps stát kulturou práce, nestačí direktivní prosazení. Je nutné zvládnout nové postupy i nástroje. Někomu může vadit i částečná kontrola nad úplným životním cyklem. Nic není zadarmo a zavedení DevOps přístupu něco stojí, experti jsou drazí a individuální nedomyšlené cesty končí obvykle neúspěchem. Pokud ale tyto problémy překonáme, získáváme efektivní prostředky na naplnění stále náročnějších požadavků digitálního věku. A to již stojí za zamyšlení.
Autor: Martin Cvrček, společnost Onlio