Doporučení pro povolení automatizace
Platí pro toto doporučení kontrolního seznamu k efektivitě operací architektury Azure Well-Architected Framework:
OE:10 | Návrh a implementace automatizace předem pro operace, jako jsou aspekty životního cyklu, bootstrapping a použití zásad správného řízení a mantinely dodržování předpisů. Nepokoušejte se později retrofitovat automatizaci. Zvolte funkce automatizace, které vaše platforma poskytuje. |
---|
Tato příručka popisuje doporučení pro navrhování a implementaci úloh pro povolení automatizace. Navrhněte svou úlohu s ohledem na automatizaci, abyste zajistili, že se rutinní úlohy, jako je zřizování prostředků, škálování a nasazení, provádějí rychle a spolehlivě. Automatizace zjednodušuje úlohy údržby a umožňuje efektivněji aktualizovat, opravovat a upgradovat systémy.
Klíčové strategie návrhu
Návrh komponent úloh pro podporu automatizace
Svou úlohu můžete navrhnout tak, aby podporovala automatizaci z fáze ideace až po probíhající fázi zlepšování. Nejprve zvažte, jak chcete v úloze použít automatizaci, abyste zajistili, že umístíte potřebné části na místo. Zamyslete se nad úlohou z hlediska pilířů dobře navržená architektura, které vám pomůžou naplánovat typy automatizace, které budete používat. Můžete automatizovat mnoho funkcí zabezpečení, spolehlivosti, výkonu, provozu a řízení nákladů.
Návrh s ohledem na automatizaci s ohledem na minimalizaci refaktoringu po spuštění úlohy Při rozhodování o tom, které nástroje pro automatizaci se mají použít, zvažte své požadavky na úlohy. K dispozici můžou být nástroje pro automatizaci mimo police, které už váš tým zná. Přechod na tyto nástroje může usnadnit automatizaci úloh, ale mít na paměti jejich omezení a kompatibilitu s cloudovou platformou. Některé nástroje pro automatizaci se například můžou dobře integrovat s nástroji Azure CLI, zatímco jiné můžou vyžadovat rozhraní REST. Vždy prozkoumejte nástroje, které vaše cloudová platforma poskytuje, aby byly kompatibilní a poskytovaly požadované funkce. Mezi příklady způsobů, jak můžete proaktivně naplánovat automatizaci, patří:
Nasazení: Automatizujte nasazení aplikací a infrastruktury, abyste zajistili předvídatelný standard. Naplánujte automatizované nasazení vývojem standardů nasazení, trénováním týmu na nástrojích, které budete používat, a implementací potřebné infrastruktury.
Ověřování: Automatické ověření požadavků na dodržování předpisů pro vaši úlohu pomocí nástrojů orchestrace nebo zásad. Identifikujte vhodný nástroj pro ověřování úloh a naplánujte implementaci požadovaných systémů, například serverů orchestrace.
Automatické škálování: Využijte automatické škálování v celé infrastruktuře, abyste dosáhli požadavků na spolehlivost a výkon. Adresní prostor IP adres a podsítě byste ve své úloze měli předem přidělit, abyste mohli počítat s operacemi škálování a také plánováním redundance a přirozeného růstu.
Kompromis: Při navrhování úloh tak, aby umožňovala automatizaci, zvažte stupeň kontroly, kterou chcete zachovat, a efektivitu, kterou můžete získat prostřednictvím automatizace. V některých případech nemusí být vaše úloha dostatečně vyspělá, aby automatizovala některé funkce, nebo možná potřebujete úroveň flexibility, kterou automatizace neposkytuje.
Při navrhování úloh zvažte také sadu dovedností vašeho týmu. Pokud vysoký stupeň automatizace vyžaduje nástroje, které váš tým nepodporuje, budete možná muset použít méně komplexní návrh jako průběžný krok.
Znovu se můžete vrátit k návrhu automatizace během životního cyklu.
Po spuštění úlohy v cloudu je důležité určit prioritu průběžného vylepšování. Sledujte úlohu v akci, analyzujte vzory využití a zkontrolujte chování zákazníků související s vaší úlohou a identifikujte oblasti, ve kterých můžete zlepšit automatizaci. Hledejte způsoby, jak vylepšit stávající automatizaci nebo zavést novou automatizaci, aby se zlepšilo uživatelské prostředí. Můžete mít například povolené automatizované škálování, ale zvýšení zatížení je krátkodobé. Automatizaci škálování na více instancí můžete integrovat, abyste snížili využití procesoru, když zatížení klesne pod prahovou hodnotu.
V následujících částech tohoto průvodce najdete doporučení týkající se konkrétních oblastí automatizace, které vám můžou pomoct při návrhu a implementaci úloh.
Automatizace spouštění
Bootstrapping odkazuje na aktualizace konfigurace prostředku, který je potřeba provést po jeho zřízení, ale než bude k dispozici jako součást fondu úloh. Spouštění se často přidružuje k virtuálním počítačům, ale mnoho dalších prostředků musí být nastavené jako součást procesu nasazení, včetně technologií paaS (platforma jako služba) a technologií hostování kontejnerů, jako je Azure Kubernetes Service (AKS).
Vaše cloudová platforma může poskytovat řešení pro spouštění, která byste měli použít tam, kde je to možné. Rozšíření virtuálních počítačů v Azure můžete například použít k provedení předdefinovaných změn konfigurace během procesu nasazení a přizpůsobení změn konfigurace vložením skriptů PowerShellu.
Začlenění automatizace do správy přístupu
Při navrhování strategie ověřování a autorizace vezměte v úvahu automatizaci. Je důležité zachovat nejvyšší úroveň zabezpečení v produkčních úlohách, ale to může mít vliv na automatizaci. Použití biometrického nebo vícefaktorového ověřování například zvyšuje složitost, která se musí zohlednit při návrhu automatizace. Používejte nelidské a zabezpečené účty pro automatizované ověřování, jako jsou spravované identity, identity úloh nebo certifikáty. Ujistěte se, že jste do automatizace zahrnuli správu tajných kódů a klíčů, abyste zajistili vyšší zabezpečení ověřování.
Návrh proměnlivosti úloh
Vyhýbejte se zbytečně nasazování nové infrastruktury, když se provádějí malé změny tím, že do artefaktů vytváříte flexibilitu. Například místo opětovného nasazení infrastruktury při změně příznaku funkce můžete použít parametry, které jsou nastavené k aktualizaci komponent, jako jsou konfigurace aplikací. Nezapomeňte jasně definovat a zdokumentovat, jak se variabilita používá, aby nedocházelo k nadměrnému využití a posunu konfigurace.
Vytvoření řídicí roviny
Řídicí rovina je back-endový systém nebo sada nástrojů, které používáte ke správě aplikace a jejích závislostí prostřednictvím sjednoceného rozhraní. Vytvořte řídicí rovinu, jako je rozhraní REST, rozhraní příkazového řádku nebo webhook pro podporu automatizace externími nástroji.
Zpřístupněte operace údržby prostřednictvím řídicí roviny, která umožňuje koordinovat komponenty úloh, například řazení zálohování a obnovení, spouštění, konfiguraci, import/export a dávkové operace. Při rozhodování ooperacích
Přijetí přístupu řízeného daty k vývoji automatizace
Vytvořte strategii monitorování pro zachycení metrik, které řídí typ automatizace, kterou potřebujete. Pomocí strukturovaného protokolování a vlastních metrik můžete poskytnout informace vyžadované automatizací ve formátu, který je snadno rozpoznatelný pomocí automatizačních nástrojů. Metriky, které zachytáváte, by se měly spárovat s prahovými hodnotami definovanými v monitorovacím systému, které v případě potřeby aktivují výstrahy a automatizované akce, jako jsou oznámení nebo mechanismy samoopravení. Další informace naleznete v tématu Doporučení pro samoopravení a sebezáchování.
Automatizace událostí životního cyklu uživatelů
Navrhněte aplikaci a infrastrukturu, aby bylo možné automatizovat onboarding a offboarding uživatelů pro jednotlivce nebo zákazníky s více tenanty. Plánování automatizovaných aktualizací databáze prostřednictvím skriptů, zřizování infrastruktury a zrušení zřízení a správy přihlašovacích údajů a tajných kódů.
Automatizace konfigurace požadovaného stavu
Jako součást průběžné správy úloh můžete ve svých prostředcích automatizovat konfiguraci požadovaného stavu (DSC), abyste zajistili, že splňují požadavky na dodržování předpisů a obchodní požadavky. Automatizace DSC pomáhá zajistit rychlé zachycení a nápravu posunu konfigurace. DSC můžete automatizovat pomocí nástrojů orchestrace nebo nástrojů pro správu zásad. Nástroje pro orchestraci, jako jsou služby Azure DevOps nebo Jenkins, si můžete představit jako mechanismy založené na nabízených oznámeních. Nástroje orchestrace umožňují nabízení aktualizací konfigurace prostřednictvím události pracovního postupu, jako je ruční nebo automatizované nasazení. Tyto aktualizace se spouští jako součást pořadí úkolů definovaného ve skriptu nasazení. Nástroje pro správu zásad používají mechanismy založené na vyžádání obsahu, což znamená, že systém běží na základní úrovni vaší úlohy, která pravidelně dotazuje úlohy, aby kontrolovala stav definovaného DSC. Pokud hlasování identifikuje nesprávné zarovnání nebo posun konfigurace, nástroj provede nápravnou akci. Při rozhodování mezi orchestrací a nástroji pro správu zásad zvažte následující faktory:
Nástroje pro orchestraci nemají integrované funkce k proaktivnímu dotazování úloh na posun konfigurace. Nástroje pro orchestraci by se měly integrovat do kanálu kontinuální integrace a průběžného doručování (CI/CD), aby se zachoval standard pro nasazení a správu infrastruktury jako kódu (IaC). Výhodou použití nástrojů orchestrace je, že prostředky jsou při nasazení vždy plně nakonfigurované.
Nástroje pro správu zásad umožňují definovat zásady, které ovlivňují jednu nebo více skupin prostředků. Tyto zásady se vynucují, když se prostředek přihlásí pomocí systému správy zásad. Výhodou správy zásad je, že tyto systémy nejsou řízené kódem, takže by mohly být pro operátory ve vašem týmu jednodušší přijmout.
Při rozhodování mezi orchestrací nebo nástroji zásad zvažte, jestli se v době nasazení musí provést aktualizace konfigurace, které plánujete provést u nových prostředků. Zvažte také, jestli definice aktualizací v kódu vyhovuje vašim provozním postupům a kolik typů prostředků plánujete nasadit. Pokud existuje mnoho různých konfigurací napříč typy prostředků, můžou být nástroje zásad jednodušším způsobem správy aktualizací.
Usnadnění azure
Správa zásad
Azure Policy: Pomocí služby Azure Policy můžete vynutit standardy a vyhodnotit dodržování předpisů ve velkém měřítku. Azure Policy poskytuje agregované zobrazení pro vyhodnocení celkového stavu prostředí úloh na řídicím panelu dodržování předpisů. Nebo můžete použít Azure Policy k vyhodnocení jednotlivých prostředků a zásad na podrobné úrovni. Azure Policy můžete také použít k automatické nápravě nových prostředků nebo hromadné nápravě existujících prostředků.
Kompromis: Snižování zátěže automatizace z kanálu CI/CD na nástroje nebo služby platformy, jako je Azure Policy, může zjednodušit váš kanál, ale má nevýhody, jako je další zátěž správy při používání více systémů. Například selhání spuštění ve službě platformy se nezachytí v protokolech kanálu a bude muset inteligentně předávat do platformy pozorovatelnosti, aby byly příslušné strany upozorněny.
Automatizace bootstrap
Rozšíření služby Azure Virtual Machines: Rozšíření virtuálních počítačů jsou malé balíčky, které na virtuálních počítačích spouštějí konfiguraci a automatizaci po nasazení. Pro různé úlohy konfigurace, jako jsou spouštění skriptů, konfigurace antimalwarových řešení a konfigurace řešení protokolování, je k dispozici několik rozšíření. Nainstalujte a spusťte tato rozšíření na virtuálních počítačích pomocí šablony Azure Resource Manageru, Azure CLI, modulu Azure PowerShellu nebo webu Azure Portal. Každý virtuální počítač má nainstalovaného agenta virtuálního počítače, který spravuje životní cyklus rozšíření.
Rozšíření virtuálních počítačů obvykle používají rozšíření vlastních skriptů k instalaci softwaru, spouštění příkazů a provádění konfigurací na virtuálním počítači nebo službě Azure Virtual Machine Scale Sets. Tato rozšíření můžete nastavit tak, aby běžela jako součást nasazení IaC, aby běžela na nových virtuálních počítačích pomocí agenta virtuálního počítače Azure. Rozšíření se dají spustit i mimo nasazení Azure pomocí Azure CLI, modulu PowerShellu nebo webu Azure Portal.
Cloud-init: Cloud-init je oborový nástroj pro konfiguraci virtuálních počítačů s Linuxem při prvním spuštění. Podobně jako rozšíření vlastních skriptů Azure vám cloud-init umožňuje instalovat balíčky a spouštět příkazy na virtuálních počítačích s Linuxem. Cloud-init můžete použít pro instalaci softwaru, konfiguraci systému a přípravu obsahu. Azure zahrnuje mnoho imagí virtuálních počítačů s podporou cloudu napříč dobře známými distribucemi Linuxu. Úplný seznam najdete v tématu podpora cloud-init pro virtuální počítače v Azure.
Prostředek skriptu nasazení Azure: Při nasazování pomocí Azure možná budete muset spustit libovolný kód pro spouštění správy uživatelských účtů, podů Kubernetes nebo dotazování dat ze systému mimo Azure. Vzhledem k tomu, že žádná z těchto operací není přístupná prostřednictvím řídicí roviny Azure, vyžaduje se samostatný mechanismus. Další informace naleznete v tématu Microsoft.Resources deploymentScripts. Stejně jako jakýkoli jiný prostředek Azure prostředek skriptu nasazení:
Dá se použít v šabloně Azure Resource Manageru.
Obsahuje závislosti šablony Azure Resource Manageru v jiných prostředcích.
Využívá vstup a vytváří výstup.
Používá spravovanou identitu přiřazenou uživatelem k ověřování.
Při nasazení skript nasazení spustí příkazy a skripty PowerShellu nebo Azure CLI. Spouštění a protokolování skriptů můžete sledovat na webu Azure Portal nebo pomocí Azure CLI a modulu PowerShellu. Proměnné pro prostředí spuštění, možnosti časového limitu a správu prostředků můžete přizpůsobit po selhání skriptu.
Clustery AKS bootstrap s GitOps: Nově zřízený cluster AKS můžete spustit pomocí GitOps a rozšíření clusteru Flux v2 deklarováním nastavení konfigurace v úložištích GitHub. Protože soubory clusteru AKS jsou uložené v úložišti GitHubu, jsou jejich verze a změny mezi verzemi se snadno sledují. Kontrolery Kubernetes běží v clusterech a průběžně sladit stav clusteru s požadovaným stavem deklarovaným v úložišti Git tak, že načítá soubory z úložiště. Další informace najdete v referenční architektuře standardních hodnot AKS.
Správa konfigurace
Azure Automation State Configuration je nástroj pro správu DSC spravovaný funkcí konfigurace hosta Azure Policy, který můžete použít k zápisu, správě a kompilaci konfigurací DSC PowerShellu pro uzly v libovolném cloudovém nebo místním datacentru. Tento nástroj můžete také použít k importu prostředků DSC a přiřazení konfigurací cílovým uzlům.
Aplikace Azure Konfigurace je služba, kterou můžete použít k centrální správě nastavení aplikace a příznaků funkcí. Funguje se službou Azure Key Vault, abyste mohli bezpečně spravovat širokou škálu konfigurací aplikací ve vašem prostředí.
Change Tracking a Inventory
Sledování změn a inventář pomocí agenta Monitorování Azure sleduje odchylky konfigurace operačního systému ve virtuálních počítačích Azure i virtuálních počítačích s podporou Arc. Tím se automatizuje detekce odchylek, inventarizace spuštěných služeb a nainstalovaných balíčků na virtuálních počítačích ve vaší úloze. Mezi položky sledované sledováním změn a inventářem patří:
- Nainstalovaný software pro Windows a Linux
- Klíčové soubory Windows a Linuxu
- Klíče registru Windows
- Služby Windows a linuxové démony
Související odkazy
- Referenční architektura standardních hodnot AKS
- konfigurace Aplikace Azure
- Azure Automation State Configuration
- Azure Policy
- Podpora cloud-init pro virtuální počítače v Azure
- Konfigurace GitOps Flux v2 s využitím AKS a Kubernetes s podporou Azure Arc
- Microsoft.Resources deploymentScripts
- Doporučení pro samoopravení a sebezáchování
Kontrolní seznam pro efektivitu provozu
Projděte si kompletní sadu doporučení.