Přeskočit navigaci

Kurz DevOps – Úvod

Kurz zlepšení procesu doručování softwaru s využitím DevOps

V DevOps existuje řada různých fází, konceptů a komponent a tento kurz DevOps představuje skvělý způsob, jak zjistit, co je DevOps a jak může pomoct zlepšit proces doručování softwaru.

Principy DevOps

Na začátku tohoto kurzu DevOps představíme několik základních definic, které vám pomůžou porozumět tomu, co je DevOps a jak souvisí s celkovým procesem vývoje softwaru.
  • DevOps představuje metodu vývoje softwaru, která podporuje spolupráci mezi vývojovými a provozními týmy. Díky tomu umožňuje rychlejší a spolehlivější doručování softwaru. Postupy DevOps, běžně označované jako kultura, propojují lidi, procesy a technologie, aby bylo možné poskytovat trvalou hodnotu.

    Další informace o DevOps

  • Vývoj softwaru může být z velké části ruční proces, který vede k velkému počtu chyb v kódu. Vývojový a provozní tým často nemusí být synchronizované, což může vést ke zpomalení doručování softwaru a zklamání obchodních partnerů. DevOps zvyšuje efektivitu všech úloh, které jsou součástí vývoje, nasazování a údržby softwaru.

    Propojení vývojových a provozních týmů vede ke zvýšení viditelnosti, zpřesnění požadavkům, zlepšení komunikace a rychlejšímu uvádění na trh.

  • DevOps odstraňuje překážky mezi vývojovými a provozními týmy a výrazně tak zvyšuje efektivitu v rámci vývoje a nasazování softwaru. DevOps zároveň klade velký důraz na automatizaci, čímž pomáhá snížit celkový počet chyb.

  • Filozofií DevOps je převzít kompletní odpovědnost za všechny aspekty projektu. Na rozdíl od tradičnějších metod vývoje softwaru DevOps odstraňuje překážky mezi vývojovým a provozním týmem. To je něco, na co se často zapomíná, a co může výrazně zdržovat proces doručování softwaru.

    DevOps poskytuje komplexní architekturu pro vývoj a vydávání softwaru, díky které propojuje vývojový a provozní tým. Překážky mezi nimi můžou způsobovat potíže při doručování softwaru a snižovat jeho efektivitu.

  • Přestože DevOps i agilní přístup představují postupy vývoje softwaru, jejich zaměření se mírně liší. DevOps je kultura, která se zaměřuje na zvyšování efektivity všech účastníků vývoje, nasazování a údržby softwaru. Agilní přístup je proces štíhlé výroby, který pomáhá zajistit produkční architekturu vývoje softwaru. Agilní přístup je často specifický pro vývojový tým, zatímco rozsah DevOps zahrnuje všechny účastníky tvorby a údržby softwaru. DevOps a agilní přístup je možné využívat společně a vytvořit tak vysoce efektivní prostředí pro vývoj softwaru.

    Další informace o DevOps v porovnání s agilitou

Prohloubení znalostí DevOps s využitím těchto úloh

Každá část tohoto kurzu DevOps obsahuje několik úloh, které vám pomůžou na cestě k budování praxe v DevOps. Věnujte chvíli zodpovězení následujících otázek:

  • Jakým výzvám čelíte při vývoji a nasazování softwaru?
  • V jakých oblastech byste při vývoji a nasazování softwaru rádi viděli zlepšení efektivity?

Základy postupů DevOps

V další části této příručky k DevOps se seznámíte s hlavními koncepty používanými v postupech DevOps. Tato část vám pomůže s vysvětlením a vyjasněním hlavních komponent.
  • Agilní vývoj, který se běžně využívá v softwarových týmech, představuje přístup k doručování, který souvisí se štíhlou výrobou. Vývoj probíhá v krátkých přírůstkových sprintech. Přestože se tento přístup liší od DevOps, tyto dva přístupy se vzájemně nevylučují – agilní postupy a nástroje můžou pomoct zvýšit efektivitu v rámci vývojového týmu a přispět tak k celkové kultuře DevOps.

    Začínáme s agilním plánováním s využitím Azure Boards

  • U týmu, jehož členové vzájemně spolupracují, je pro přesný a efektivní vývoj softwaru zcela zásadní správa verzí. Systém správy verzí, jako je Git, pořizuje snímky souborů, abyste se kdykoli mohli vrátit k jakékoli verzi. Se systémem správy verzí máte jistotu, že změny, na kterých pracujete, nezpůsobí žádné konflikty.

    Začínáme používat správu verzí s využitím Azure Repos

  • Kontinuální integrace představuje proces automatizace sestavování a testování při dokončení kódu a jeho potvrzení v systému. Kód po potvrzení prochází automatizovaným procesem, který zajišťuje jeho ověření – pouze otestovaný a ověřený kód se pak potvrdí v hlavním zdrojovém kódu, který se běžně označuje jako hlavní větev nebo kmen. Kontinuální integrace tento proces automatizuje a tím výrazně zvyšuje efektivitu. Případné chyby se identifikují hned zpočátku, ještě před sloučením jakéhokoli kódu s hlavní větví.

    Zahájení implementace kontinuální integrace s využitím Azure Pipelines

  • Průběžné doručování je základní postup v rámci DevOps, který umožňuje doručování rychlého a spolehlivého softwaru. Přestože se tento proces podobá zastřešujícímu konceptu DevOps, průběžné doručování představuje architekturu, v rámci které se jednotlivé komponenty kódu při dokončení testují, ověřují a potvrzují. Díky tomu je možné doručovat software kdykoli. Kontinuální integrace je proces, který je součástí průběžného doručování.

    Zahájení implementace průběžného doručování s využitím Azure Pipelines

  • Zřizování a konfigurace prostředků, ať už v místním prostředí nebo v cloudu, je klíčovou součástí operací prostředí. Díky automatizaci procesů a použití nástrojů, které poskytují deklarativní definici infrastruktury (např. textové definiční soubory), můžou týmy nasazovat a konfigurovat prostředky spolehlivým a opakovatelným způsobem. Textové definiční soubory je možné spravovat jako kód s využitím správy verzí, která umožňuje snadné vracení, opětovné vytváření a odstraňování komplexních prostředí. Běžnými řešeními pro implementaci infrastruktury jako kódu jsou technologie jako Terraform nebo Ansible.

    Vytvoření infrastruktury v Azure s využitím Terraformu

    Další informace o používání Ansible s Azure

  • Rozsah DevOps přesahuje oblast vývoje, odpovídá totiž za software během celého procesu doručování, a to včetně výkonu softwaru. V rámci celého procesu DevOps se vytváří smyčka zpětné vazby, která nakonec poskytuje datové body, které můžou pomoct zlepšit budoucí projekty a ověřit rozhodnutí nasadit software. Monitorování a protokolování jsou klíčové komponenty, které podporují ověřené učení, které pak podporuje celkovou iniciativu neustále usilovat o vyšší efektivitu v procesu vývoje a doručování softwaru.

    Informace o shromažďování a analýze telemetrických dat pomocí služby Azure Monitor

  • V průběhu celého životního cyklu se shromažďuje zpětná vazba a telemetrická data, která pomáhají vytvářet podklady pro rozhodování v dalším cyklu. Tyto podklady se označují jako ověřené učení. Ověřené učení pomáhá poskytovat přehled o nových způsobech zkrácení jednotlivých cyklů. Shromážděná data pak slouží k hledání způsobů, jak zvýšit úroveň automatizace, zlepšit procesy a zrychlit a zefektivnit přípravu na nasazení.

Prohloubení znalostí DevOps s využitím těchto úloh

Když už znáte klíčové koncepty postupů DevOps, věnujte chvíli zodpovězení následujících otázek:

  • Jaké části vašeho procesu vývoje se provádějí ručně a mohla by jim prospět automatizace?
  • Existuje možnost zavést ve vašem týmu v rámci procesu sestavování kontinuální integraci?
  • Jakým způsobem váš tým v současné době spravuje infrastrukturu? Je tento proces opakovatelný a spolehlivý nebo by se dal vylepšit s využitím infrastruktury jako kódu?
  • Jaká telemetrická data by vám pomohla získat informace, které potřebujete k práci?
  • Jaké další datové body by podpořily vaše ověřené učení?

Vytváření vlastní kultury DevOps

Další část tohoto kurzu DevOps se věnuje vytváření kultury DevOps. Při přípravě na zavedení DevOps ve vaší firmě pravděpodobně narazíte na rozdíly oproti vašemu stávajícímu přístupu k doručování softwaru.

Novou kulturu nejde vytvořit přes noc a není to tak jednoduché jako nákup nové sady nástrojů. Pokud chcete svému týmu umožnit učit se a trénovat DevOps, možná budete muset provést určité změny aktuální struktury, pracovních postupů a zvyků týmu.

Zjistěte, jak Microsoft vytvořil kulturu DevOps

Prohloubení znalostí DevOps s využitím těchto úloh

Při zvažování vytvoření kultury DevOps ve vaší firmě věnujte chvíli zodpovězení následujících otázek:

  • DevOps pomáhá s koordinací všech účastníků procesu vývoje, doručování a údržby softwaru: Koho se to bude týkat ve vaší organizaci? Vytvořte seznam všech osob, které budou pracovat spolu.
  • Jakými způsoby můžete zlepšit komunikaci mezi vývojovými a provozními týmy? Zkuste vymyslet několik způsobů, jak zlepšit spolupráci účastníků.

Začínáme s Azure DevOps

Díky moderní sadě vývojářských služeb můžete software poskytovat rychleji a spolehlivěji. Inteligentnější plánování, lepší spolupráce a rychlejší dodání – můžete využívat všechny funkce DevOps nebo vybrat ty, které jsou pro vás nejvhodnější.