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 het volgende doen:

  • Beheer uw infrastructuur via declaratieve sjablonen in plaats van scripts. Een Resource Manager-sjabloon is een JSON-bestand dat definieert wat u wilt implementeren in Azure.
  • Implementeer, beheer en bewaak alle resources voor uw oplossing als groep in plaats van deze resources afzonderlijk te verwerken.
  • Her-implementeer uw oplossing gedurende de ontwikkelingscyclus en zorg ervoor dat u erop kunt vertrouwen dat uw resources in een consistente staat worden geïmplementeerd.
  • Definieer de afhankelijkheden tussen resources, zodat ze in de juiste volgorde worden geïmplementeerd.
  • Toegangsbeheer toepassen op alle services omdat RBAC systeemeigen is geïntegreerd in het beheerplatform.
  • Pas tags toe op resources om alle resources in uw abonnement logisch te organiseren.
  • De facturering van uw organisatie verduidelijken door de kosten te bekijken voor een groep resources die dezelfde tag delen.

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 middelen correct worden aangemaakt en verbonden. De sjabloon organiseert vervolgens het creëren van deze middelen parallel. Als u dus 50 exemplaren van dezelfde resource nodig hebt, worden alle 50 exemplaren tegelijkertijd gemaakt.

Uiteindelijk hoeft de ontwikkelaar, DevOps-professional of IT-professional alleen de gewenste status en configuratie van elke resource in de ARM-sjabloon te definiëren en doet de sjabloon de rest. Sjablonen kunnen zelfs PowerShell- en Bash-scripts uitvoeren voor of nadat de resource is ingesteld.

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 declaratief een volledige Azure-infrastructuur 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.
  • Orchestratie: u hoeft zich geen zorgen te maken over de complexiteit van het coördineren van bewerkingen. 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 aan elkaar 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.

Biceps

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.