Beskriva Azure Resource Manager- och Azure ARM-mallar
Azure Resource Manager (ARM) är distributions- och hanteringstjänsten för Azure. Den ger dig ett hanteringslager där du kan skapa, uppdatera och ta bort resurser i ditt Azure-konto. Varje gång du gör något med dina Azure-resurser är ARM inblandat.
När en användare skickar en begäran från något av Azure-verktygen, API:erna eller SDK:erna tar ARM emot begäran. ARM autentiserar och auktoriserar begäran. Sedan skickar ARM begäran till Azure-tjänsten, som vidtar den begärda åtgärden. Du ser konsekventa resultat och funktioner i alla olika verktyg eftersom alla begäranden hanteras via samma API.
Azure Resource Manager-fördelar
Med Azure Resource Manager kan du göra följande:
- Hantera din infrastruktur via deklarativa mallar i stället för skript. En Resource Manager-mall är en JSON-fil som definierar det du vill distribuera till Azure.
- Distribuera, hantera och övervaka alla resurser för din lösning som en grupp, snarare än att hantera resurserna individuellt.
- Distribuera om lösningen under utvecklingslivscykeln och kontrollera att dina resurser distribueras i ett konsekvent tillstånd.
- Definiera beroenden mellan resurser så att de distribueras i rätt ordning.
- Använda åtkomstkontroll för alla tjänster eftersom rollbaserad åtkomstkontroll är inbyggt i hanteringsplattformen.
- Märka upp resurser och organisera alla resurser i din prenumeration logiskt.
- Förtydliga organisationens fakturering genom att visa kostnader för en grupp resurser med samma tagg.
Följande video ger en översikt över Azure Resource Manager.
Infrastruktur som kod
Infrastruktur som kod är ett begrepp där du hanterar infrastrukturen som kodrader. På introduktionsnivå är det saker som att använda Azure Cloud Shell, Azure PowerShell eller Azure CLI för att hantera och konfigurera dina resurser. När du blir mer bekväm i molnet kan du använda infrastrukturen som kodkoncept för att hantera hela distributioner med hjälp av repeterbara mallar och konfigurationer. ARM-mallar och Bicep är två exempel på hur du använder infrastruktur som kod med Azure Resource Manager för att underhålla din miljö.
ARM-mallar
Genom att använda ARM-mallar kan du beskriva de resurser som du vill använda i ett deklarativt JSON-format. Med en ARM-mall verifieras distributionskoden innan någon kod körs. Detta säkerställer att resurserna skapas och ansluts korrekt. Mallen dirigerar sedan skapandet av dessa resurser parallellt. Det innebär att om du behöver 50 instanser av samma resurs skapas alla 50-instanser samtidigt.
Slutligen behöver utvecklaren, DevOps- eller IT-teknikern bara definiera det önskade tillståndet och konfigurationen för varje resurs i ARM-mallen, så sköter mallen resten. Mallarna kan till och med köra PowerShell- och Bash-skript före eller efter att resursen har konfigurerats.
Fördelar med att använda ARM-mallar
ARM-mallar ger många fördelar när du planerar att distribuera Azure-resurser. Några av dessa fördelar är:
- Deklarativ syntax: MED ARM-mallar kan du skapa och distribuera en hel Azure-infrastruktur deklarativt. Deklarativ syntax innebär att du deklarerar det du vill distribuera men inte behöver skriva de faktiska programmeringskommandona och sekvensen för att distribuera resurserna.
- Repeterbara resultat: Distribuera infrastrukturen upprepade gånger under utvecklingslivscykeln och ha förtroende för att dina resurser distribueras på ett konsekvent sätt. Du kan använda samma ARM-mall för att distribuera flera utvecklings-/testmiljöer med vetskapen om att alla miljöer är desamma.
- Orkestrering: Du behöver inte bekymra dig om komplexiteten i beställningsåtgärder. Azure Resource Manager samordnar distributionen av beroende resurser så att de skapas i rätt ordning. När det är möjligt distribuerar Azure Resource Manager resurser parallellt, så dina distributioner slutförs snabbare än seriedistributioner. Du distribuerar mallen via ett kommando i stället för genom flera imperativa kommandon.
- Modulära filer: Du kan dela upp dina mallar i mindre, återanvändbara komponenter och länka ihop dem vid distributionstillfället. Du kan också kapsla en mall i en annan mall. Du kan till exempel skapa en mall för en VM-stack och sedan kapsla mallen i mallar som distribuerar hela miljöer, och den virtuella datorstacken distribueras konsekvent i var och en av miljömallarna.
- Utökningsbarhet: Med distributionsskript kan du lägga till PowerShell- eller Bash-skript i dina mallar. Distributionsskripten utökar din möjlighet att konfigurera resurser under distributionen. Ett skript kan ingå i mallen eller lagras i en extern källa och refereras till i mallen. Med distributionsskript kan du slutföra din miljökonfiguration från slutpunkt till slutpunkt i en enda ARM-mall.
Bicep
Bicep är ett språk som använder deklarativ syntax för att distribuera Azure-resurser. En Bicep-fil definierar infrastrukturen och konfigurationen. Sedan distribuerar ARM den miljön baserat på din Bicep-fil. Även om det liknar en ARM-mall, som är skriven i JSON, tenderar Bicep-filer att använda ett enklare och mer koncist format.
Några fördelar med Bicep är:
- Stöd för alla resurstyper och API-versioner: Bicep stöder omedelbart alla förhandsversioner och GA-versioner för Azure-tjänster. Så snart en resursprovider introducerar nya resurstyper och API-versioner kan du använda dem i Bicep-filen. Du behöver inte vänta tills verktygen har uppdaterats innan du använder de nya tjänsterna.
- Enkel syntax: Jämfört med motsvarande JSON-mall är Bicep-filer mer koncisa och lättare att läsa. Bicep kräver inga tidigare kunskaper i programmeringsspråk. Bicep-syntaxen är deklarativ och anger vilka resurser och resursegenskaper du vill distribuera.
- Repeterbara resultat: Distribuera infrastrukturen upprepade gånger under utvecklingslivscykeln och ha förtroende för att dina resurser distribueras på ett konsekvent sätt. Bicep-filer är idempotent, vilket innebär att du kan distribuera samma fil många gånger och få samma resurstyper i samma tillstånd. Du kan utveckla en fil som representerar önskat tillstånd i stället för att utveckla många separata filer som representerar uppdateringar.
- Orkestrering: Du behöver inte bekymra dig om komplexiteten i beställningsåtgärder. Resource Manager samordnar distributionen av beroende resurser så att de skapas i rätt ordning. När det är möjligt distribuerar Resource Manager resurser parallellt så att dina distributioner slutförs snabbare än seriedistributioner. Du distribuerar filen via ett kommando i stället för genom flera imperativa kommandon.
- Modularitet: Du kan dela upp Bicep-koden i hanterbara delar med hjälp av moduler. Modulen distribuerar en uppsättning relaterade resurser. Med moduler kan du återanvända kod och förenkla utvecklingen. Lägg till modulen i en Bicep-fil när du behöver distribuera resurserna.