Auswählen des richtigen Befehlszeilentools

Abgeschlossen

Jede von Ihnen im Azure-Portal ausgeführte Aktion wird in Code übersetzt, der im Hintergrund für eine API ausgeführt wird, um Azure-Ressourcen zu erstellen, zu lesen, zu aktualisieren oder zu löschen. Azure-Befehlszeilentools sind Wrapper für die API, mit denen Sie die Bereitstellung von Azure-Ressourcen im großen Stil automatisieren können.

Automatisierungsoptionen in Azure

Zum Automatisieren von Azure-Ressourcen werden in der Regel vier Befehlszeilentools verwendet: Azure CLI, Azure PowerShell, Bicep und Terraform.

Worin bestehen die Unterschiede zwischen den Tools?

Azure CLI, Azure PowerShell, Bicep und Terraform weisen Ähnlichkeiten auf, bieten jedoch jeweils unterschiedliche Vorteile. Sie sind mit der Bereitstellung von Azure Storage beauftragt. Welche Toolfunktionen bieten in Ihrer Umgebung den größten Vorteil?

In der folgenden Tabelle sind die Funktionen der einzelnen Azure-Befehlszeilentools aufgeführt. In der Tabelle:

  • Das Symbol Ja gibt an, dass die Funktion für das angegebene Befehlszeilentool unterstützt wird (true).
  • Das Symbol Nein gibt an, dass die Funktion für das angegebene Befehlszeilentool nicht unterstützt wird (false).
Funktion Azure-Befehlszeilenschnittstelle Azure PowerShell Bicep Terraform
Imperative IaC-Tools Ja Ja Nr. Nein
Deklarative IaC-Tools Nein Nein Ja Ja
Azure-nativ Ja Ja Ja Nein
Cloudunabhängig Nein Nr. Nein Ja
Kann unter Windows, Linux und macOS ausgeführt werden Ja Ja Ja Ja
Kann Azure Storage-Ressourcen erstellen, bearbeiten und löschen Ja Ja Ja Ja

Sehen Sie sich die einzelnen Tools genauer an. Welche Features von Azure CLI im Vergleich zu Azure PowerShell und von Bicep im Vergleich zu Terraform eignen sich gut für Ihre Umgebung?

Azure CLI im Vergleich zu Azure PowerShell

Azure CLI und Azure PowerShell sind Befehlszeilentools, mit denen Sie Azure-Ressourcen erstellen und verwalten können.

Azure CLI

  • Ist eine plattformübergreifende Befehlszeilenschnittstelle, die unter Windows, Linux und macOS installiert werden kann
  • Kann in Azure Cloud Shell, PowerShell, Bash, Cmd.exe oder in einem Docker-Container ausgeführt werden
  • Basiert auf Python
  • Gibt standardmäßig eine JSON-Zeichenfolge aus, obwohl andere Formatoptionen verfügbar sind, z. B. Tabelle, YAML und TSV
  • Ermöglicht Ihnen das Abfragen der Befehlsausgabe mit der JMESPath-Abfragesyntax.
  • Verwendet Befehle, die in Gruppen (z. B. az vm) und Untergruppen (z. B. az vm disk) organisiert sind
  • Verwendet eine Syntax, die einem einfachen Muster aus reference name -command -parameter -parameter value folgt
  • Unterstützt asynchrone Operationen

Azure PowerShell

  • Ist ein plattformübergreifendes PowerShell-Modul, das unter Windows, Linux und macOS ausgeführt werden kann
  • Lokale Ausführung in PowerShell, in Azure Cloud Shell oder in einem Docker-Container
  • Basiert auf .NET Standard
  • Bietet Vervollständigung mit TAB-TASTE und Predictive IntelliSense
  • Gibt .NET-Objekte zurück
  • Verwendet Verb-Noun-Befehlsnamen, um die Auffindbarkeit zu erleichtern

Bicep im Vergleich zu Terraform

Bicep

Bicep ist eine domänenspezifische Sprache (DSL), die deklarative Syntax zum Bereitstellen von Azure-Ressourcen verwendet. Sie definieren die Infrastruktur, die Sie in Azure bereitstellen möchten, in einer Bicep-Datei. Sie verwenden diese Datei dann im gesamten Entwicklungslebenszyklus, um Ihre Infrastruktur bereitzustellen. Ihre Ressourcen werden konsistent bereitgestellt.

Bicep bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code. Bicep bietet eine gute Erstellungsumgebung für Ihre IaC-Lösungen in Azure.

Terraform

HashiCorp Terraform ist ein Open-Source-IaC-Tool für die Bereitstellung und Verwaltung von Cloudinfrastrukturen. Es codiert die Infrastruktur in Konfigurationsdateien, die den gewünschten Zustand für Ihre Topologie beschreiben. Terraform kann jede Infrastruktur, z. B. öffentliche Clouds, private Clouds und Software-as-a-Service-Dienste (SaaS-Dienste), mithilfe von Terraform-Anbietern verwalten.

Welches Azure-Befehlszeilentool ist das richtige für Sie?

Berücksichtigen Sie bei der Wahl eines Tools Ihre bisherige Erfahrung sowie die aktuelle Arbeitsumgebung. Nachfolgend finden Sie eine Zusammenfassung Ihrer Optionen:

  • Die Azure CLI-Syntax ist ähnlich der Bash-Skripterstellung.
  • Azure PowerShell ist ein PowerShell-Modul. Die Befehle folgen einem Verb-Noun-Namensschema, und Daten werden als Objekte zurückgegeben.
  • Bicep ist eine domänenspezifische Sprache (Domain-Specific Language, DSL), die eine deklarative Syntax zur Bereitstellung von Azure-Ressourcen verwendet.
  • Terraform ist ein Open-Source-IaC-Tool für die Bereitstellung und Verwaltung von Cloudinfrastrukturen.

Entscheiden Sie sich für das Tool, das besser zu Ihrer Erfahrung passt und Ihre Einarbeitungszeit verkürzt. Durch Offenheit erreichen Sie mehr. Verwenden Sie ein anderes Tool, wenn es sinnvoll ist.