Sdílet prostřednictvím


Principy návrhu efektivity provozu

Základem pilíře Efektivita provozu jsou postupy DevOps, které zajišťují kvalitu úloh prostřednictvím standardizovaných pracovních postupů a týmové soudržnosti. Tento pilíř definuje provozní postupy pro vývojové postupy, pozorovatelnost a správu verzí. Cílem je minimalizovat odchylku procesu, šanci na lidské chyby a narušení služeb zákazníkům. Pokud chcete posoudit provozní stav, začněte těmito otázkami:

  • Provádíte operace s disciplínou?
  • Používají zákazníci úlohu s maximální předvídatelností?
  • Jak se učíte ze zkušeností a shromážděných dat, abyste mohli průběžně zlepšovat?

Pokud neexistuje jasné vlastnictví ani vedení, může se provoz úloh zvrtnout do chaotických praktik. V tomto typu prostředí se týmy často uchýlují k metodám, které se provádějí s vysokým úsilím a vytvářejí nízké výsledky, což vede ke špatnému uživatelskému prostředí. Tyto přístupy splňují pouze krátkodobé cíle. Dlouhodobé výhody jsou realizovány prostřednictvím průběžného hodnocení a strategických investic.

Zásady návrhu poskytují pokyny pro provozní strategie, které je třeba zvážit, aby řešily základní příčiny, a ne pouze léčit příznaky. Začněte doporučenými přístupy a sledujte, co funguje a co neidentifikuje oblasti zlepšování. Po nastavení strategie pokračujte v akci pomocí kontrolního seznamu provozní efektivity.

Provozní požadavky úlohy jsou stejně důležité jako její obchodní požadavky. Efektivní procesy zajišťují, aby úloha dosáhla obchodních výsledků v rámci omezení dodržování předpisů, ať už je dodržování předpisů organizační nebo externí. Klíčem je najít opakovatelnost s konzistencí.

Cílem pilíře efektivity provozu je udělat správnou věc, udělat to správným způsobem a řešit správné problémy jako tým.

Pokud tyto cíle splníte, úlohy budou spolehlivě a předvídatelně fungovat i v době změny. Nemožnost splnit provozní požadavky může vést k neúspěšným nasazením, nekonzistentnímu uživatelskému prostředí a přidaným nákladům, kterým se dalo vyhnout prostřednictvím správného plánování a zjednodušeného provádění.

Přijetí kultury DevOps

Ikona cíle Umožňuje vývojovým a provozním týmům nepřetržitě zlepšovat návrh a procesy systému díky spolupráci, sdílené odpovědnosti a vlastnictví.

DevOps je komunita praxe, ve které rozmanitost perspektivy a dovedností vede k jednomu poslání. Týmy musí podporovat atmosféru spolupráce se sdílenými znalostmi, místo učení v oddělených celcích. Pomocí sdílených funkcí se snažte překonat omezení prostředků.

Dobrá kultura DevOps vzkvétá na sdílené odpovědnosti. Vývojové a provozní týmy by měly sladit své cíle a priority s očekáváními svých zákazníků a mít na paměti obchodní pozornost. Vývojový tým by měl zahrnovat provozní tým do zpětnovazebního cyklu, aby vylepšení byla řízena od základu a další týmy z nich měly stejný prospěch. Provozní týmy naopak zodpovídají za to, že vývojový tým bude úspěšný ve svých obchodních výsledcích sdílením prostředků a zpětné vazby, které jsou relevantní pro danou úlohu.

Postupy DevOps současně používají jasné čáry vlastnictví a odpovědnosti pro každý tým. Bez ohledu na to, kde aplikace běží, zodpovídá za tuto aplikaci tým úloh.

DevOps optimalizuje provozní úlohy, aby byly efektivní, ale nezatěžující. Aby tato kultura plně využila výhod DevOps, měla by optimalizovat procesy prostřednictvím technologií a mít procesy pro lidi v organizaci, aby podporovala transparentní komunikaci.

Přístup Výhody
Používejte běžné systémy a nástroje , které podporují prostředí pro spolupráci pro komunikaci a sledování průběhu. Běžné nástroje a procesy umožňují transparentní komunikaci. Vývojový i provozní tým těží z informovanosti o situacích napříč různými prostředími, běžnými problémy podpory a celkovými výzvami a vyhrává.

Týmy už budou znát stávající cesty eskalace, pokud dojde k incidentu.

Sdílený backlog zpřístupňuje priority, jako je třeba práce na nových funkcích nebo oprava chyb.
Vytvořte v průběhu vývojového cyklu přístup zaměřený na nepřetržité učení a experimentování.

Podpora sdílení znalostí napříč týmy a udržování dokumentace pro opakované použití

Proveďte bezobvinující analýzu a sdílení poznatků po vydání nebo po příslušných hodnoceních incidentů.
Prostřednictvím mechanismů experimentování, jako je testování A/B a vývoj testování konceptu, můžete podpořit inovace a zároveň zachovat nízké náklady.

Podělte se o znalosti prostřednictvím spolupráce, díky které má tým zkušenosti s přístupy k návrhu, nástroji a procesy.

Provádění retrospektivních akcí po projektu pomáhá identifikovat oblasti pro zlepšení a oslavit úspěch.
Osvojte si osvědčené postupy agilního odvětví , které se zaměřují na optimalizaci akcí.

Hledejte příležitosti k posunu doleva v operacích pro ruční a automatizované procesy, postupy nasazení a zajištění kvality a pozorovatelnost.
Postupy agilního vývoje vedou k kratším životním cyklům vydávání, což je ukazatel obchodní hodnoty.

Zjišťování, řešení a zabránění dřívějším problémům je často méně rušivé.
Nastavte standardy pro všechny vývojové a provozní postupy a kontrolujte je a ověřte v pravidelných intervalech.

Mezi tyto postupy patří rutinní úkoly, mimopásmové procesy, nouzová cvičení a situace, výběr nástrojů, sledovací postupy, plány dovedností a dokonce i komunikace se zúčastněnými stranami a zveřejnění informací zákazníkům.

Buďte úmyslní a explicitní ohledně vašich rozhodnutí.
Standardy přidávají předvídatelnost operací a umožňují škálovat procesy a postupy. Ověřování standardů je skvělý způsob, jak nakreslit body zlepšení.

Připravte se na nouzové situace a situace zotavení provedením pravidelných postupů.

Proveďte s přesností a uplatněte řízení, abyste zabránili anomáliím, které vedou k rizikům.
Využijte centralizované provozní týmy se specializovanými dovednostmi a zkušenostmi. Použití sdílených prostředků pro operace i zdroje přináší úsporu nákladů.

I když řídíte svůj pracovní zátěž, centralizovaný tým vám pomůže s mezioborovými dovednostmi, jako je řízení incidentů, proaktivní přístup k monitorování a důvěryhodné outsourcingové odbornosti.

Vytvoření vývojových standardů

Ikona cíle Optimalizujte produktivitu standardizací postupů vývoje, vynucováním bran kvality a sledováním průběhu a úspěchu prostřednictvím systémové správy změn.

Vývojový tým zodpovídá za řešení problémů s úlohami před vydáním s minimálním třením. Mějte na paměti efektivitu vývojářů a optimalizujte je pro rychlé cykly z hlediska vývoje– od kódování až po testování výsledků. Implementace efektivních a správných procesů, které plánují a standardizují technické aktivity, a také řídí konsensus v rámci týmu a zúčastněných stran.

Přístup Výhody
Zdokumentujte funkce úloh a zachyťte výhody zákazníků.

Odvozujte obor a podrobné funkční a nefunkční požadavky architektury.

Vytvořte modely odhadu velikosti , které budou vykazovat rozsah a náklady na zahrnuté úkoly.
Dobré specifikace snížit provozní náklady a šance na selhání tím, že podporují vyšší produktivitu a zjednodušené vývojové cykly.

Vývojáři před zahájením cyklu kódování rozumí technickému návrhu, cílům a kritériím dokončení .

Dobrá dokumentace usnadňuje opakovatelnou komunikaci a onboarding nových členů týmu.
Použijte oborovou standardní metodologii vývoje softwaru, která je vhodně vyladěná pro potřeby vašich úloh a velikosti týmu.

Udržujte backlog, který se sdílí mezi všemi rolemi.
Přijetí dobře známé metodologie nastavuje rytmus projektu. Odstraňuje nejednoznačnost procesů tím, že členům týmu dává jasné očekávání a zodpovědnost.

Sledováním společného seznamu je možné upřesnit a určit prioritu úkolů pomocí standardních postupů. Projekt bude mít lepší šanci na doručení včas.

Standardní metodologie pomáhají se správou rizik. Díky podrobným kontrolám milníků můžou vývojáři řešit potenciální problémy dříve, než se z nich stanou zásadní překážky.
Používejte sjednocenou správu zdrojového kódu pro všechny kódy, skripty, šablony nasazení, definice kanálů a související dokumentaci.

Strategie větvení musí podporovat bez tření uvolnění nezávislých a závislých funkcí, oprav chyb a hotfixů.

Využijte sdílené znalosti v celé organizaci k vytvoření strategie větvení a procesů nasazení.
Správné použití správy zdrojového kódu je zásadní pro podporu souběžných změn a správy verzí.

Udržujte opakovatelný pracovní postup pro vydávání změn různých velikostí a rizik, provádění partnerských kontrol v rámci procesu a uchovávání záznamu auditu.
Mají procesy kontroly kvality , které zvýrazňují testování v rané fázi životního cyklu vývoje.

Zahrňte všechny artefakty pro plánované testovací postupy, včetně komponent aplikací, infrastruktury a operací roviny dat, které jsou součástí vydání nebo aktualizace funkcí.

Zacházejte s artefakty jako s neměnnými, když procházejí prostředími, a získávejte na jistotě při každém průchodu bránou kvality.

Kde je to praktické, automatizujte rutinní kontroly.
Kontrola kvality zajišťuje, že funkční a nefunkční požadavky byly splněny s jistotou, což vede k pozitivnímu dopadu zákazníků.

Plánování testů zajišťuje kvalitu a úplnost a bere v úvahu možné případy selhání.

S kontrolními body kvality můžete uplatňovat osvědčené postupy k omezení rizik.

Neměnnost přináší jistotu, protože zajišťuje, že systém, který testujete, je přesně to, co vydáváte.

Testovací cykly efektivně blokují průběh, pokud nejsou splněna kritéria kvality.
Konzistence se řídí pomocí průvodců stylu a nástrojů, které vynucují konvence a přijímají společný řetězec nástrojů pro vývoj, testování a komunikaci se zúčastněnými stranami.

Technologické standardy pro vývojáře by měly vyžadovat implementaci vzorů, návrhu rozhraní API, protokolování, zpracování výjimek a dalších procesů.
Konzistence v kódu řídí čitelnost a snadnější údržbu. Snižuje také složitost a umožňuje opakované použití kódu.

Běžné nástroje a konvence také pomáhají týmům optimalizovat procesy bez nutnosti řešit jednorázové volby.
Konzistentně a záměrně trvá na dokumentaci pro vývojáře kódu, jak je napsané. Jasná dokumentace ke kódu zajišťuje, aby logika a funkce byly snadno srozumitelné, když je třeba se k starému kódu vrátit nebo když se vývojové týmy střídají.
Nahlašte průběh a trendy , abyste mohli měřit efektivitu. Trendy softwarových chyb, nezdařené aktualizace, čas potřebný k nasazení, smyčky zpětné vazby a další metriky se publikují a řídí vylepšení.

Rozvíjejte operace s pozorovatelností

Ikona cíle Získejte přehled o systému, odvozujte přehled a proveďte rozhodnutí řízená daty.

Vytvořte kulturu, která nepřetržitě zlepšuje kvalitu monitorováním úlohy a zohledněním všech pilířů architektury Azure Well-Architected Framework. Umožněte týmu a zúčastněným stranám činit krátkodobá i dlouhodobá rozhodnutí napříč různými oblastmi poskytnutím potřebných údajů, statistik a trendů. Poučte se ze svých dat a pohánějte zlepšení.

Operace vytvořené pro účely pozorovatelnosti jsou klíčem k proaktivní údržbě aplikace, kontroly kvality a zabezpečení, plánování kapacity a řízení produktů.

Klíčovým aspektem monitorování je použití modelování stavu, které vám pomůže předvídat problémy před tím, než se stanou incidenty a ovlivní prostředí zákazníků. Efektivní monitorování snižuje reaktivní cykly strávené na řízení incidentů.

Přístup Výhody
Vytvořte monitorovací systém s vlastním technologickým stackem a procesy.

Zacházejte s monitorovacím systémem jako s dimenzí pracovní zátěže, která je oddělená od jejího užitku. Zásobník musí zahrnovat všechny vrstvy, včetně infrastruktury, monitorování aplikací a procesů sestavení a nasazení.

Zachytávání nebo vzorkování obchodních dat je mimo rozsah pro implementace pozorovatelnosti.
Oddělte monitorování a zásobníky úloh tak, aby se oddělily funkční požadavky a požadavky na pozorovatelnost a umožnily nezávislý vývoj. Změny v kódu by neměly mít vliv na monitorování a naopak.

Vzhledem k tomu, že požadavky na pozorovatelnost jsou oddělené od funkčních požadavků, obchodní datanebudou narušena monitorováním změn konfigurace nebo výpadků.
Zajistěte konzistenci v procesu shromažďování pro každý typ zdroje dat.

Standardizujte instrumentaci v kódu pomocí oborových standardů pro telemetrii, shromažďování metrik infrastruktury a nástrojů.
Konzistence zabraňuje rozptylu při snímání a měření, protože znalost podobných prostředků zkracuje čas strávený korelací a analýzou dat. Máte ucelený pohled na předvídání problémů.

Vygenerujte telemetrii z kódu aplikace, který koreluje klíčové body toku provádění, a poskytuje ucelené zobrazení na různých úrovních členitosti. Určete prioritu akcí na základě úrovně závažnosti a porozumějte kontextu vzhledem k jeho rozvláčnosti. Tyto informace jsou zásadní pro účely řešení potíží.
Vlastní odpovědnost za generování a shromažďování dat, i když jsou jímky dat sdíleny více týmy a spravovány centrálními týmy. Díky lokalizaci dat monitorování do prostředí úloh má tým přístup k protokolům a metrikám, aby se vyřešily problémy související s úlohami.
Shromážděte jenom dostatek dat a zachovejte je po dostatek času.

Zvažte kompromisy nákladů spojených s protokolováním a ukládáním dat.
Záměrné shromažďování dat pomáhá optimalizovat finanční a provozní náklady spojené se shromažďováním více dat, než potřebujete.

Minimalizujte šum a vyhněte se náročným výpočtům během analýzy a snižte náklady na ukládání dat, která už nepotřebujete.
Rozlišovat mezi různými monitorovacími signály: profily, protokoly, metriky a trasování. Používejte každý signál pro správný účel.

Určete prioritu použití metrik k aktivaci akcí , které závisí na číselných měřeních.

Pomocí profilů můžete do systému získat viditelnost nižší úrovně, například přidělení paměti.

Vyhraďte použití protokolů a trasování k poskytnutí kontextu pro toky a závislosti.
Použitím signálů pro správné účely můžete zabránit neefektivní implementaci monitorovacího systému.

Například použití záznamů pro akce vyžaduje zpracování. Díky metrikám můžete dosáhnout stejných cílů rychleji.
Agregace a vizualizace dat na řídicích panelech za účelem prezentace dat monitorování, která jsou zaměřená na cílové skupiny, a mějte na paměti obchodní kontext.

Pomocí situačních řídicích panelů můžete zpřístupnit data pro zvýšení povědomí mezi zúčastněnými stranami.

Používejte provozní řídicí panely a sešity s možnostmi přechodu k podrobnostem pro aktivity operátorů, jako je reakce na incidenty. Často aktualizujte řídicí panely a poskytněte podrobná data.
Pomocí vizualizací můžete analyzovat trendy, sledovat obchodní cíle a spravovat incidenty.

Řídicí panely, které jsou přizpůsobené zájmům zákazníka, činí interpretace relevantními a urychlují rychlost detekce a reakce.
Učinit výstrahy využitelnými můžete tím, že oznámíte zodpovědným rolím standardizované popisy a úrovně závažnosti. Zadejte informace kompletované z různých zdrojů a sledujte odchylky od obchodních cílů.

Aktivujte výstrahy pouze pro incidenty, které vyžadují akci.

Snažte se o proaktivní a promyšlené výstrahy, které iniciují akce dříve, než se degradovaný stav stane selháním.
Výstrahy upoutnou pozornost na významné události definované organizací.

Dobrý systém upozornění identifikuje akce a závažnost a poskytuje pouze dostatek dat, aby mohl řídit srozumitelnost a účel. Operátoři mohou začít s nápravou bez zpoždění.

Automatizace z důvodu efektivity

Ikona Cíle Nahradí opakované ruční úlohy automatizací softwaru , která je dokončí rychleji, s větší konzistencí a přesností a snižuje rizika.

Úloha může mít pracovní postupy s procesy, které zahrnují členy týmu, kteří provádějí běžné, opakující se a časově náročné úkoly, které ve skutečnosti nepotřebují lidskou inteligenci. V závislosti na frekvenci můžete věnovat značné množství času na tyto úsilí a investovat více času s tím, jak zatížení roste. Tyto procesy jsou také často náchylné k chybám z důvodu lidského vstupu.

Díky automatizaci ušetříte čas, úsilí a peníze a vyhnete se chybám.

Přístup Výhody
Vyhodnoťte všechny pracovní postupy podle kritérií, která jsou na správné úrovni složitosti, úsilí, frekvence, přesnosti, aktuálnosti a životnosti.

Automatizujte pracovní postupy na základě tohoto vyhodnocení a upřednostňují pracovní postupy s nejvyššími očekávanými výnosy.

Odeberte nadbytečné pracovní postupy nebo přidejte hodnotu, abyste odůvodnili lidské úsilí.
Kapacitu týmu můžete znovu investovat do práce s vyšší hodnotou a zvýšit produktivitu a konzistenci.

Vytvoření inventáře pracovních postupů zajišťuje automatizaci správných úloh. Odebrání redundantních úloh snižuje složitost a chyby.
Při vyhodnocování, jestli chcete vytvářet vlastní nástroje nebo kupovat software, buďte explicitní.

Vyhraďte si automatizaci budov pro vysoce specializovanou a vysoce hodnotnou práci.
Nákupem softwaru mimo polici a využíváním smlouvy o podpoře ušetříte náklady na údržbu.

Vytvořením softwaru máte větší kontrolu a můžete se postarat o případy použití, které jsou jedinečné pro váš tým a úlohy. Je to ale nákladový dopad.

Volba nástrojů přináší do vašich operací úroveň standardizace. S trénováním můžete dosáhnout jednotné úrovně připravenosti na přijetí.
Navrhněte komponenty úloh tak, aby podporovaly možnosti automatizace. Vyhněte se situaci, kdy nedostatek automatizace v návrhu systému podporuje anti-vzor opakujících se úloh, zpomaluje růst a začíná hromadit technický dluh.
Považujte veškerou automatizaci za klíčovou závislost vašeho pracovního zatížení. Přizpůsobte se očekávanému růstu úlohy.

Vaše automatizační nástroje jsou nedílnou součástí vaší úlohy a měly by dodržovat pět pilířů dobře navržená architektura.
Navrhněte komponentu automatizace tak, aby odolal rizikům, jako jsou bezpečnostní hrozby. Při použití osvědčených postupů se můžete vyhnout rozrůstání implementací.

Pracovní zátěž bude i nadále fungovat s vysokou zárukou, pokud je tato závislost udržována funkční a bezpečná.
Automatizace ve velkém měřítku prozkoumáním možností nad rámec vaší úlohy

Upřednostnit "návrh jednou, spustit všude" model tím, že poskytuje šablony a architektury pro nasazení nových projektů a podporu opětovného použití stávajících návrhů a implementací.
Používejte vyzkoušené a otestované metody a snižte riziko selhání.

Přijetí postupů bezpečného nasazení

Ikona cíle Zajištění konzistence v nasazeních pomocí mantinelí, které snižují vliv chyb a neočekávaných podmínek.

Vytvořte automatizovaný a modulární dodavatelský řetězec úloh, který zajistí konzistentní, předvídatelná a opakovatelná nasazení ve všech prostředích. Použití bezpečných postupů včas zajišťuje důvěru v produkci a umožňuje rychlé obnovení v případě, že problémy zasáhnou zákazníky.

Všechny změny, ať už se jedná o kód, konfiguraci nebo artefakty, musí být nasazeny se stejnou úrovní přísnosti. Testování, monitorování a správa verzí jsou běžné postupy pro dosažení konzistence.

Přístup Výhody
Pomocí infrastruktury jako kódu (IaC) definujte požadovaný stav všech infrastruktur.

Používejte modulární a vrstvený přístup, ale vyhněte se zbytečným abstrakcím.

Přizpůsobte vrstvy potřebám životního cyklu a udržujte základní vrstvy ve stabilním stavu.
IaC umožňuje automatizaci nasazení a konzistenci a slouží jako samoobslužná dokumentace, která se dá použít k trasování. Artefakty IaC se stanou součástí životního cyklu vývoje softwaru, který umožňuje procesy testování a kontroly kvality.

IaC také pomáhá zjišťovat a zmírnit odchylky konfigurace.
Upřednostněte malé přírůstkové aktualizace , které se nasazují často. Menší aktualizace zjednodušují ověřování snížením počtu souběžných chyb. Pokud je současně vydáno více vadných změn, mohou výrazně zvýšit poloměr výbuchu.
Nasaďte všechny změny kódu a infrastruktury pomocí automatizovaných kanálů ve všech prostředích . Konzistentní metody nasazení snižují chyby a odchylky, takže nasazení jsou spolehlivá a opakovatelná. Proces nasazení se sám dokumentuje a každé spuštění vytvoří záznam aktivit.
V předprodukčních a produkčních prostředích důkladně testujte aktualizace po celý vývojový životní cyklus. Včasné testování umožňuje iterativní opravy, zachytává problémy dříve a snižuje jejich množství v době, kdy je aktualizace připravena pro produkci.

Mít několik předprodukčních prostředí umožňuje různé typy testování, což zvyšuje důvěru v úspěšnou produkční verzi.
Zavedení nových funkcí pomocí vzorů nasazení, které uživatelům umožňují progresivní expozici a postupné přijetí.

Otestujte kompatibilitu se zpětnou a dopřednou.
Řízené zavedení aktualizací snižuje riziko rozsáhlých problémů z vad. Postupné zvyšování expozice pomáhá zajistit kompatibilitu a stabilitu, což zvyšuje důvěru ve vydávání.
Připravte se s kompenzačními akcemi pro zotavení z vadných nasazení nebo kritických vad v produkčním prostředí.

K zavedení oprav použijte automatizaci na základě testování .

V případě nouzových aktualizací mít urychlený proces, který je předem schválen zúčastněnými stranami.
Plán pro zmírnění rizik snižuje dobu trvání potenciálního dopadu.

Pokud chcete uživatelům zrychlit bezpečnou verzi, můžete rychle nasadit naléhavé opravy, jako jsou opravy zabezpečení.

Další kroky

Doporučujeme, abyste se seznámili s kontrolním seznamem provozní efektivity a prozkoumali další koncepty.