Co je DevOps?
Pokud sledujete náš blog, už víte, co je DevOps. Pokud ne, zde je krátké shrnutí a článek, který si můžete přečíst o kultuře DevOps:
Metodika DevOps zlepšuje komunikaci mezi vašimi vývojáři a Ops na projektech. Cíle DevOps jsou následující:
- ušetřit čas na řešení incidentů
- rychleji spouštět nové funkce
- snížit rizika díky automatizaci procesů
- výrazně zvýšit spokojenost vašich zákazníků a zároveň vašich vývojářů.
K tomu hovoříme o smyčce zpětné vazby. Jedná se o koncept DevOps, který spočívá v měření dopadu vývoje, abyste poznali jeho efektivitu a mohli se dále učit. Tato smyčka zpětné vazby je klíčem k dosažení cílů DevOps a úspěšnému zlepšování softwaru a procesů vašeho týmu. Pomůže také vašim týmům dodávat kvalitní kód.
Dnes podle IDC využívá přístup DevOps 20 % projektů vývoje aplikací. Do roku 2021 se toto číslo zvýší na 35 až 40 %. Není náhodou, že tolik IT týmů přijímá metodiku DevOps pro projekt.
Principy DevOps
Používání metodiky DevOps v týmu pro vývoj softwaru radikálně změní vaši organizaci. Změní způsob, jakým váš tým vývojářů kóduje a nasazuje verze. Je založena na 6 klíčových principech:
- Automatizace
- Iterace
- Samoobsluha
- Plynulé zlepšování
- Plynulé testování
- Spolupráce
Automatizace umožňuje vývojářům a Ops zjednodušit proces a umožňuje týmům být produktivnější. Protože automatizace snižuje počet manuálních činností, zlepšuje kvalitu vývoje a bezpečnost softwaru. Zatímco iterace urychluje proces vývoje díky rychlejší zpětné vazbě od koncových uživatelů. Samoobsluha také urychluje vydávání aplikací, protože umožňuje vývojářům, aby sami nasazovali aplikace na vyžádání. Neustálé zlepšování je tu proto, aby byl proces plynulejší. Součástí procesu DevOps je totiž po každém incidentu provést post mortem. Post mortem je zaznamenání každého incidentu, jeho dopadu, opatření přijatých k nápravě, příčiny problému a opatření, která byla přijata, aby se zabránilo jeho opakování. Průběžné testování umožňuje rychlejší vydání a zároveň vyšší kvalitu. A v neposlední řadě je klíčová spolupráce mezi vývojáři a Ops, která umožňuje spojit úsilí a rychleji dosáhnout úspěchu.
Proces DevOps
Proces DevOps se skládá z řady kroků. Zde je diagram, který vám pomůže s vizualizací:
V uvedeném pořadí jsou kroky procesu DevOps následující:
- Plánujte: V této části projektu organizujete úkoly, harmonogramy a nastavujete nástroje pro řízení projektů. Jde o to naplánovat úkoly pomocí procesu user story z agilní metodiky. Napsání tiketů ve formě uživatelského příběhu umožní vývojářům a Ops pochopit, jaký vývoj je třeba provést a proč. Dokonalý uživatelský příběh jako co (kdo, kde, spouštěč), proč a akceptační kritéria. (Příklad: Když jako uživatel ve svém zákaznickém účtu kliknu na „možnost“, otevře se vyskakovací okno a já si mohu změnit jméno a křestní jméno).
- Kód: Zde vývojáři provádějí vývoj kódu a kontrolu kódu. Když je kód hotový, sloučí ho. V praxi DevOps je důležité, aby týmy Ops a vývojářů sdílely nástroj pro práci s kódem, například Github nebo Gitlab.
- Sestavování: Tento krok je prvním krokem směrem k automatizaci. Cílem je zde sestavit zdrojový kód do jednoho požadovaného formátu, zkompilovat, otestovat a nasadit na určitém místě infrastruktury. Po nastavení tohoto kroku mohou nástroje pro kontinuální integraci (CI) a doručování (CD) zkontrolovat a ověřit zdrojový kód ze správy zdrojového kódu a sestavit jej.
- Test: Proces průběžného testování snižuje rizika. Automatické testy zajišťují, že v produkci nebudou implementovány žádné chyby. Abyste zajistili co nejlepší kvalitu vývoje softwaru, musíte do pracovního postupu implementovat testovací nástroje.
- Vydávání: Kód prošel procesem testování (kontinuální integrace) a je připraven k nasazení.
- Nasazení: Provozní tým nasazuje novou funkci do produkce. Protože však automatizace je jedním z principů DevOps, je možné nastavit kontinuální nasazení.
- Provozovat/konfigurovat infrastrukturu: Ops buduje nebo udržuje škálovatelnou infrastrukturu, infrastrukturu jako kód a kontroluje bezpečnostní problémy a správu logů.
- Monitoruje: Monitorování je důležitým krokem, protože umožňuje rychleji opravovat incidenty a vytvářet lepší zkušenosti pro koncové uživatele.
Jelikož cílem DevOps je výrazně zvýšit spokojenost vašich zákazníků, vaše týmy přirozeně znovu zahajují kroky s novou funkcí vašeho softwaru nebo aplikace. Proto DevOps vždy vykreslujeme jako nekonečnou smyčku.
Zavádění DevOps ve vašem týmu
Pokud váš tým ještě nezavedl proces DevOps nebo dokonce agilní proces, může se to zdát matoucí, zejména proto, že to znamená posun nejen organizace, ale i kultury vašeho týmu.
Chcete-li zavést DevOps ve svém týmu, musíte si dát na čas, postupovat krok za krokem, nespěchat. Zde je návod, jak tuto novou kulturu a organizaci postupně zavádět:
- Začněte změnou myšlení svých týmů. Bez nástrojů nemůže proces DevOps existovat, ale to nestačí, vývojáři a Ops si musí navzájem rozumět a zajímat se o svou práci. Stručně řečeno, vývojáři a Ops se musí naučit spolupracovat.
- Zavedení agilního vývojového procesu. Většina projektů DevOps používá metodiku Scrum nebo Kanban z agilních metodik.
- Abyste mohli provést čtvrtý krok, měli byste přijmout cloud computing (privátní, veřejný nebo hybridní cloud).
- Automatizujte nasazení softwaru díky kontinuální integraci (CI), aby vývojáři mohli snadno poslat novou funkci.
- Využívejte průběžné testování softwaru, abyste snížili rizika.
- Zavedete kontinuální nasazování (CD), ubude manuálních činností, rychleji můžete nasazovat nové verze do produkce.
Mějte na paměti, že přidání těchto procesů změní vaši organizaci a vytvoří nové potřeby. Váš tým může například potřebovat školení pro nové nástroje DevOps, které byly implementovány.
Skutečného prostředí DevOps dosáhnete, až bude váš vývojový proces maximálně automatizovaný a agilní. Pokud máte dotazy k některému z kroků tohoto procesu, neváhejte nás kontaktovat.