Popis šablon Azure Resource Manageru a Azure ARM
Azure Resource Manager (ARM) je služba nasazení a správy pro Azure. Poskytuje úroveň správy, která vám umožňuje vytvářet, aktualizovat a odstraňovat prostředky v účtu Azure. Kdykoli s prostředky Azure cokoli děláte, arm se zapojí.
Když uživatel odešle požadavek z libovolného nástroje, rozhraní API nebo sad SDK Azure, arm požadavek obdrží. ARM požadavek ověří a autorizuje. Pak ARM odešle požadavek do služby Azure, která provede požadovanou akci. Ve všech různých nástrojích vidíte konzistentní výsledky a možnosti, protože všechny požadavky se zpracovávají prostřednictvím stejného rozhraní API.
Výhody Azure Resource Manageru
Pomocí Azure Resource Manageru můžete:
- Spravovat infrastrukturu prostřednictvím deklarativních šablon místo skriptů. Šablona Resource Manageru je soubor JSON, který definuje, co chcete nasadit do Azure.
- Nasadit, spravovat a sledovat veškeré prostředky pro vaše řešení jako skupinu, nemusíte s nimi pracovat samostatně.
- V průběhu životního cyklu vývoje znovu nasaďte řešení a mějte jistotu, že jsou vaše prostředky nasazené v konzistentním stavu.
- Definujte závislosti mezi prostředky, takže jsou nasazené ve správném pořadí.
- Používat řízení přístupu pro všechny služby, protože řízení přístupu na základě role (RBAC) je nativně integrováno do platformy pro správu.
- Používat značky pro prostředky, abyste logicky uspořádali všechny prostředky ve vašem předplatném.
- Ujasnit si fakturaci organizace zobrazením nákladů za skupinu prostředků, které sdílejí stejnou značku.
Následující video obsahuje přehled Azure Resource Manageru.
Infrastruktura jako kód
Infrastruktura jako kód je koncept, ve kterém infrastrukturu spravujete jako řádky kódu. Na úvodní úrovni se jedná například o použití Azure Cloud Shellu, Azure PowerShellu nebo Azure CLI ke správě a konfiguraci prostředků. S tím, jak se v cloudu lépe seznámíte, můžete infrastrukturu použít jako koncept kódu ke správě celých nasazení pomocí opakovatelných šablon a konfigurací. Šablony ARM a Bicep jsou dvěma příklady použití infrastruktury jako kódu s Azure Resource Managerem k údržbě vašeho prostředí.
Šablony ARM
Pomocí šablon ARM můžete popsat prostředky, které chcete použít v deklarativním formátu JSON. Pomocí šablony ARM se kód nasazení ověří před spuštěním jakéhokoli kódu. Tím se zajistí správné vytvoření a připojení prostředků. Šablona potom orchestruje paralelní vytváření těchto prostředků. Pokud tedy potřebujete 50 instancí stejného prostředku, všech 50 instancí se vytvoří současně.
Vývojář, odborník na DevOps nebo IT specialista už pak musí jenom definovat požadovaný stav a konfiguraci každého prostředku v šabloně ARM a šablona zařídí všechno ostatní. Šablony můžou dokonce před nastavením prostředku nebo po něm spouštět skripty PowerShellu nebo Bashe.
Výhody využití šablon ARM
Šablony ARM poskytují mnoho výhod při plánování nasazení prostředků Azure. Mezi tyto výhody patří:
- Deklarativní syntaxe: Šablony ARM umožňují vytvořit a nasadit celou infrastrukturu Azure deklarativním způsobem. Deklarativní syntaxe znamená, že deklarujete, co chcete nasadit, ale k nasazení prostředků nemusíte psát skutečné programovací příkazy a posloupnost.
- Opakovatelné výsledky: Opakovaně nasazovat infrastrukturu v průběhu životního cyklu vývoje a mít jistotu, že jsou vaše prostředky nasazeny konzistentním způsobem. Stejnou šablonu ARM můžete použít k nasazení více vývojových/testovacích prostředí s vědomím, že všechna prostředí jsou stejná.
- Orchestrace: Nemusíte se starat o složitosti operací řazení. Azure Resource Manager orchestruje nasazení vzájemně závislých prostředků, takže se vytvoří ve správném pořadí. Pokud je to možné, Azure Resource Manager nasadí prostředky paralelně, takže nasazení se dokončí rychleji než sériová nasazení. Šablonu nasadíte jedním příkazem, nikoli několika imperativními příkazy.
- Modulární soubory: Šablony můžete rozdělit na menší, opakovaně použitelné komponenty a propojit je v době nasazení. Jednu šablonu můžete také vnořit do jiné šablony. Můžete například vytvořit šablonu pro zásobník virtuálních počítačů a pak tuto šablonu vnořit do šablon, které nasazují celá prostředí, a tento zásobník virtuálních počítačů se bude konzistentně nasazovat do každé šablony prostředí.
- Rozšiřitelnost: Pomocí skriptů nasazení můžete do šablon přidat skripty PowerShellu nebo Bash. Skripty nasazení rozšiřují vaši schopnost nastavit prostředky během nasazení. Skript může být součástí šablony nebo uložen v externím zdroji a odkazován v šabloně. Skripty nasazení umožňují dokončit kompletní nastavení prostředí v jedné šabloně ARM.
Bicep
Bicep je jazyk, který k nasazení prostředků Azure používá deklarativní syntaxi. Soubor Bicep definuje infrastrukturu a konfiguraci. Pak ARM nasadí toto prostředí na základě vašeho souboru Bicep. I když se podobá šabloně ARM, která je napsaná ve formátu JSON, používají soubory Bicep jednodušší a stručnější styl.
Mezi výhody Bicep patří:
- Podpora všech typů prostředků a verzí rozhraní API: Bicep okamžitě podporuje všechny verze Preview a GA pro služby Azure. Jakmile poskytovatel prostředků zavádí nové typy prostředků a verze rozhraní API, můžete je použít ve svém souboru Bicep. Před použitím nových služeb nemusíte čekat na aktualizaci nástrojů.
- Jednoduchá syntaxe: Ve srovnání s ekvivalentní šablonou JSON jsou soubory Bicep stručnější a čitelnější. Bicep nevyžaduje žádné předchozí znalosti programovacích jazyků. Syntaxe Bicep je deklarativní a určuje, které prostředky a vlastnosti prostředku chcete nasadit.
- Opakovatelné výsledky: Opakovaně nasazovat infrastrukturu v průběhu životního cyklu vývoje a mít jistotu, že jsou vaše prostředky nasazeny konzistentním způsobem. Soubory Bicep jsou idempotentní, což znamená, že stejný soubor můžete nasadit mnohokrát a získat stejné typy prostředků ve stejném stavu. Můžete vyvíjet jeden soubor, který představuje požadovaný stav, a nikoli vyvíjet velké množství samostatných souborů pro reprezentaci aktualizací.
- Orchestrace: Nemusíte se starat o složitosti operací řazení. Resource Manager orchestruje nasazení vzájemně závislých prostředků, aby se vytvořily ve správném pořadí. Pokud je to možné, Resource Manager nasadí prostředky paralelně, aby vaše nasazení byla dokončena rychleji než sériová nasazení. Soubor nasadíte jedním příkazem, nikoli několika imperativními příkazy.
- Modularita: Kód Bicep můžete rozdělit na spravovatelné části pomocí modulů. Modul nasadí sadu souvisejících prostředků. Moduly umožňují opakovaně používat kód a zjednodušit vývoj. Modul přidejte do souboru Bicep, kdykoli potřebujete tyto prostředky nasadit.