Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
DevOps kombinuje vývoj (Dev) a operace (Ops) a spojuje lidi, procesy a technologie při plánování aplikací, vývoji, doručování a provozu. DevOps umožňuje koordinaci a spolupráci mezi dříve vyloženými rolemi, jako jsou vývoj, it operace, kvalitní inženýrství a zabezpečení.
Týmy přijímají kulturu, postupy a nástroje DevOps, aby zvýšily důvěru v aplikace, které sestavují, reagovaly lépe na potřeby zákazníků a rychleji dosahovaly obchodních cílů. DevOps pomáhá týmům nepřetržitě poskytovat hodnotu tím, že vytváří lepší a spolehlivější produkty.
DevOps a životní cyklus aplikace
DevOps ovlivňuje životní cyklus aplikace ve fázích plánování, vývoje, doručování a provozu . Každá fáze závisí na ostatních fázích a fáze nejsou specifické pro roli. Kultura DevOps zahrnuje všechny role v každé fázi do určité míry.
Následující diagram znázorňuje fáze životního stylu aplikace DevOps:
Cíle a výhody DevOps
Když tým přijme kulturu, postupy a nástroje DevOps, můžou dosáhnout úžasných věcí:
Zrychlete dobu uvedení na trh
Díky vyšší efektivitě, vylepšené týmové spolupráci, automatizačním nástrojům a průběžnému nasazování jsou schopny rychle zkrátit dobu od vzniku produktu až po uvedení na trh.
Přizpůsobení trhu a hospodářské soutěži
Týmy, které vyžadují kulturu DevOps, se zaměřují na zákazníky. Když si vezmete flexibilitu, týmové spolupráci a zaměříte se na zákaznické prostředí, můžou týmy nepřetržitě poskytovat svým zákazníkům hodnotu a zvýšit jejich konkurenceschopnost na marketplace.
Udržování stability a spolehlivosti systému
Když týmy přijmou postupy průběžného zlepšování, mohou dosáhnout zvýšené stability a spolehlivosti produktů a služeb, které nasazují. Tyto postupy pomáhají snižovat chyby a rizika.
Zlepšení střední doby obnovení
Průměrná doba obnovy udává, jak dlouho trvá zotavení po selhání nebo porušení. Aby týmy mohli spravovat selhání softwaru, porušení zabezpečení a plány průběžného zlepšování, měli by tuto metriku měřit a pracovat na tom, aby tuto metriku zlepšily.
Přijetí kultury DevOps
Pokud chcete plně implementovat DevOps, musíte přijmout kulturu DevOps. Kultivování kultury DevOps vyžaduje hluboké změny ve způsobu, jakým lidé pracují a spolupracují. Když se organizace zaváže do kultury DevOps, vytvoří prostředí pro vysoce výkonné týmy, které se budou vyvíjet. Zatímco zavádění postupů DevOps automatizuje a optimalizuje procesy prostřednictvím technologií, aniž by došlo ke změně kultury DevOps v organizaci a jejích lidech, nebudete plně využívat výhody DevOps.
Následující obrázek zachycuje klíčové aspekty kultury živého provozu webu Microsoft.
Klíčové komponenty DevOps kultury zahrnují následující postupy:
- Spolupráce, viditelnost a sladění: Symbol zdravé kultury DevOps je spolupráce mezi týmy. Spolupráce začíná viditelností. Vývoj, IT a další týmy by měly sdílet své procesy DevOps, priority a obavy mezi sebou. Plánováním práce společně mají lepší pozici, aby sladili cíle a měřítka úspěchu, které souvisejí s podnikáním.
- Změny v rozsahu a odpovědnosti: Jakmile se týmy slaďují, převezmou odpovědnost a stanou se zapojenými do jiných fází životního cyklu – nejen těch, které jsou ústřední pro jejich role. Vývojáři se například stávají zodpovědnými nejen za inovace a kvalitu zavedenou ve fázi vývoje, ale také za výkon a stabilitu, které jejich změny přinášejí do fáze provozu. Operátoři IT zároveň musí do fáze plánování a vývoje zahrnout zásady správného řízení, zabezpečení a dodržování předpisů.
- Kratší cykly vydávání verzí: Týmy DevOps zůstávají agilní díky vydání softwaru v krátkých cyklech. Kratší cykly vydávání verzí usnadňují plánování a řízení rizik, protože průběh je přírůstkový, což také snižuje dopad na stabilitu systému. Zkrácení cyklu vydávání verzí také organizacím umožňuje přizpůsobit se měnícím se potřebám zákazníků a konkurenčnímu tlaku a reagovat na ně.
- Průběžné učení: Vysoce výkonné týmy DevOps vytvářejí růstové myšlení. Rychle se poučí ze svých chyb a začlení zkušenosti do svých procesů. Snaží se neustále zlepšovat, zvyšovat spokojenost zákazníků a urychlit inovace a přizpůsobitelnost trhu.
Implementace postupů DevOps
DevOps implementujete podle postupů DevOps (popsaných v následujících částech) v průběhu životního cyklu aplikace. Některé z těchto postupů pomáhají urychlit, automatizovat a zlepšit konkrétní fázi. Ostatní zahrnují několik fází a pomáhají týmům vytvářet bezproblémové procesy, které pomáhají zvýšit produktivitu.
Průběžná integrace a průběžné nasazování (CI/CD)
Kontinuální integrace (CI) je postup používaný vývojovými týmy k automatizaci, sloučení a testování kódu. CI pomáhá zachytit chyby v rané fázi vývojového cyklu, což zlevňuje jejich opravu. Automatizované testy se spouštějí jako součást procesu CI, aby se zajistila kvalita. Systémy CI vytvářejí artefakty a odesílají je do procesů vydávání, aby poháněly častá nasazení.
Průběžné doručování (CD) je proces, pomocí kterého se kód sestavuje, testuje a nasazuje do jednoho nebo více testovacích a produkčních prostředí. Nasazení a testování ve více prostředích zvyšuje kvalitu. Systémy CD vytvářejí nasaditelné artefakty, včetně infrastruktury a aplikací. Automatizované procesy vydávání využívají tyto artefakty k vydání nových verzí a oprav stávajících systémů. Systémy, které monitorují a odesílají výstrahy, běží nepřetržitě, aby sledovaly celý proces CD.
Správa verzí
Správa verzí je postup správy kódu ve verzích – sledování revizí a historie změn, které usnadňují kontrolu a obnovení kódu. Tento postup se obvykle implementuje pomocí systémů správy verzí, jako je Git, což umožňuje více vývojářům spolupracovat při vytváření kódu. Tyto systémy poskytují jasný proces sloučení změn kódu, ke kterým dochází ve stejných souborech, zpracování konfliktů a vrácení změn do dřívějších stavů.
Použití správy verzí je základním postupem DevOps, který pomáhá vývojovým týmům spolupracovat, rozdělovat úkoly kódování mezi členy týmu a ukládat veškerý kód pro snadné obnovení v případě potřeby. Správa verzí je také nezbytným prvkem v jiných postupech, jako je kontinuální integrace a infrastruktura jako kód.
Agilní vývoj softwaru
Agilní je přístup pro vývoj softwaru, který zdůrazňuje týmovou spolupráci, zpětnou vazbu zákazníků a uživatelů a vysokou adaptabilitu pro změnu prostřednictvím krátkých cyklů vydávání verzí. Týmy, které si procvičí agilní práci, poskytují průběžné změny a vylepšení pro zákazníky, shromáždí zpětnou vazbu, pak se naučí a upraví na základě potřeb a požadavků zákazníků. Agilní prostředí se podstatně liší od jiných tradičních architektur, jako je vodopád, což zahrnuje dlouhé cykly vydávání definované sekvenčními fázemi. Kanban a Scrum jsou dvě oblíbené architektury přidružené k agilnímu prostředí.
Infrastruktura jako kód
Infrastruktura jako kód definuje systémové prostředky a topologie popisným způsobem, který týmům umožňuje spravovat tyto prostředky stejně jako kód. Tyto definice lze také ukládat a spravovat verze v systémech správy verzí, kde je můžete zkontrolovat a vrátit zpět – jako kód.
Cvičení infrastruktury jako kódu pomáhá týmům nasazovat systémové prostředky spolehlivým, opakovatelným a řízeným způsobem. Infrastruktura jako kód také pomáhá automatizovat nasazení a snižuje riziko lidské chyby, zejména pro složitá velká prostředí. Toto opakovatelné a spolehlivé řešení pro nasazení prostředí umožňuje týmům udržovat vývojová a testovací prostředí, která jsou shodná s produkčním prostředím. Duplikování prostředí do různých datových center a cloudových platforem je stejně jednodušší a efektivnější.
Správa konfigurace
Správa konfigurace se týká správy stavu prostředků v systému, včetně serverů, virtuálních počítačů a databází. Pomocí nástrojů pro správu konfigurace můžou týmy zavést změny řízeným, systematickým způsobem, což snižuje riziko změny konfigurace systému. Týmy používají nástroje pro správu konfigurace ke sledování stavu systému a pomáhají vyhnout se posunu konfigurace, což je způsob, jakým se konfigurace systémového prostředku v průběhu času liší od požadovaného stavu definovaného pro něj.
Spolu s infrastrukturou jako kódem je snadné šablonovat a automatizovat definici a konfiguraci systému, což pomáhá týmům provozovat složitá prostředí ve velkém měřítku.
Průběžné monitorování
Nepřetržité monitorování znamená plný přehled o výkonu a stavu celého zásobníku aplikací v reálném čase. Tato viditelnost se pohybuje od základní infrastruktury, ve které běží aplikace, až po softwarové komponenty vyšší úrovně. Viditelnost se provádí prostřednictvím shromažďování telemetrie a metadat a nastavení výstrah pro předdefinované podmínky, které vyžadují pozornost operátora. Telemetrie se skládá z dat událostí a protokolů shromážděných z různých částí systému, které jsou uložené tam, kde je lze analyzovat a dotazovat.
Vysoce výkonné týmy DevOps zajišťují, aby nastavily užitečné, smysluplné výstrahy a shromáždily bohatou telemetrii, aby mohly získávat přehledy z obrovského množství dat. Tyto přehledy pomáhají týmu zmírnit problémy v reálném čase a zjistit, jak zlepšit aplikaci v budoucích vývojových cyklech.
Planning
Ve fázi plánování DevOps týmy vymýšlejí, definují a popisují funkce a možnosti aplikací a systémů, které plánují vytvářet. Týmy sledují průběh úkolů s nízkou a vysokou úrovní členitosti– od jednotlivých produktů po více portfolií produktů. Týmy používají následující postupy DevOps k plánování s agilitou a viditelností:
- Vytváření backlogů
- Sledujte chyby.
- Správa agilního vývoje softwaru pomocí Scrumu
- Používejte panely Kanbanu.
- Vizualizujte průběh pomocí řídicích panelů.
Přehled několika znalostí a postupů, které Microsoft přijal k podpoře plánování DevOps napříč softwarovými týmy společnosti, najdete v tématu O tom, jak Microsoft plánuje s DevOps.
Rozvoj
Fáze vývoje zahrnuje všechny aspekty vývoje softwarového kódu. V této fázi týmy DevOps dělají následující úkoly:
- Vyberte vývojové prostředí.
- Napište, otestujte, zkontrolujte a integrujte kód.
- Sestavte kód do artefaktů pro nasazení do různých prostředí.
- Ke spolupráci na kódu a práci paralelně používejte správu verzí, obvykle Git.
Aby tým DevOps mohl rychle inovovat bez obětování kvality, stability a produktivity:
- Používejte vysoce produktivní nástroje.
- Automatizujte běžné a ruční kroky.
- Iterujte v malých krocích pomocí automatizovaného testování a kontinuální integrace (CI).
Pro přehled postupů, které společnost Microsoft přijala, aby podpořila svůj přechod na DevOps, viz Jak Microsoft vyvíjí s DevOps.
Doručit
Doručování je proces konzistentního a spolehlivého nasazování aplikací do produkčních prostředí, ideálně prostřednictvím průběžného doručování (CD).
Ve fázi doručování týmy DevOps:
- Definujte proces správy verzí s jasnými fázemi ručního schvalování.
- Nastavte automatizované brány pro přesouvání aplikací mezi fázemi až do konečné verze pro zákazníky.
- Automatizujte procesy doručování, aby byly škálovatelné, opakovatelné, řízené a dobře otestované.
Doručování také zahrnuje nasazení a konfiguraci základní infrastruktury prostředí pro doručování. Týmy DevOps používají technologie , jako je infrastruktura jako kód (IaC),kontejnery a mikroslužby, aby poskytovaly plně řízená prostředí infrastruktury.
Postupy bezpečného nasazení můžou identifikovat problémy dříve, než ovlivní prostředí zákazníka. Tyto postupy pomáhají týmům DevOps poskytovat často s lehkostí, jistotou a klidem.
Základní principy a procesy DevOps, které microsoft vyvinul, aby poskytoval efektivní systémy doručování, jsou popsány v tématu Jak Microsoft dodává software s DevOps.
Operations
Fáze provozu zahrnuje údržbu, monitorování a řešení potíží s aplikacemi v produkčních prostředích, včetně hybridních nebo veřejných cloudů, jako je Azure. Týmy DevOps cílí na spolehlivost systému, vysokou dostupnost, silné zabezpečení a nulové výpadky.
Automatizované postupy doručování a bezpečného nasazení pomáhají týmům rychle identifikovat a zmírnit problémy, když k nim dojde. Udržování bdělosti vyžaduje bohatou telemetrii, výstrahy s možností akcí a úplný přehled o aplikacích a základních systémech.
Postupy, které Microsoft používá k provozování složitých online platforem, jsou popsány v tématu Jak Microsoft provozuje spolehlivé systémy s DevOps.
Další kroky
- Plánování efektivních úloh pomocí DevOps
- Vývoj moderního softwaru pomocí DevOps
- Poskytování kvalitních služeb pomocí DevOps
- Řízení spolehlivých systémů použitím metodiky DevOps
Další zdroje informací
- Řešení DevOps v Azure
- Cesta DevOps v Microsoftu
- Začínáme s DevOps s Azure
- Zabezpečení v DevOps (DevSecOps)
- Co je příprava platformy?
Školení a certifikace
- Začínáme s Azure DevOps
- Představení DevOps Dojo: Vytváření efektivity, které podporují vaši firmu
- AZ-400: Začínáme s transformací DevOps
- Usnadnění komunikace a spolupráce
- Zkouška AZ-400: Navrhování a implementace řešení Microsoft DevOps
- AZ-400: Implementace zabezpečení a ověření základů kódu pro dodržování předpisů