Role DevOps v digitální transformaci
18.07.2023
Role DevOps v digitální transformaci

​​Tak jako ve většině technologic­kých odvětví se i ve vývoji soft­waru na zakázku stále zvyšuje tlak na jeho rychlost a flexibilitu. V tradičních přístupech, jako je například Waterfall, to však vět­šinou není možné. Technologické společnosti tak objevují nové agilní přístupy, které umožňují zrychlení vývoje a nasazování projektů. Jedním ze základních stavebních kamenů agilního přístupu k vývoji softwaru je využití metody DevOps. Ty umožňují společnostem velmi rychle reagovat na měnící se požadavky klientů v průběhu vývoje i provozu aplikací.

Průzkum z roku 2019 vytvořený společností Puppet ukázal, že použití metody DevOps umožnil technologickým společnostem zrychlení doručování změnových požadavků a vydávání nových verzí softwaru až o 63 %.

Klíčem ke zlepšení výkonnosti, kvality služeb a zároveň i zvýšení zisku je pro IT firmy pochopení a průchod tzv. digitální transformací. Jedině tak je možné udržet krok, přizpůsobovat se novým trendům a zůstat konkurenceschopným. Ne vždy se to však podaří.

I když podle průzkumu společnosti Statista se očekává, že do roku 2024 bude na digitální transformaci vynaloženo neuvěřitelných 2.4 miliard USD, jen 30 % z těchto implementací je nakonec úspěšných. V čem dělá tolik firem chybu? Velmi často je to podceněním samotné transformace, neznalostí všech důležitých rolí a chybějící kvalifiko­va­né autority, které jsou v této cestě digitální transformace nezbytné.

V tomto článku bychom se rádi věnovali základním aspektům digitální transformace z pohledu metody DevOps, které přímo stojí a jsou zodpovědné za oblasti jako je automatizace, zvyšování kvality a bezpečnosti softwaru a v neposlední řadě snižování nákladů.

Co je vlastně DevOps?

DevOps bývá často označením pro pracovní pozici, nebo proces nasazení. Pravdou je, že je to celý soubor pravidel, metod, postupů a technologií určených k urychlení a optimalizaci vývoje softwaru. Často využívá automatizaci, cloudové služby, virtualizaci a kontejnerizaci k dosažení rychlého, spolehlivého a předvídatelného nasazení nových verzí softwarových produktů pomocí agilního vývojového procesu.

Samotný název DevOps vznikl spojením dvou anglických slov „Development“ a „Operations“, tedy vývoj a nasazení softwaru. O ty se v tradičním vývojovém procesu starají různé týmy. V procesu DevOps jsou tyto úkoly spojeny do jednoho celku a vykonává je tak stejný tým. DevOps zavádí a popisuje důležité automatizace, které při tvorbě projektu ve starších přístupech zabíraly příliš mnoho času. Mezi tyto automatizace patří integrace projektu (continuous integration) a nasazení projektu (continuous delivery). To umožňuje po každém vývojovém cyklu automaticky sestavit projekt a otesto­vat tak, zda je práce jednotlivých vývojářů funkční ve společném celku, a to bez zásahu člověka. Nasazování nových verzí projektu je obvykle velmi zdlouhavá činnost. Při použití tohoto přístupu však tato potřeba odpadá a nasazení provádí automaticky počítač.​

Co je digitální transformace?

Digitální transformace je komplexní a rozsáhlý proces, při kterém se buď digitálně upravují stávající podnikové procesy, nebo se dokonce vytvářejí nové, aby efektivně vyhovovaly měnícím se požadavkům podnikání a trhu. Digitální transformace tedy vyžaduje výrazné přepracování procesů tak, aby se staly digitálními, a přepracování zákaznické zkušenosti tak, aby odpovídala digitálnímu prostředí. Jinými slovy, digitální transformace využívá digitální technologie a data k vytváření zisku, efektivizaci podnikání, nahrazení nebo transformaci podnikových procesů, kompetencí, modelů řízení a výroby (nikoliv pouze k jejich digitalizaci) a k vytvoření prostředí pro digitální obchod a spolupráci.

Digitální transformaci v podnikání je třeba chápat jako nikdy nekončící proces. Na této cestě budou podniky vždy muset reagovat na změny v prostředí, přehodnocovat svůj status quo a měnit své transformační aktivity.​

Jak DevOps zapadá do digitální transformace?

Vybudování kultury DevOps ve firmě není jednorázová záležitost. Jedná se o trvalý a nikdy nekončící proces. Nejde jen o sérii technologických kroků, které musí organizace, týmy a samotní programátoři splnit, ale jde o změnu organizace projektu a především o změnu myšlení zaměstnanců a vedení.

V tradičním procesu vydávání softwaru jeden tým (vývojový) píše, testuje a sestavuje kód izolovaně. Poté ho předá druhému (provoznímu) k nasazení a vydání. Tento proces však může vést k pomalejšímu vydávání a tím i ke zhoršení zákaznické zkušenosti. DevOps zásadně omezuje právě problémy spojené s tradičním procesem vydávání softwaru. Technologické firmy tak mohou vydávat produkty v řádu hodin nebo dnů místo týdnů nebo měsíců.

Digitální transformace zlepšuje podnikové procesy prostřednictvím technologických vylepšení. Vytváří také nové a vylepšené procesy, které jsou řízeny technologiemi. DevOps propojuje procesy vývoje softwaru a provozní procesy. Díky této synergii může DevOps pomoci organizaci na její cestě k digitální transformaci. Níže se podíváme na čtyři klíčové body, jak jsou procesy DevOps užitečné při digitální transformaci.​

1. Automatizace

Automatizace je důležitým aspektem digitální transformace, protože pomáhá zrychlit procesy, omezit manuální činnosti, odhalovat chyby a zvýšit efektivitu. Díky DevOps mohou organizace automatizovat různé fáze vývoje a dodávání softwaru, včetně sestavování a nasazování, testování a správy infrastruktury. Automatizace minimalizuje čas potřebný k vývoji, testování a vydání softwaru, což vede k rychlejšímu uvedení na trh a častějšímu vydávání nových verzí. DevOps navíc umožňuje automatizovat monitorování a údržbu aplikací a infrastruktury. To pomáhá organizacím rychle identifikovat a řešit problémy a zajistit vysokou dostupnost aplikací.

DevOps navíc umožňuje automatizovat kontrolu bezpečnostních hrozeb, čímž snižuje riziko narušení bezpečnosti a zajišťuje, že aplikace splňují regulatorní požadavky. To pomáhá organizacím splnit požadavky neustále se měnícího podnikatelského prostředí a udržet si náskok před konkurencí.​

2. Snížení nákladů

Kontrola nákladů je klíčovou součástí každé organizace. V digitální éře je však obzvláště důležitá, protože při práci s novými technologiemi a různorodými týmy je snadné ztratit přehled o výdajích. Pokud se vyskytnou problémy s některou částí systému, budete o nich okamžitě vědět, takže je můžete rychle odstranit a zabránit dalším škodám.

DevOps šetří organizacím náklady omezením manuálních procesů, zvýšením efektivity a optimalizací využívání zdrojů. Zefektivněním procesů vývoje, testování a nasazení snižuje DevOps riziko chyb, přepracování a výpadků.​

3. Zvyšování kvality softwaru

V prostředí DevOps vývojové a provozní týmy úzce spolupracují, což vede k celkově efektivnější komunikaci. Výsledkem je efektivnější proces vývoje softwaru, který snižuje riziko chyb a zajišťuje, že aplikace splňují požadované standardy kvality. V rámci DevOps jsou zavedeny postupy průběžného testování, integrace a dodávání (CI/CD), které zajišťují důkladné otestování a ověření aplikací před jejich vydáním. Je tak možné zachytit a vyřešit problémy v rané fázi vývoje, snižovat riziko chyb a zajistit vysokou kvalitu aplikací.

DevOps také pomáhá zavést mechanismy průběžného monitorování a zpětné vazby, které poskytují přehled o výkonu aplikací a infrastruk­tu­ry v reálném čase. Organizace tak mohou rychle identifikovat a řešit problémy, zlepšovat kvalitu aplikací a zvyšovat uživatelskou zkušenost. DevOps navíc podporuje používání nástrojů pro automatizaci a orchestraci, které vývojářským firmám pomáhají standardizovat a zefektivnit proces nasazení. Výsledkem je méně manuálních chyb a kratší doba nasazení aplikací, což vede i ke zlepšení kontroly kvality.

4. Využití nových technologií​

Ještě před několika lety byly mnohé technologické společnosti v oblasti IT a softwaru spíše konzervativní a jakékoliv změna nebo adopce nových technologií byla velmi náročná, v posledních pěti letech dochází k přesnému opaku. Oblast IT zažívá revoluci směrem do cloudových služeb, která těmto společnostem umožňuje využít služby PaaS a SaaS a která byla do této doby mimo jejich finanční a časové možnosti.

Za zmínku stojí přes 250 spravovaných služeb (managed services) v AWS, Azure, nebo GCP dostupných během pár minut na „jedno kliknutí“. Na vzestupu je i strojové učení, kde jsou k dispozici neuronové sítě, speciálně upravené pracovní stanice nebo přizpůsobená datová skladiště.

Většina aplikací nově nekončí na serveru jako proces, ale izolovaně v kontejnerech orchestrovaných v Kubernetes/Openshiftu, a stále častěji, pokud to má aplikační smysl, i serverless (AWS Lambda/Azure Functions/Google Cloud Functions).

Při vytváření nových aplikačních a infrastrukturních návrhů je autor prakticky limitovaný jen znalostí a možností těchto poskytovatelů a vlastní fantazií. (Kterou krotí snad jen hranice definovaného rozpočtu a korporátních pravidel.)

Poměrně nová a čím dál rozšířenější technologie používaná v DevOps je možnost deklarativního přístupu k doručení software, kdy se již nestaráme o to, jak doručit, ale popisujeme pouze, jak to má v pro­stře­dí vypadat. Specializovaný software pak zajistí, že se při jakéko­liv, i nechtěné, změně prostředí samo opraví do funkčního stavu.​

Během doručování softwaru, ale i při jeho běhu v prostředí máme k dispozici pokročilé nástroje diagnostiky a detekce chyb, které jsou také již napojené na strojové učení a umožňují nejen odchytit, ale i predikovat potenciální hrozby. Na základě znalosti běhu aplikací jsou detekovány a reportovány anomálie i nestandardní chování uživatelů, což vede ke zvýšení bezpečnosti. V neposlední řadě lze tyto technologie využít i k automatizovanému vytvoření dokumentace prostředí.

Závěr

Digitální transformace je kompletní přeměna podnikání, která vyžaduje více než jen aktualizaci IT systému nebo vytvoření několika aplikací. V rychlém světě, ve kterém se dnes nacházíme, potřebují organizace prostě rychle a efektivně inovovat. Aby této změny bylo dosahováno, je třeba změnit představu o fungování firmy jako takové. Nejlepším způsobem, jak zahájit digitální transformaci společnosti, je iniciovat kulturu DevOps. Úspěšná digitální transformace zahrnuje změnu systému práce, která následně povede ke zvýšení efektivity a úspoře času i financí.​

Vojtěch Kijenský

Zdroj: SystemOnLine 06/2023