Bisher ging es um das, was in Azure existiert. Jetzt geht es darum, wie Sie es anlegen und verwalten. Sie haben dafür mehrere Wege: klicken im Browser, Befehle tippen oder die gewünschte Umgebung in einer Datei beschreiben. Alle Wege führen zum selben Dienst, dem Azure Resource Manager, und genau das ist der rote Faden dieser Lektion.
Als Beispiel dient die erfundene Tischlerei Sommer, die für jeden Kunden eine kleine Umgebung für ihre Auftragsverwaltung braucht.
Die Werkzeuge: Portal, Cloud Shell, CLI und PowerShell
Microsoft nennt drei Werkzeuge, um mit Azure zu arbeiten:
- Das Azure-Portal ist eine webbasierte, einheitliche Oberfläche. Sie können dort Ressourcen erstellen, verwalten und überwachen und eigene Dashboards für den Überblick anlegen. Das Portal ist auf Ausfallsicherheit ausgelegt: Es ist in jedem Azure-Rechenzentrum vertreten und wird ohne Ausfallzeit aktualisiert. Es eignet sich zum Einstieg, zum Ansehen und für einmalige Aufgaben.
- Azure PowerShell ist eine Shell, in der Sie Befehle, sogenannte Cmdlets, ausführen. Sie rufen im Hintergrund die REST-API von Azure auf.
- Die Azure CLI (Command Line Interface) kann funktional dasselbe wie Azure PowerShell. Der Unterschied liegt in der Schreibweise: PowerShell nutzt PowerShell-Befehle, die CLI Bash-Befehle. Welche Sie nehmen, hängt vor allem davon ab, welche Sprache Sie besser kennen. Beide lassen sich unter Windows, Linux und macOS installieren.
Befehle lassen sich als Skript festhalten und sind damit wiederholbar und automatisierbar. Dieselbe Aufgabe, eine Ressourcengruppe mit dem Tag Environment anzulegen, sieht so aus:
az group create --name rg-sommer-test --location westeurope --tags Environment=Test
New-AzResourceGroup -Name rg-sommer-test -Location westeurope `
-Tag @{ Environment = "Test" }
Azure Cloud Shell ist eine Shell im Browser. Sie starten sie im Portal über das Symbol, und es ist nichts zu installieren oder einzurichten. Sie sind bereits mit Ihren Azure-Zugangsdaten angemeldet, die Shell kennt also Ihre Berechtigungen. Und Sie wählen: Cloud Shell unterstützt sowohl Azure PowerShell als auch die Azure CLI.
Azure Arc: Azure über Azure hinaus
Nicht alles läuft in Azure. Manche Server stehen im eigenen Rechenzentrum, andere bei einem anderen Cloudanbieter. Azure Arc arbeitet mit dem Azure Resource Manager zusammen und erweitert Azures Verwaltung und Überwachung auf solche Hybrid- und Multicloud-Umgebungen. Die Idee: Ihre vorhandenen Nicht-Azure-Ressourcen erscheinen in Azure, und Sie verwalten sie mit denselben Werkzeugen und Regeln, als liefen sie dort.
Arc kann unter anderem Server, Kubernetes-Cluster, Azure-Datendienste und SQL Server außerhalb von Azure verwalten. So lassen sich zum Beispiel Richtlinien und Bestandsübersicht in allen Umgebungen gleich handhaben, statt jede Umgebung mit eigenen Werkzeugen zu betreuen.
Azure Resource Manager
Azure Resource Manager (ARM) ist der Bereitstellungs- und Verwaltungsdienst von Azure. Immer, wenn Sie in Azure etwas tun, ist er beteiligt. Eine Anfrage aus dem Portal, aus der CLI, aus PowerShell oder aus einem Programm kommt bei ihm an. Er prüft Anmeldung und Berechtigung und leitet die Anfrage an den zuständigen Dienst weiter. Weil alle Wege über dieselbe Schnittstelle laufen, sehen Sie in allen Werkzeugen dieselben Ergebnisse. Was Resource Manager außerdem bietet:
- Verwaltung der Infrastruktur über deklarative Vorlagen statt über Skripte,
- Bereitstellen, Verwalten und Überwachen aller Ressourcen einer Lösung als Gruppe,
- erneutes Bereitstellen mit einem verlässlich gleichen Zustand,
- Abhängigkeiten zwischen Ressourcen, damit die Reihenfolge stimmt,
- Zugriffssteuerung über RBAC und das Setzen von Tags.
Infrastruktur als Code
Infrastruktur als Code (infrastructure as code, IaC) heißt: Sie verwalten Infrastruktur über Code und Vorlagen statt über Handarbeit. Der Einstieg können Skripte mit der Azure CLI oder PowerShell sein. Weiter geht es mit ARM-Vorlagen und Bicep.
Eine ARM-Vorlage beschreibt in einer JSON-Datei, welche Ressourcen Sie haben wollen. Sie sagen, was am Ende da sein soll, nicht, in welchen Schritten das geschieht. Das nennt man deklarativ. Azure prüft die Vorlage vorab und legt die Ressourcen in der richtigen Reihenfolge an, wenn möglich parallel. Vorteile: wiederholbare Ergebnisse, weil dieselbe Vorlage für Entwicklung, Test und Produktion dient, und Wiederverwendung durch Aufteilen in Module.
Bicep ist eine deklarative Sprache für Azure-Bereitstellungen, die ebenfalls über ARM läuft. Sie ist in der Regel einfacher und knapper als JSON-Vorlagen und leichter zu lesen und zu schreiben.
| Portal | CLI oder PowerShell | Vorlage (ARM, Bicep) | |
|---|---|---|---|
| Arbeitsweise | klicken | Befehle, auch als Skript | beschreiben, was da sein soll |
| Wiederholbar | kaum | als Skript ja | ja, deklarativ |
| Geeignet für | Einstieg, Ansehen, einmalige Aufgaben | Aufgaben automatisieren | viele gleiche Umgebungen |
Das Beispiel der Tischlerei Sommer
Für den ersten Kunden klickt die Tischlerei die Umgebung im Portal zusammen. Beim fünften Kunden schreibt sie dieselbe Umgebung als Bicep-Datei. Jetzt entsteht jede neue Kundenumgebung mit einer Bereitstellung und sieht jedes Mal gleich aus. Den alten Server im eigenen Keller bindet sie mit Azure Arc an, damit er in Azure erscheint und dieselben Regeln bekommt.
Übung 1
Welches Mittel passt? Nennen Sie das Werkzeug und einen Grund:
- Eine Auszubildende will sich zum ersten Mal ansehen, welche Ressourcen es im Abonnement gibt, ohne etwas zu installieren.
- Jemand will von einem Rechner im Café aus kurz einen Befehl ausführen, ohne etwas zu installieren.
- Die Firma will dutzende gleiche Umgebungen verlässlich im gleichen Zustand bereitstellen.
- Die Firma hat Server im eigenen Rechenzentrum und will sie mit Azure-Werkzeugen verwalten.
Lösung 1
- Azure-Portal. Die grafische Oberfläche eignet sich zum Ansehen, und im Browser ist nichts zu installieren.
- Azure Cloud Shell. Sie läuft im Browser, ist schon mit Ihrem Konto angemeldet und bietet CLI oder PowerShell.
- ARM-Vorlage oder Bicep. Deklarative Vorlagen liefern wiederholbare, gleiche Ergebnisse, und Azure Resource Manager kümmert sich um die Reihenfolge.
- Azure Arc. Es projiziert die Server in Azure Resource Manager, sodass Sie sie wie Azure-Ressourcen verwalten.