Tak jako ve většině technologických odvětví se i ve vývoji softwaru 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í kvalifikované 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 otestovat 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 infrastruktury 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 prostředí vypadat. Specializovaný software pak zajistí, že se při jakékoliv, 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