Pryč se starým, sem s novým – i tak by se dala zjednodušeně popsat jedna z myšlenek digitální transformace podniků. Není tím ani tak myšlený samoúčelný pokrok a inovace pro inovace, ale například využití agilního vývoje a technik pro zvýšení efektivity a konkurenceschopnosti podniků. Mezi takové techniky řadíme i tzv. DevOps. Přečtěte si, o co jde a jak dokáže váš podnik posunout kupředu.
Pro lepší pochopení toho, co je DevOps, začneme trochu oklikou. Počítačové procesory staršího data výroby zpracovávaly data sériově („za sebou“) – jednu instrukci za druhou. Sice extrémně rychle, ale z hlediska komplexních úloh nepříliš efektivně. Postupem času se v procesorech začaly objevovat složitější instrukční sady a začal růst počet tzv. jader – pro zjednodušení si je můžete představit jako více propojených procesorů natěsnaných vedle sebe na jediném čipu. Takováto architektura dokáže nejen zpracovávat data paralelně („vedle sebe“), ale také si vzájemně vyměňovat parciální výstupy („mezivýpočty“) mezi jednotlivými jádry, a tím dosahovat vyšší rychlosti a efektivity.
Tip: Přečtěte si více o vývoji procesorů v článku o Moorově zákoně nebo v úvodu do IT (nejen) pro manažery.
Obdobný přístup zahrnuje právě přístup DevOps, který „paralelizuje“ vývoj softwaru a IT provoz, přičemž klade důraz na vzájemnou spolupráci a komunikaci mezi software developmentem a dalšími firemními týmy.
Přesuňme se od analogií k jasnější DevOps definici. Samotný termín je kompilátem anglických výrazů „software development“ (vývoj softwaru) a „IT operations“ (IT provoz). DevOps bychom tedy teoreticky překládali jako VýPrz (vývoj a provoz), což se z pochopitelných důvodů příliš neuchytilo – používáme tedy originální termín DevOps.
Jde o kombinaci postupů, nástrojů, lidí, procesů a technologií, která umožňuje propojení a předpokládá koordinaci dříve oddělených firemních rolí – od zmíněných vývojářů a „provozáků“ přes QA („kvalitáře“) až po IT security („bezpečáky“). V rámci přístupu (či modelu, chcete-li) DevOps tedy výše uvedené role a týmy spolupracují po celou dobu životnosti daného softwaru – od vývoje a testování přes nasazení až po provoz a jeho zabezpečení (přísně vzato i management nebo marketing, zkrátka kdokoliv, kdo se na vývoji daného produktu nějakým způsobem aktivně podílí). Tuto kontinuální spolupráci (často v nejrůznějších infografikách reprezentovanou ležatou osmičkou, stylizovaným symbolem ∞) si můžeme nejjednodušeji vizualizovat jako průnik množin procesů jednotlivých týmů – v základu třeba takto:
Smyslem a cílem je maximalizovat předvídatelnost, účinnost, bezpečnost a udržovatelnost provozních procesů. Nebo ještě lépe: s cílem rychleji a efektivněji reagovat na potřeby zákazníků a poskytovat jim lepší a spolehlivější produkty. A možná vůbec nejlépe: s cílem efektivněji konkurovat na trhu.
Tip: Co se týče software developmentu, věděli jste, že kolik programovacích jazyků znáš, tolikrát jsi vývojářem?
Co je DevOps jsme si už vysvětlili, pojďme blíže prozkoumat výhody, které vám budou z jeho zavedení plynout.
Celková filozofie přístupu pomáhá překlenout „propasti“ mezi jednotlivými DevOps teamy a pokud si „sedne“, vede k lepší interní transparentnosti, komunikaci a spolupráci. Různé teamy (vývoj, provoz, QA ad.) musí společně plánovat práci, vzájemně sdílet své problémy, priority a DevOps procesy. Všichni usilují o dosažení společného cíle, sdílí zodpovědnosti i hodnoty vlastnictví. Vývojáři začnou vnímat zodpovědnost nejen za inovace a jakost už ve fázi vývoje, ale také za výkon a stabilitu. Provoz IT na druhé straně v rámci plánování a vývoje průběžně implementuje zásady správného řízení, zabezpečení a dodržování předpisů. Tím vším se synergicky snižuje neefektivita a šetří čas.
Jednou z největších předností přístupu DevOps je zrychlení software developmentu. Podle průzkumu softwarové společnosti FortSeven umožňují DevOps procesy zrychlení až o 60 %. Propojené týmy jsou flexibilnější, což jim poskytuje prostor na zkracování doby uvedení na trh i vydávacích cyklů. Kratší cykly vydávání znamenají:
Tuto výhodu jsme již nastínili v předchozích odstavcích. Podle studie prezentované webem Distillery Tech přes 70 % společností uvedlo zlepšení zákaznických zkušeností od implementace přístupu DevOps. To je bezesporu jedna z největších obchodních výhod, kterou vám tento přístup může poskytnout.
DevOps teamy se orientují na růst a dokáží se rychle adaptovat prostřednictvím zpětné vazby. Zjištěné poznatky začleňují do svých DevOps procesů, neustále se zlepšují a zrychlují implementaci inovací. Inovace jsou přitom zcela zásadní – pochopily to společnosti, které věnují čas i prostředky na vytváření nových produktů a testování různých způsobů, jak dosáhnout lepších výsledků. Přístup DevOps vám poskytne mnohem více prostoru právě na inovace, které vám pomohou růst a expandovat.
Tip: Mohla by vás zajímat strategie blue ocean – jak pomocí inovací vytvořit nový trh a uniknout z konkurenčního boje.
Cloud computing představuje zásadní změnu paradigmatu, jakým DevOps teamy sestavují, nasazují a provozují aplikace.
DevOps teamy získávají potřebnou pružnost díky možnosti rychle zřizovat a konfigurovat cloudová prostředí. Odpadají vysoké finanční i časové náklady na pořízení a provoz on-premise IT infrastruktury – DevOps teamy si podle aktuálních potřeb vytvoří během několika okamžiků požadovaná cloudová prostředí, a když je přestanou potřebovat, jednoduše je deaktivují.
Tip: Přečtěte si více o PaaS – cloudové službě nepostradatelné nejen pro software development.
V cloudu se režie spojená se správou IT infrastruktury přesouvá na poskytovatele cloudu a DevOps teamy se tak mohou plně soustředit na své aplikace. Serverless přístup – bezserverová architektura – nabízí možnost spouštět aplikace bez nutnosti konfigurace a údržby serverů.
Stále více a více aplikací využívá technologii kontejnerů. Osvědčeným – a v současnosti už v zásadě – standardním řešením pro správu a orchestraci většího množství kontejnerů ve stává nástroj Kubernetes. DevOps teamy si pomocí Kubernetes snadno vytvoří stovky či tisíce aplikačních kontejnerů sdružených do kontejnerových sítí.
Tip: Zjistěte více o Kubernetes a efektivitě i bezpečnosti kontejnerizace.
Sadu komplexních nástrojů pro všechny fáze software developmentu poskytuje prostředí Microsoft Azure. Mezi nejoblíbenější služby a nástroje patří:
Všude chleba o dvou kůrkách a přístup DevOps není v tomto ohledu žádnou výjimkou. Se všemi výhodami, které nabízí, byste měli zvážit také určité nedostatky.
Tip: Je pro vás DevOps tím pravým řešením? Podívejte se na článek DevOps aneb upřednostněte raději software development na zakázku.
Přístup DevOps má spoustu výhod, ale i určitá omezení, zejména při vlastní implementaci. Pokud jej nebudete aplikovat zcela důsledně z technického, procesního i personálního hlediska, může být dokonce kontraproduktivní.
Pokud se na software development vaše společnost primárně nesoustředí, implementaci DevOps raději skutečně pečlivě zvažte. A pokud se vývojem softwaru nezabýváte vůbec, nechte jej na nás – vyvíjíme software na míru a do reálného produktu dokážeme přetvořit i to nejméně konkrétní zadání. Každý IT projekt vždy dokončíme a garantujeme, že případné opravy vyřešíme vždy zdarma. Podívejte se na případové studie a ozvěte se nám, rádi pomůžeme s vývojem softwaru i vám.
Copyright © 2024 - Algotech a.s., all rights reserved
| Zpracování osobních údajů |
Všeobecné obchodní podmínky