Softwarová výrobní linka od IBM DevOps

Na jedné straně jsou požadavky zadavatelů softwaru, na druhé straně je někdo musí naprogramovat, nejlépe podle zadání (a potřeb uživatelů). Aby tomu tak zejména u větších systémů skutečně bylo, musí nastoupit DevOps, vysvětluje Jan Svoboda, IBM Cloud DevOps.
Co se vlastně skrývá pod zkratkou DevOps?

DevOps je strategie pro propojení provozních a vývojových týmů, která se dnes uplatňuje ve firmách, jež potřebují zrychlit a zkvalitnit dodávku nového softwaru. DevOps nám umožní vytvořit jednotnou výrobní linku, která nám pomůže zautomatizovat výrobu software od počátečního požadavku až po nasazení finálního produktu do produkčního prostředí. Důležitá je rychlost nasazování nových změn nebo oprav stávajících produktů a služeb. To nám umožňuje pružně reagovat na potřeby zákazníka.

U jakých firem k takovému požadavku dochází?

Tento požadavek mají typicky všechny současné firmy, které potřebují své nové produkty či nové služby dostat co nejrychleji k zákazníkům a mají velké, komplexní IT prostředí. Pro rozsáhlé prostředí totiž zpravidla není jednoduché vyvinout nové služby, nový software. Může jít například o internetové bankovnictví, které je většinou sestavené z mnoha systémů, jež potřebujeme navzájem integrovat dohromady. Zpravidla se na něm také podílejí desítky až stovky lidí. DevOps těmto lidem umožňuje navzájem spolupracovat a vytvořit jednotnou „výrobní linku softwaru“ pro transformaci kódu do výrobních balíčků, které jsou postupně nasazovány do jednotlivých prostředí, od testovacích přes předprodukční až nakonec produkčních. Tato „softwarová výrobní linka“ tedy končí nasazením softwarového balíčku, znamenajícího produkt, službu ve finální produkci, která je nakonec k dispozici zákazníkům.

Dají se nějak provozní a vývojové a týmy efektivně propojit, aby si lépe rozuměli?

Propojování týmů těchto lidí je poměrně složitá záležitost. Historicky totiž byli vždy rozděleni do různých, pevně semknutých týmů, každý s jinými cíli. Vývojáři vždy usilovali o rychlý vývoj nějaké nové funkčnosti a její co nejrychlejší dodání. Oproti tomu cílem lidí z provozu, kteří se starají o chod aplikace, služby, je stabilita aplikace a kvalita služby. Zpravidla se brání změnám, protože cokoliv nového pro ně znamená potenciálně nové problémy, zejména u rozsáhlých, a tím pádem i dosti křehkých systémů.

Princip přístupu DevOps

Jednou z možností propojení obou týmů je automatizace činností, které oba zúčastněné týmy provádějí. To znamená, že DevOps se snaží zahrnout zaměstnance z provozu a vývoje, zodpovědné za vývoj jednoho produktu, do jednoho týmu provázaného funkčními celky. To pomůže zahrnout zaměstnance z provozu jako součást vývoje, aby byli co nejblíže už k počátku vývoje aplikace. Jedině tak mohou dát vývojářům ihned zpětnou vazbu, jakým způsobem budou jimi vytvářené aplikace v provozu fungovat, jedině tak se mohou co nejdříve a nejrychleji ošetřit a vyřešit potenciální problémy.

Existují pro propojení a automatizaci práce těchto týmů nějaké nástroje? Máte nějaké k dispozici v IBM?

V dnešní době existuje řada nástrojů DevOps, ať už nekomerčních open source, nebo komerčních, které jednotlivé části „softwarové výrobní linky“ podporují, nebo ji nejlépe celou zastřešují. Součástí mojí práce je navrhovat její architekturu, kterou skládáme z komerčních nástrojů od IBM, a také z řady nástrojů open source, které se doplňují aby mohly vytvořit ideální „softwarovou výrobní linku“.

Více informací:
http://www.ibm.com/devops
https://www.ibm.com/developerworks/devops/
http://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/
https://developer.ibm.com/urbancode/products/

Exit mobile version