Automation
V softwarově definované cloudové infrastruktuře používají týmy různé nástroje a techniky ke zřizování, konfiguraci a správě infrastruktury. S tím, jak se vaše týmy vyvíjejí a rozšiřují, můžou přejít z portálů a ručního úsilí na zřizování, konfiguraci a správu infrastruktury a služeb pomocí kódu a automatizace.
Aspekty automatizace platformy
- Implementace metodologie Vše jako kód (EaC) umožňuje týmům odemknout klíčové výhody, vytvořit silnou vývojovou kulturu a umožnit všem členům každého týmu kontrolovat, jak a které prostředky se nasazují. EaC také pomáhá týmům platformy přijímat klíčové vývojové postupy, které zlepšují jejich flexibilitu a efektivitu. Týmy můžou sledovat změny a řídit, které z nich se přesunou do produkčního prostředí, pomocí kódu bydlení v úložištích a pomocí systémů správy verzí k jeho správě.
- Týmy můžou dodržovat princip 4 očí a používat partnerské programování nebo kontrolu peerů, aby se zajistilo, že se změny kódu nikdy neprovedou samostatně. Peer programming and peer review improve code quality, let teams share responsibility for changes, and increase team knowledge about what is agreed on and deployed. Revize kódu je fantastický způsob, jak se členové týmu naučit nové techniky a metody kódování a automatizace.
- Týmy by měly používat systémy správy verzí, jako je Git, společně s úložišti Git, k vynucení partnerské kontroly. Úložiště Git umožňují týmům definovat důležité větve a chránit je pomocí zásad větví. Zásady můžete použít k vyžadování změn kódu v těchto větvích, aby splňovaly určitá kritéria, jako je minimální počet schválení členů týmu, než budou moct sloučit do chráněné větve.
- Týmy by měly propojit metodologii EaC a proces kontroly změn společně s procesem kontinuální integrace a průběžného doručování (CI/CD). Každá změna kódu by měla automaticky aktivovat proces CI, který provádí statické analýzy kódu, ověřování a testovací nasazení. CI zajišťuje, aby vývojáři zkontrolovali kód včas (často označovaný jako neúspěšné rychlé testování nebo testování posunu doleva) a zkontrolovali chyby, které můžou způsobit budoucí problémy. V závislosti na strategii větvení, kterou váš tým používá, by změny v jakékoli důležité větvi měly aktivovat nasazení do různých prostředí. Jakmile se změny schválí a sloučí do
main
, proces CD tyto změny nasadí do produkčního prostředí. Tento systém pro správu kódu poskytuje vašemu týmu jediný zdroj pravdivých informací o tom, co běží v jednotlivých prostředích. - Aby se zajistilo, že vaše platforma je plně samoobslužná a poskytuje svým týmům úloh samoobslužnou službu, musí tým platformy pracovat na automatizaci všeho (často označovaného jako Extrémní automatizace) od zřizování, konfigurace a správy platforem až po zřizování předplatného cílové zóny pro týmy úloh. Extrémní automatizace umožňuje vašemu týmu platformy soustředit se na poskytování hodnot, nikoli na nasazování, konfiguraci a správu platformy. Extrémní automatizace také vytvoří samolepší cyklus, který vašemu týmu poskytne více času na sestavení větší automatizace.
- Vzhledem k tomu, že týmy platformy automatizují provozní aktivity a snižují lidské zásahy, měli by se zaměřit na důležité úkoly, které umožňují a urychlují inovace týmů úloh v Azure. Abyste toho dosáhli, musí váš tým platformy iterovat několika cykly sestavování a vývoje, jakmile nasadí nástroje, skripty a možnosti vaší platformy.
- K dispozici je několik možností, které vašemu týmu pomůžou začít s nasazením cílové zóny Azure. Tyto možnosti závisejí na aktuálních týmových možnostech a můžou růst s tím, jak se váš tým vyvíjí. Konkrétněji pro nasazení platformy si můžete vybrat mezi prostředími založenými na portálu, Bicepu nebo Terraformu v závislosti na tom, jaká má aplikace Teams znalosti a předvolby nástrojů IaC.
- Nové a nově vznikající týmy platforem, které se stále seznamují s infrastrukturou jako kódem (IaC) a jsou lépe obeznámené s používáním portálu k nasazení a správě prostředků, můžou ke spuštění využít akcelerátor cílové zóny Azure, který podporuje týmy, které stále používají přístup ClickOps . ClickOps je proces zřizování, konfigurace a správy prostředků kliknutím na portály, konzoly pro správu a průvodci. Tento akcelerátor umožňuje vašemu týmu používat portál jako nástroj pro počáteční nasazení a postupně s rostoucí vyspělostí přípravy platformy k dalšímu použití Azure CLI, PowerShellu nebo IaC.
- Řešení AzOps umožňuje týmům vyvíjet své postupy automatizace a správy platforem z ClickOps řízeného na devOps, které jsou schopné. Váš tým může přejít z používání přístupu k osobnímu účtu k používání principů a postupů DevOps, které se spoléhají jenom na CI/CD s AzOps a IaC. AzOps umožňuje vašemu týmu přinést vlastní architekturu, použít architekturu nasazenou akcelerátorem portálu Cílové zóny Azure (po počátečním nasazení založeném na portálu, protože integrace AzOps není součástí prostředí portálu ALZ), integraci s nasazením brownfieldu nebo použití vlastních šablon (Bicep nebo ARM) k sestavení a zprovoznění vaší platformy.
- Týmy platforem se zavedenými dovednostmi a možnostmi mohou využívat kodifikovaný přístup, který se řídí principy a postupy DevOps. Váš tým by se měl silně založit na postupech IaC a moderního vývoje, přičemž by se měl odejít z používání přístupu k Azure na jejich osobních účtech a ke spouštění všech operací prostřednictvím kanálu CI/CD. Váš tým by měl k urychlení tohoto přechodu použít akcelerátory založené na IaC, jako je ALZ-Bicep nebo modul Terraform cílových zón Azure.
- Akcelerátory založené na IaC mají omezený rozsah správy. Nové verze poskytují více možností a větší možnosti správy prostředků. Pokud používáte akcelerátor, měl by váš tým zvážit vícevrstvý přístup, který začíná akcelerátorem, a pak přidat vrstvu automatizace. Vrstva automatizace poskytuje možnosti, které váš tým potřebuje, aby plně podporoval týmy úloh pomocí funkcí platformy, jako je nasazení řadiče domény pro starší verze aplikací.
- Když váš tým platformy přejde na přístup DevOps, musí vytvořit proces pro zpracování oprav tísňového volání. Můžou použít oprávnění k privilegované službě Identity Management (PIM) a požádat o přístup k provádění oprav a později ho vrátit zpět do kódu, aby omezili posun konfigurace, nebo můžou kód použít k implementaci rychlé opravy. Váš tým by měl vždy zaregistrovat rychlé opravy v backlogu, aby mohli každou opravu přepracovat později a omezit svůj technický dluh. Příliš mnoho technických dluhů vede k budoucímu zpomalení, protože některý kód platformy není plně zkontrolován a nesplňuje pokyny a principy týmového kódování.
- Pomocí zásad Azure můžete do své platformy přidat nějakou automatizaci. Zvažte použití IaC k nasazení a správě zásad Azure, které se často označují jako Zásady jako kód (PaC). Tyto zásady umožňují automatizovat aktivity, jako je shromažďování protokolů. Mnoho architektur PaC také implementuje proces výjimky, takže naplánujte týmy úloh, aby požadovaly výjimky ze zásad.
- Pomocí zásad řízeného řízení můžete signalizovat týmy úloh, když se pokoušejí nasadit prostředky, které nesplňují bezpečnostní kontrolu. Zvažte nasazení zásad s efektem
deny
pro tyto situace, které týmům úloh umožní také pracovat se vším jako kódem a vyhnout se posunu konfigurace, kdy kód deklaruje jednu věc a zásady změnily nastavení v době nasazení. Vyhněte se používánímodify
efektů, například pokud tým úloh nasadí účet úložiště s definovanýmsupportOnlyHttpsTraffic = false
v kódu, kdemodify
se zásady v době nasazení změní,true
aby ho dodržovaly předpisy. To vede k posunu kódu od nasazeného kódu.
Doporučení k návrhu automatizace platformy
- Postupujte podle přístupu Vše jako kód, abyste měli plnou transparentnost a kontrolu nad konfigurací platformy Azure, dokumentaci, nasazení a testování.
- Správa verzí slouží ke správě všech úložišť kódu, včetně:
- Infrastruktura jako kód
- Zásady jako kód
- Konfigurace jako kód
- Nasazení jako kód
- Dokumentace jako kód
- Implementujte princip 4 očí a proces pro peer-programování nebo peer-review , abyste před nasazením do produkčního prostředí zkontrolovali všechny změny kódu.
- Přijměte strategii větvení pro váš tým a nastavte zásady větví pro větve, které chcete chránit. V případě zásad větví musí týmy k provádění změn sloučení používat žádosti o přijetí změn.
- Využijte kontinuální integraci a průběžné doručování (CI/CD) k automatizaci testování kódu a nasazení do různých prostředí.
- Pracujte na automatizaci všeho, jako je zřizování, konfigurace a správa vaší platformy a zřizování předplatných cílových zón pro týmy úloh.
- Pokud chcete začít s nasazováním cílových zón Azure, použijte jeden z dostupných akcelerátorů, který odpovídá funkcím vašeho týmu.
- Naplánujte použití vícevrstvého přístupu nasazení k přidání funkcí, které nejsou pokryté akcelerátorem, ale jsou potřeba k plné podpoře týmů úloh.
- Vytvořte proces použití kódu k implementaci rychlých oprav. Vždy zaregistrujte rychlé opravy v backlogu vašeho týmu, aby bylo možné každou opravu později přepracovat a můžete omezit technický dluh.
- Použití infrastruktury jako kódu k nasazení a správě zásad Azure (často označovaných jako zásady jako kódu)
- Implementujte proces výjimky pro zásady. Naplánujte týmy úloh tak, aby požadovaly výjimky ze zásad, a v případě potřeby je můžete odblokovat.
- Pomocí zásad řízeného řízení můžete blokovat týmy úloh při pokusu o nasazení prostředků, které nesplňují bezpečnostní kontrolu. To pomáhá snížit posun konfigurace, kdy kód deklaruje jiný stav než to, co končí nasazením.