Azure Resource Manager- en Azure ARM-sjablonen beschrijven

Voltooid

Azure Resource Manager (ARM) is de implementatie- en beheerservice voor Azure. Het biedt een beheerlaag waarmee u resources in uw Azure-account kunt maken, bijwerken en verwijderen. Wanneer u iets met uw Azure-resources doet, is ARM betrokken.

Wanneer een gebruiker een aanvraag verzendt vanuit een van de Azure-hulpprogramma's, API's of SDK's, ontvangt ARM de aanvraag. ARM verifieert en autoriseert de aanvraag. Vervolgens verzendt ARM de aanvraag naar de Azure-service, die de aangevraagde actie onderneemt. U ziet consistente resultaten en mogelijkheden in alle verschillende hulpprogramma's, omdat alle aanvragen via dezelfde API worden verwerkt.

Voordelen van Azure Resource Manager

Met Azure Resource Manager kunt u:

  • Uw infrastructuur beheren via declaratieve sjablonen in plaats van scripts. Een Resource Manager-sjabloon is een JSON-bestand waarmee wordt gedefinieerd wat u in Azure wilt implementeren.
  • Alle resources voor uw oplossing implementeren, beheren en bewaken als groep, in plaats van deze resources afzonderlijk te verwerken.
  • Implementeer uw oplossing opnieuw gedurende de levenscyclus van de ontwikkeling en zorg ervoor dat uw resources in een consistente status worden geïmplementeerd.
  • Definieer de afhankelijkheden tussen resources, zodat ze in de juiste volgorde worden geïmplementeerd.
  • Omdat RBAC al automatisch in het beheerplatform is geïntegreerd, kunt u toegangsbeheer op alle services toepassen.
  • Tags toepassen op de resources om alle resources in uw abonnement op een logische manier te organiseren.
  • Maak de facturering van uw organisatie duidelijker door kosten voor een groep resources met dezelfde tag weer te geven.

De volgende video biedt een overzicht van Azure Resource Manager.

Infrastructuur als code

Infrastructuur als code is een concept waarbij u uw infrastructuur beheert als coderegels. Op inleidende mate is het bijvoorbeeld het gebruik van Azure Cloud Shell, Azure PowerShell of de Azure CLI om uw resources te beheren en te configureren. Naarmate u vertrouwder raakt in de cloud, kunt u de infrastructuur als codeconcept gebruiken om volledige implementaties te beheren met behulp van herhaalbare sjablonen en configuraties. ARM-sjablonen en Bicep zijn twee voorbeelden van het gebruik van infrastructuur als code met Azure Resource Manager om uw omgeving te onderhouden.

ARM-sjablonen

Met behulp van ARM-sjablonen kunt u de resources beschrijven die u wilt gebruiken in een declaratieve JSON-indeling. Met een ARM-sjabloon wordt de implementatiecode gecontroleerd voordat code wordt uitgevoerd. Dit zorgt ervoor dat de resources correct worden gemaakt en verbonden. De sjabloon organiseert vervolgens het parallel maken van die resources. Dat wil zeggen, als u 50 instanties van dezelfde resource nodig hebt, alle 50 instanties tegelijkertijd worden gemaakt.

Uiteindelijk hoeft de ontwikkelaar, of DevOps- of IT-professional alleen de gewenste status en configuratie van elke resource in de ARM-sjabloon te definiëren en de sjabloon doet de rest. Met sjablonen kunnen zelfs PowerShell- en Bash-scripts worden uitgevoerd voor of na de installatie van een resource.

De voordelen van het gebruik van ARM-sjablonen

ARM-sjablonen bieden veel voordelen bij het plannen van de implementatie van Azure-resources. Enkele van deze voordelen zijn:

  • Declaratieve syntaxis: met ARM-sjablonen kunt u een volledige Azure-infrastructuur declaratief maken en implementeren. Declaratieve syntaxis betekent dat u declareert wat u wilt implementeren, maar niet de werkelijke programmeeropdrachten en volgorde hoeft te schrijven om de resources te implementeren.
  • Herhaalbare resultaten: implementeer uw infrastructuur herhaaldelijk gedurende de ontwikkelingslevenscyclus en zorg ervoor dat uw resources op een consistente manier worden geïmplementeerd. U kunt dezelfde ARM-sjabloon gebruiken om meerdere ontwikkel-/testomgevingen te implementeren, waarbij u weet dat alle omgevingen hetzelfde zijn.
  • Indeling: U hoeft zich geen zorgen te maken over de complexiteit van bestelbewerkingen. Azure Resource Manager organiseert de implementatie van onderling afhankelijke resources, zodat ze in de juiste volgorde worden gemaakt. Indien mogelijk implementeert Azure Resource Manager resources parallel, zodat uw implementaties sneller worden voltooid dan seriële implementaties. U implementeert de sjabloon via één opdracht, in plaats van via meerdere imperatieve opdrachten.
  • Modulaire bestanden: U kunt uw sjablonen opsplitsen in kleinere, herbruikbare onderdelen en deze koppelen tijdens de implementatie. U kunt ook één sjabloon in een andere sjabloon nesten. U kunt bijvoorbeeld een sjabloon voor een VM-stack maken en die sjabloon vervolgens nesten in sjablonen die volledige omgevingen implementeren, en die VM-stack wordt consistent geïmplementeerd in elk van de omgevingssjablonen.
  • Uitbreidbaarheid: Met implementatiescripts kunt u PowerShell- of Bash-scripts toevoegen aan uw sjablonen. Met de implementatiescripts kunt u resources instellen tijdens de implementatie. Een script kan worden opgenomen in de sjabloon of worden opgeslagen in een externe bron en waarnaar wordt verwezen in de sjabloon. Met implementatiescripts kunt u de end-to-end-omgeving instellen in één ARM-sjabloon.

Bicep

Bicep is een taal die declaratieve syntaxis gebruikt om Azure-resources te implementeren. Een Bicep-bestand definieert de infrastructuur en configuratie. Vervolgens implementeert ARM die omgeving op basis van uw Bicep-bestand. Hoewel Bicep-bestanden vergelijkbaar zijn met een ARM-sjabloon, die is geschreven in JSON, gebruiken Bicep-bestanden meestal een eenvoudigere, beknoptere stijl.

Enkele voordelen van Bicep zijn:

  • Ondersteuning voor alle resourcetypen en API-versies: Bicep ondersteunt onmiddellijk alle preview- en GA-versies voor Azure-services. Zodra een resourceprovider nieuwe resourcetypen en API-versies introduceert, kunt u deze gebruiken in uw Bicep-bestand. U hoeft niet te wachten totdat hulpprogramma's worden bijgewerkt voordat u de nieuwe services gebruikt.
  • Eenvoudige syntaxis: In vergelijking met de equivalente JSON-sjabloon zijn Bicep-bestanden beknopter en gemakkelijker te lezen. Bicep vereist geen eerdere kennis van programmeertalen. Bicep-syntaxis is declaratief en geeft aan welke resources en resource-eigenschappen u wilt implementeren.
  • Herhaalbare resultaten: implementeer uw infrastructuur herhaaldelijk gedurende de ontwikkelingslevenscyclus en zorg ervoor dat uw resources op een consistente manier worden geïmplementeerd. Bicep-bestanden zijn idempotent, wat betekent dat u hetzelfde bestand vaak kunt implementeren en dezelfde resourcetypen in dezelfde status kunt krijgen. U kunt één bestand ontwikkelen dat de gewenste status vertegenwoordigt, in plaats van veel afzonderlijke bestanden te ontwikkelen om updates weer te geven.
  • Indeling: U hoeft zich geen zorgen te maken over de complexiteit van bestelbewerkingen. Resource Manager organiseert de implementatie van onderling afhankelijke resources, zodat ze in de juiste volgorde worden gemaakt. Indien mogelijk implementeert Resource Manager resources parallel, zodat uw implementaties sneller worden voltooid dan seriële implementaties. U implementeert het bestand via één opdracht in plaats van via meerdere imperatieve opdrachten.
  • Modulariteit: U kunt uw Bicep-code opsplitsen in beheerbare onderdelen met behulp van modules. Met de module wordt een set gerelateerde resources geïmplementeerd. Met modules kunt u code hergebruiken en de ontwikkeling vereenvoudigen. Voeg de module toe aan een Bicep-bestand wanneer u deze resources wilt implementeren.