Die Cloud ist für Unternehmen und Entwickler:innen, die ihre Abläufe skalieren, die Effizienz steigern und ihre wertvollen Daten schützen wollen, zu einem unverzichtbaren Tool geworden. Microsoft Azure, eine der führenden Plattformen für Cloud-Computing, hat bei dieser Transformation eine zentrale Rolle gespielt. Das Herzstück der Verwaltungs- und Bereitstellungsfunktionen von Azure bildet eine Komponente namens Azure Resource Manager (ARM).
Azure Resource Manager bietet eine leistungsstarke, einheitliche Möglichkeit, Ressourcen innerhalb von Azure zu verwalten und zu strukturieren. Er bringt Einfachheit, Konsistenz und Automatisierung in die Cloud-Infrastruktur. Für IT-Verantwortliche in der Unternehmens-IT und MSPs ist das Verständnis von Azure Resource Manager ein wichtiger Schritt, um das volle Potenzial der Azure-Plattform auszuschöpfen.
In diesem Artikel entmystifizieren wir ARM und beleuchten seine Kernkonzepte, Funktionen und Vorteile. Dieser Leitfaden versetzt Sie in die Lage, Ihren Cloud-Betrieb zu optimieren und den Weg für eine effizientere, skalierbarere und agilere Zukunft zu ebnen.
Das erwartet Sie in diesem Artikel:
- Was ist Azure Resource Manager?
- Zentrale und konsistente Verwaltung von Azure-Ressourcen
- Azure Resource Manager-Templates und Beispiele
- Vorteile von Azure Resource Manager
Was ist Azure Resource Manager?
Azure Resource Manager, häufig als ARM abgekürzt, ist die Plattform von Microsoft zur Verwaltung und Strukturierung von Ressourcen in der Azure-Cloud. Sie bildet eine einheitliche Verwaltungsebene und bietet einen strukturierten, effizienten Weg, Azure-Ressourcen zu erstellen, bereitzustellen, zu verwalten und zu überwachen. Zu diesen Ressourcen zählen unter anderem virtuelle Maschinen, Datenbanken, Speicherkonten und Web-Apps.
Ressourcengruppen im Mittelpunkt: Eines der Kernkonzepte von Azure Resource Manager ist die sogenannte „Ressourcengruppe“. Eine Ressourcengruppe ist ein logischer Container, der zusammengehörige Ressourcen für eine Anwendung oder eine bestimmte Workload bündelt. Mit ARM erstellen und verwalten Sie diese Ressourcengruppen und können Ihre Ressourcen so einfacher, konsistenter und kontrollierter organisieren, bereitstellen und überwachen.
Deklarative Sprache: ARM nutzt eine deklarative, JSON-basierte Sprache, um Infrastruktur und Konfiguration Ihrer Ressourcen zu definieren. Sie beschreiben also, wie Ihre Azure-Ressourcen aussehen sollen, und ARM kümmert sich um die zugrunde liegende Bereitstellung und Verwaltung, sodass der gewünschte Zustand erhalten bleibt.
Die Bedeutung von Azure Resource Manager in der Azure-Architektur
Azure Resource Manager spielt eine zentrale Rolle bei der zentralisierten Verwaltung innerhalb des Azure-Ökosystems. Als zentrale Steuerungsinstanz ermöglicht er die reibungslose Überwachung und Governance von Azure-Ressourcen. Über dieses einheitliche Bedienfeld lassen sich Ressourcen synchron erstellen, ändern und löschen. Dieser Ansatz vereinfacht die Verwaltung komplexer Anwendungen und unterschiedlicher Umgebungen und strafft den gesamten Betriebsablauf.
Azure Resource Manager lässt sich außerdem mit der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC) von Azure verbinden. Durch diese Integration können Unternehmen die Ressourcenverwaltung innerhalb ihres Azure-Abonnements sehr granular steuern. Die Möglichkeiten von RBAC sind entscheidend, um die Sicherheitsmaßnahmen von ARM aufrechtzuerhalten und Compliance sicherzustellen, insbesondere in Szenarien mit vielen Benutzer:innen und Ressourcen.
Bei komplexen, mehrschichtigen Anwendungen in Azure spielen häufig Ressourcenabhängigkeiten eine Rolle. Azure Resource Manager berücksichtigt diese Abhängigkeiten sorgfältig. Er stellt sicher, dass Ressourcen in der richtigen Reihenfolge bereitgestellt und aktualisiert werden, wodurch Fehler bei der Bereitstellung minimiert und die Konsistenz der Ressourcen verbessert wird. Dieser sorgfältige Umgang mit Ressourcenabhängigkeiten ist ein wertvoller Bestandteil der Funktionsweise von ARM.
Architektur und Komponenten von Azure Resource Manager
In der Architektur von Azure Resource Manager bilden die beteiligten Komponenten und Mechanismen die Bausteine, die die Ressourcenverwaltung in Azure ermöglichen. Wer diese architektonischen Elemente versteht, kann das volle Potenzial von ARM ausschöpfen und die Bereitstellung, Verwaltung und Skalierbarkeit von Ressourcen in der Azure-Cloud optimieren. In diesem Abschnitt sehen wir uns die Architektur und die Komponenten von Azure Resource Manager genauer an und werfen einen Blick auf die inneren Abläufe, die ihn zu einem Eckpfeiler effizienter Cloud-Verwaltung und -Bereitstellung machen.
Ressourcenanbieter: Azure Resource Manager stützt sich auf Ressourcenanbieter, die für die Verwaltung bestimmter Typen von Azure-Ressourcen zuständig sind, darunter virtuelle Maschinen, Speicher und Netzwerke. Diese Anbieter sind mit APIs verknüpft, über die ARM mit den jeweiligen Ressourcen interagiert und sie verwaltet.
Templates: ARM-Templates sind JSON-Dateien, die die bereitzustellenden Ressourcen, deren Konfigurationen und die Abhängigkeiten zwischen ihnen definieren. Templates sind ein grundlegender Bestandteil des Infrastructure-as-Code-Ansatzes von ARM und erlauben es Ihnen, Ihre Infrastruktur versionskontrolliert und konsistent zu beschreiben.
Resource Manager-API: Die Azure Resource Manager-API ist die Schnittstelle, über die Benutzer:innen mit ARM interagieren. IT-Verantwortliche können Ressourcen, Ressourcengruppen und Bereitstellungen programmgesteuert erstellen, aktualisieren und verwalten. Die API ist über das Azure-Portal, Azure PowerShell, die Azure-Befehlszeilenschnittstelle und verschiedene SDKs erreichbar.
Zentrale und konsistente Verwaltung von Azure-Ressourcen
Wie wir gesehen haben, ist Azure Resource Manager der Dreh- und Angelpunkt für die Verwaltung von Azure-Ressourcen aus einer Hand und damit unverzichtbar für die effiziente Orchestrierung des Cloud-Betriebs. Als zentrale Drehscheibe vereinfacht ARM die Bereitstellung und Verwaltung einer Vielzahl von Ressourcen, die sich über verschiedene Azure-Abonnements verteilen. Über sein zentrales Bedienfeld erleichtert ARM das Erstellen, Ändern und Löschen von Ressourcen, ohne dass man sich durch ein Labyrinth unterschiedlicher Dienste und Oberflächen navigieren muss.
Diese Zentralisierung bringt mehrere Vorteile mit sich, allen voran eine höhere betriebliche Effizienz. ARM verringert die Herausforderungen bei der Verwaltung unterschiedlichster Ressourcen erheblich, indem es eine standardisierte Oberfläche und damit einen klareren Ansatz für den Umgang mit Ressourcen bietet. Darüber hinaus stärkt es die Kontrolle, weil Änderungen und Vorgänge konsistent und sicher ausgeführt werden, unabhängig vom jeweiligen Ressourcentyp oder Azure-Dienst.
Konsistenz bei der Verwaltung von Azure-Ressourcen mit ARM
Standardisierte Ressourcenverwaltung: Konsistenz ist ein Eckpfeiler effizienter Ressourcenverwaltung, und genau hier spielt Azure Resource Manager seine Stärken aus. Mithilfe von ARM-Templates können Benutzer:innen ihre Infrastruktur strukturiert definieren. Das Ergebnis sind konsistente, wiederholbare Bereitstellungen bei gleichzeitig weniger Konfigurationsfehlern.
Lifecycle-Management von Ressourcen: ARM hält den gewünschten Zustand von Ressourcen über deren gesamten Lebenszyklus hinweg aufrecht. Ob erste Bereitstellung, Updates oder schließlich die Löschung: ARM sorgt dafür, dass diese Vorgänge in der richtigen Reihenfolge und gemäß den vordefinierten Konfigurationen ablaufen. Diese Konsistenz verringert das Risiko von Ressourcenkonflikten und betrieblichen Problemen.
Die Bedeutung von Ressourcengruppen in Azure
Wie oben beschrieben, sind Ressourcengruppen grundlegende Konstrukte im Framework von Azure Resource Manager und dienen als logische Container für die Verwaltung von Ressourcen. Sie bieten eine Möglichkeit, Ressourcen nach Projekten, Anwendungen oder einzelnen Umgebungen zu gruppieren, was Nachverfolgung und Verwaltung deutlich vereinfacht.
Eine Ressourcengruppe in Azure geht in ihrem Nutzen noch weiter: Sie dient als Grenze für die Anwendung von Richtlinien, Zugriffssteuerungen und Tags. Unternehmen können Governance-Praktiken konsistent über ihre Ressourcen hinweg durchsetzen, indem sie diese Richtlinien und Berechtigungen auf Ebene der Ressourcengruppe zuweisen. Das ist besonders wertvoll, wenn es darum geht, strenge Standards für Sicherheit, Compliance und betriebliche Effizienz einzuhalten.
Azure Resource Manager-Templates
Was sind ARM-Templates?
Azure Resource Manager-Templates (ARM-Templates) sind eine leistungsstarke Möglichkeit, Infrastruktur in Azure als Code zu definieren und bereitzustellen. Es handelt sich um Dateien im JSON-Format, einem Format zum Datenaustausch, die den gewünschten Zustand Ihrer Azure-Ressourcen beschreiben, einschließlich Eigenschaften, Konfigurationen und Abhängigkeiten. Gleichzeitig bieten sie eine versionskontrollierte Methode der Ressourcenverwaltung.
ARM-Templates verwenden eine deklarative Sprache. Benutzer:innen geben also an, „wie“ ihre Azure-Ressourcen aussehen sollen, statt Schritt-für-Schritt-Anweisungen für deren Erstellung zu formulieren. Der ARM-Dienst übernimmt dann automatisiert die Bereitstellung, Aktualisierung und Löschung der Ressourcen und sorgt dafür, dass die Infrastruktur dem im Template vorgegebenen Bauplan entspricht.
Anwendungsfälle für Azure Resource Manager-Templates
- Skalierbare und wiederholbare Bereitstellungen: ARM-Templates sind überall dort wertvoll, wo ein IT-Experte oder Managed Service Provider mehrere Ressourcen konsistent und vorhersehbar bereitstellen muss. Ob beim Einrichten einer neuen Umgebung, beim Bereitstellen einer komplexen Anwendung oder beim Verwalten von Infrastruktur über Entwicklungs-, Test- und Produktionsphasen hinweg: Mit ARM-Templates lässt sich leicht sicherstellen, dass jede Bereitstellung identisch ist. Das senkt das Risiko von Konfigurationsabweichungen und Fehlern.
- Versionskontrolle und Zusammenarbeit: Werden ARM-Templates in Versionskontrollsystemen wie Git abgelegt, können Systemadministrator:innen Änderungen mühelos nachverfolgen. So ist die Historie der Infrastruktur gut dokumentiert, und mehrere Teammitglieder können gleichzeitig und ohne Konflikte an der Ressourcenbereitstellung arbeiten.
- Effiziente Ressourcenverwaltung: ARM-Templates ermöglichen eine effiziente Ressourcenverwaltung, sodass Benutzer:innen die Möglichkeiten der Ressourcenverwaltung von Azure voll ausschöpfen können. Sie erleichtern es, den gesamten Lebenszyklus von Ressourcen zu steuern, von der ersten Bereitstellung über Updates bis hin zur endgültigen Außerbetriebnahme, und dabei die definierte Konfiguration und die Abhängigkeiten einzuhalten.
Beispiele für Azure ARM-Templates
Beispiel 1: Bereitstellung einer virtuellen Maschine
Mit einem ARM-Template lassen sich virtuelle Maschinen definieren und bereitstellen, einschließlich der Wahl des Betriebssystems, der Konfiguration des virtuellen Netzwerks und der Speichereinstellungen. Das ist besonders nützlich, um konsistente und automatisierte VM-Setups zu erstellen.
Dieses Beispiel-Template erstellt eine einfache Windows Server-VM in Azure. Sie können es weiter an Ihre speziellen Anforderungen anpassen:
json-Skriptblock
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "adminUsername": { "type": "string", "metadata": { "description": "Admin username for the VM."} }, "adminPassword": { "type": "securestring", "metadata": { "description": "Admin password for the VM."} } }, "variables": {}, "resources": [{ "type": "Microsoft.Compute/virtualMachines", "apiVersion": "2020-06-01", "name": "myVM", "location": "East US", "dependsOn": [], "properties": { "hardwareProfile": { "vmSize": "Standard_DS2_v2"}, "osProfile": { "computerName": "myVM", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]"}, "storageProfile": { "imageReference": { "publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", "sku": "2019-Datacenter", "version": "latest"}, "osDisk": { "createOption": "FromImage"} }, "networkProfile": { "networkInterfaces": [{ "id": "[resourceId('Microsoft.Network/networkInterfaces', 'myVMVMNic')]"} ] } } } ], "outputs": { "adminUsername": { "type": "string", "value": "[parameters('adminUsername')]"} } } |
Was macht dieses Template?
- Es definiert Parameter für Benutzernamen und Passwort des Administrators, sodass Sie diese Werte beim Bereitstellen der VM angeben können.
- Es erstellt eine Ressource für eine virtuelle Maschine mit dem Namen „myVM“ und bestimmten Konfigurationen wie VM-Größe, Betriebssystem-Image und Netzwerkschnittstelle.
- Der Ausgabeabschnitt liefert nach der Bereitstellung den Benutzernamen des Administrators zur Referenz.
Beispiel 2: Konfiguration von Web-App und Datenbank
ARM-Templates können einen kompletten Webanwendungs-Stack definieren, einschließlich Web-Apps, Datenbanken und der erforderlichen Netzwerkkomponenten. Das vereinfacht die Bereitstellung von Webanwendungen und der zugehörigen Datenbankressourcen.
Dieses Beispiel-Template zeigt, wie eine einfache, mit einer Datenbank verbundene Webanwendung erstellt wird:
json-Skriptblock
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "siteName": { "type": "string", "metadata": { "description": "Name for the web app."} }, "sku": { "type": "string", "defaultValue": "Free", "allowedValues": [„Free“, „Shared“, „Basic“, „Standard“, „Premium“ ], "metadata": { "description": "Pricing tier for the web app."} }, "databaseName": { "type": "string", "metadata": { "description": "Name for the Azure SQL Database."} } }, "variables": {}, "resources": [{ "type": "Microsoft.Web/sites", "apiVersion": "2021-06-01", "name": "[parameters('siteName')]", "location": "East US", "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', 'myAppServicePlan')]"}, "dependsOn": [„[resourceId(‚Microsoft.Web/serverfarms‘, ‚myAppServicePlan‘)]“ ] }, { "type": "Microsoft.Web/serverfarms", "apiVersion": "2018-02-01", "name": "myAppServicePlan", "location": "East US", "properties": { "name": "myAppServicePlan", "sku": { "name": "[parameters('sku')]"} } }, { "type": "Microsoft.Sql/servers/databases", "apiVersion": "2019-06-01", "name": "[concat(parameters('siteName'), '/myDatabase')]", "location": "East US", "properties": { "collation": "SQL_Latin1_General_CP1_CI_AS"}, "dependsOn": [„[resourceId(‚Microsoft.Sql/servers‘, ‚mySqlServer‘)]“ } }, { "type": "Microsoft.Sql/servers", "apiVersion": "2019-06-01", "name": "mySqlServer", "location": "East US", "properties": { "administratorLogin": "dbAdmin", "administratorLoginPassword": "your_password"} } ], "outputs": { "webAppName": { "type": "string", "value": "[parameters('siteName')]"} } } |
Was macht dieses Template?
- Es definiert Parameter für den Namen der Web-App, die Preisstufe und den Datenbanknamen.
- Es erstellt eine Web-App-Ressource und verknüpft sie mit einer bestimmten Preisstufe.
- Es erstellt eine Serverfarm (App Service Plan) für die Web-App.
- Es erstellt eine Azure SQL-Datenbank und einen SQL Server für die Datenbank.
- Der Ausgabeabschnitt liefert nach der Bereitstellung den Namen der Web-App zur Referenz.
Beispiel 3: Netzwerkinfrastruktur
ARM-Templates können komplexe Netzwerkinfrastrukturen beschreiben, etwa virtuelle Netzwerke, Subnetze, Sicherheitsgruppen und Load Balancer, und vereinfachen so die Einrichtung von Netzwerkumgebungen für verschiedene Projekte oder Anwendungen.
Dieses Beispiel-Template stellt eine Netzwerkinfrastruktur bereit, einschließlich virtueller Netzwerke, Subnetze, Netzwerksicherheitsgruppen (NSGs) und eines Load Balancers:
json-Skriptblock
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "virtualNetworkName": { "type": "string", "metadata": { "description": "Name for the virtual network."} }, "subnetName": { "type": "string", "metadata": { "description": "Name for the subnet."} }, "addressPrefix": { "type": "string", "metadata": { "description": "Address prefix for the virtual network (e.g., '10.0.0.0/16')."} } }, "variables": {}, "resources": [{ "type": "Microsoft.Network/virtualNetworks", "apiVersion": "2020-07-01", "name": "[parameters('virtualNetworkName')]", "location": "East US", "properties": { "addressSpace": { "addressPrefixes": [„[parameters(‚addressPrefix‘)]“ ] } } }, { "type": "Microsoft.Network/virtualNetworks/subnets", "apiVersion": "2020-07-01", "name": "[concat(parameters('virtualNetworkName'), '/', parameters('subnetName'))]", "dependsOn": [„[resourceId(‚Microsoft.Network/virtualNetworks‘, parameters(‚virtualNetworkName‘))]“ ], "properties": { "addressPrefix": "10.0.0.0/24"} }, { "type": "Microsoft.Network/networkSecurityGroups", "apiVersion": "2020-07-01", "name": "myNSG", "location": "East US"}, { "type": "Microsoft.Network/loadBalancers", "apiVersion": "2020-07-01", "name": "myLoadBalancer", "location": "East US", "dependsOn": [„[resourceId(‚Microsoft.Network/virtualNetworks‘, parameters(‚virtualNetworkName‘))]“, „myNSG“ ] } ], "outputs": { "virtualNetworkName": { "type": "string", "value": "[parameters('virtualNetworkName')]"} } } |
Was macht dieses Template?
- Es definiert die Parameter für Name des virtuellen Netzwerks, Name des Subnetzes und Adresspräfix.
- Es erstellt ein virtuelles Netzwerk mit dem angegebenen Adressraum.
- Es erstellt ein Subnetz innerhalb des virtuellen Netzwerks.
- Es erstellt eine Netzwerksicherheitsgruppe (NSG) namens „myNSG“ für Sicherheitsregeln.
- Es erstellt einen Load Balancer namens „myLoadBalancer“.
Vorteile von Azure Resource Manager
Azure Resource Manager (ARM) bietet zahlreiche Vorteile, die ihn zu einem unverzichtbaren Tool für die Verwaltung und Bereitstellung von Ressourcen in der Azure-Cloud machen. Hier sehen wir uns einige der wichtigsten an:
- Azure Resource Manager fungiert als Engine für die zentrale Orchestrierung und vereinfacht Bereitstellung und Verwaltung von Azure-Ressourcen, indem er eine einheitliche Steuerungsebene für das konsistente Erstellen, Ändern und Löschen von Ressourcen bietet.
- Mit ARM-Templates definieren Sie Infrastruktur als Code und sichern den gewünschten Zustand der Ressourcen. Das sorgt für Konsistenz und Vorhersehbarkeit bei Bereitstellungen über verschiedene Umgebungen und Projektphasen hinweg.
- ARM lässt sich nahtlos mit der rollenbasierten Zugriffssteuerung (RBAC) von Azure verbinden und bietet eine granulare Zugriffssteuerung für Sicherheit und Compliance, sodass das Prinzip der Minimalprivilegien eingehalten wird.
- Azure Resource Manager vereinfacht die Verwaltung von Ressourcenabhängigkeiten: Ressourcen werden in der richtigen Reihenfolge bereitgestellt und aktualisiert, was Fehler reduziert und die Konsistenz bei miteinander verbundenen Ressourcen erhöht.
- ARM-Templates unterstützen Infrastructure as Code (IaC)-Praktiken und ermöglichen Zusammenarbeit, Versionskontrolle und Wiederholbarkeit. In Versionskontrollsystemen wie Git abgelegte Templates lassen Änderungen über die Zeit nachverfolgen und erleichtern die Zusammenarbeit im Team, was zu gut dokumentierten Konfigurationen führt.
- Templates sind zudem skalierbar und effizient und erlauben Bereitstellung, Aktualisierung und Außerbetriebnahme von Ressourcen über Projekte und Umgebungen hinweg. Diese Skalierbarkeit optimiert die Ressourcennutzung und die Wirtschaftlichkeit.
- In Kombination mit Azure Policy bietet ARM ein robustes Framework für das Umsetzen und Durchsetzen von Governance-Praktiken. So bleiben Sicherheits-, Compliance- und Betriebsstandards über alle Azure-Ressourcen hinweg konsistent gewahrt, mit Richtlinien, die auf Ebene der Ressourcengruppe zugewiesen sind.
ARM mit NinjaOne stärken und unterstützen
NinjaOne ist die ideale Lösung für MSPs und IT-Fachleute, die das Potenzial von Azure Resource Manager voll ausschöpfen möchten. Unser erstklassiges RMM-Tool bietet zentrale Ressourcenverwaltung, Automatisierung, Durchsetzung von Sicherheit und Compliance, Kostenoptimierung, Funktionen für die Zusammenarbeit und fortschrittliche Überwachungsmöglichkeiten.
Mit NinjaOne gewinnen IT-Teams wertvolle Einblicke, straffen Arbeitsabläufe, erhöhen die Sicherheit, optimieren die Ressourcennutzung und sorgen für effiziente Abläufe, und das alles in einer kollaborativen und gut kontrollierten Umgebung.
Wenn Sie NinjaOne ausprobieren möchten, vereinbaren Sie eine Demo oder starten Sie Ihre 14-tägige Testversion und erfahren Sie, warum so viele Unternehmen und MSPs NinjaOne als RMM-Partner wählen!
Sie suchen weitere aktuelle Tipps und ausführliche Leitfäden? Schauen Sie regelmäßig in unserem Blog vorbei und melden Sie sich für MSP Bento an, um spannende Informationen, Interviews und Inspiration direkt in Ihr Postfach zu bekommen!
