Välj rätt kommandoradsverktyg

Slutförd

Varje åtgärd som du vidtar i Azure-portalen ö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 Ja anger att funktionen är true för det angivna kommandoradsverktyget.
  • Ikonen Nej anger att funktionen är false för det angivna kommandoradsverktyget.
Kapacitet Azure CLI Azure PowerShell Bicep Terraform
Imperativ IaC Ja Ja Nej Nej
Deklarativ IaC Nej Nej Ja Ja
Azure-inbyggt Ja Ja Ja Nej
Molnagnostik Nej Nej Nej Ja
Kan köras i Windows, Linux och macOS Ja Ja Ja Ja
Kan skapa, redigera och ta bort Azure Storage-resurser Ja Ja Ja Ja

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.exeBash 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 exempel az 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.