Auswählen des richtigen Befehlszeilentools
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 gibt an, dass die Funktion für das angegebene Befehlszeilentool unterstützt wird (
true
). - Das Symbol 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 | ||||
Deklarative IaC-Tools | ||||
Azure-nativ | ||||
Cloudunabhängig | ||||
Kann unter Windows, Linux und macOS ausgeführt werden | ||||
Kann Azure Storage-Ressourcen erstellen, bearbeiten und löschen |
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.