Välj rätt kommandoradsverktyg
Varje åtgärd som du vidtar i Azure Portal översätts till körning av kod mot ett API i bakgrunden för att skapa, läsa, uppdatera eller ta bort Azure-resurser. Azures kommandoradsverktyg är omslutningar för API:et som gör att du kan automatisera etableringen av Azure-resurser i stor skala.
Automatiseringsalternativ i Azure
Fyra kommandoradsverktyg används ofta för att automatisera Azure-resurser: Azure CLI, Azure PowerShell, Bicep och Terraform.
Hur jämför verktygen?
Azure CLI, Azure PowerShell, Bicep och Terraform har likheter, men var och en har distinkta fördelar. Eftersom du har till uppgift att etablera Azure Storage, vilka verktygsfunktioner ger den bästa fördelen i din miljö?
I följande tabell identifieras funktionerna i varje Azure-kommandoradsverktyg. I tabellen:
- Ikonen anger att funktionen är
true
för det angivna kommandoradsverktyget. - Ikonen anger att funktionen är
false
för det angivna kommandoradsverktyget.
Kapacitet | Azure CLI | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
Imperativ IaC | ||||
Deklarativ IaC | ||||
Azure-inbyggt | ||||
Molnagnostik | ||||
Kan köras i Windows, Linux och macOS | ||||
Kan skapa, redigera och ta bort Azure Storage-resurser |
Ta en djupare titt på varje verktyg. Vilka funktioner i Azure CLI jämfört med Azure PowerShell och Bicep jämfört med Terraform passar bäst i din miljö?
Azure CLI jämfört med Azure PowerShell
Azure CLI och Azure PowerShell är kommandoradsverktyg som gör att du kan skapa och hantera Azure-resurser.
Azure CLI
- Är ett plattformsoberoende kommandoradsgränssnitt som kan installeras i Windows, Linux och macOS
- Körs i Azure Cloud Shell, PowerShell,
Cmd.exe
Bash eller en Docker-container - Baseras på Python
- Standardinställningen är att mata ut en JSON-sträng, även om andra formatalternativ är tillgängliga, till exempel tabell, YAML och TSV
- Gör att du kan fråga efter kommandoutdata med hjälp av JMESPath-frågesyntax.
- Använder kommandon som är ordnade i grupper, till exempel
az vm
, och undergrupper, till exempelaz vm disk
- Har syntax som följer ett enkelt
reference name -command -parameter -parameter value
mönster - Stöder asynkrona åtgärder
Azure PowerShell
- Är en plattformsoberoende PowerShell-modul som körs i Windows, Linux och macOS
- Körs lokalt i PowerShell, i Azure Cloud Shell eller i en Docker-container
- Baseras på .NET Standard
- Ger tabbar och Predictive IntelliSense
- Returnerar .NET-objekt
- Använder
Verb-Noun
kommandonamn för enkel identifiering
Bicep jämfört med Terraform
Bicep
Bicep är ett domänspecifikt språk (DSL) som använder deklarativ syntax för att distribuera Azure-resurser. I en Bicep-fil definierar du den infrastruktur som du vill distribuera till Azure. Sedan använder du filen under hela utvecklingslivscykeln för att distribuera infrastrukturen. Dina resurser distribueras på ett konsekvent sätt.
Bicep ger koncis syntax, tillförlitlig typsäkerhet och stöd för återanvändning av kod. Bicep erbjuder en bra redigeringsupplevelse för dina IaC-lösningar i Azure.
Terraform
HashiCorp Terraform är ett IaC-verktyg med öppen källkod för etablering och hantering av molninfrastruktur. Den kodifierar infrastrukturen i konfigurationsfiler som beskriver önskat tillstånd för topologin. Terraform möjliggör hantering av alla infrastrukturer, till exempel offentliga moln, privata moln och SaaS-tjänster (programvara som en tjänst) med hjälp av Terraform-leverantörer.
Vilket Kommandoradsverktyg i Azure passar dig?
När du väljer ett verktyg bör du tänka på din tidigare erfarenhet och aktuella arbetsmiljö. Här är en sammanfattning av dina alternativ:
- Azure CLI-syntaxen liknar Bash-skript.
- Azure PowerShell är en PowerShell-modul. Kommandon följer ett
Verb-Noun
namngivningsschema och data returneras som objekt. - Bicep är en DSL som använder deklarativ syntax för att distribuera Azure-resurser.
- Terraform är ett IaC-verktyg med öppen källkod för etablering och hantering av molninfrastruktur.
Välj det verktyg som använder din upplevelse och förkortar inlärningskurvan. Att vara öppensinnad kommer bara att förbättra dina förmågor. Använd ett annat verktyg när det är logiskt.