Azure
ARM-Templates (Azure Resource Manager Templates)
Allgemeine Infos
Ein ARM-Template ist eine JSON-Datei, die beschreibt, welche Azure-Ressourcen mit welchen Eigenschaften existieren sollen. Es besteht aus den Abschnitten parameters, variables, functions (benutzerdefinierte Funktionen), resources und outputs. Azure Resource Manager übersetzt jede Ressourcendefinition in einen REST-Aufruf an den Ressourcenanbieter.
ARM-Templates sind die technische Basis von Infrastructure as Code in Azure: Bicep wird bei jedem Deployment zu ARM-JSON kompiliert, Template Specs und Deployment Stacks speichern und verwalten Templates, viele Marketplace-Angebote liefern sie mit. Für neue Projekte empfiehlt Microsoft ausdrücklich Bicep, weil die Syntax deutlich kürzer und lesbarer ist.
Bestehende Templates bleiben voll unterstützt und lassen sich mit bicep decompile in Bicep überführen.
Funktionsweise & Details
Ein Deployment läuft so ab:
- Template und Parameterdatei werden an ARM übergeben, per Portal, az deployment group create, New-AzResourceGroupDeployment oder Pipeline.
- ARM validiert das Template vor dem Start, wodurch halb fertige Deployments seltener werden.
- Optional zeigt What-if, welche Ressourcen erstellt, geändert oder gelöscht würden.
- ARM ermittelt Abhängigkeiten, stellt unabhängige Ressourcen parallel bereit und verwendet für jeden Aufruf die im Template angegebene apiVersion.
- Der Deployment-Modus entscheidet über den Rest: Incremental (Standard) lässt nicht beschriebene Ressourcen stehen, Complete löscht sie in der Resource Group.
Große Umgebungen werden in verknüpfte (linked) oder verschachtelte (nested) Templates aufgeteilt. Das Testkit arm-ttk prüft Templates gegen Empfehlungen.
Vorteile & Nutzen
- Wiederholbare Umgebungen, weil dasselbe Template immer denselben Zielzustand erzeugt
- Versionierbar in Git und damit nachvollziehbar und reviewfähig
- Vorabkontrolle durch Validierung und What-if senkt das Risiko von Fehldeployments
- Breite Unterstützung in Portal, Marketplace, Pipelines und Drittwerkzeugen
Praxisbeispiel
Ein Ingenieurbüro hat vor Jahren seine Azure-Umgebung per Portal-Export in ARM-Templates gesichert. Bei einer Erweiterung zeigt What-if, dass ein Deployment im Complete-Modus zwei manuell angelegte VMs gelöscht hätte. Das Team stellt auf den Incremental-Modus um, dekompiliert die Templates nach Bicep und pflegt sie fortan in einem Git-Repository mit Pull-Request-Freigabe.
Worauf sollte man achten?
- Complete-Modus nur bewusst einsetzen, weil er alle nicht beschriebenen Ressourcen der Resource Group entfernt
- Secrets nie im Klartext in Parameterdateien ablegen, sondern über Key-Vault-Referenzen einbinden
- Vor jedem produktiven Deployment What-if ausführen und das Ergebnis prüfen
- Für neue Projekte Bicep verwenden und bestehende Templates schrittweise dekompilieren
Lizenz & Verfügbarkeit
Kostenlos, nur die bereitgestellten Ressourcen verursachen Kosten. Stand: Oktober 2026.
Fazit
ARM-Templates bleiben das Fundament der Azure-Bereitstellung. Für neue Arbeit ist Bicep die lesbarere Schreibweise desselben Modells.
Weiterführende Links
Verwandte Artikel
Microsoft 365
Jetzt umsteigen | Ende - AZURE AD Graph
Microsoft 365
Azure Services | Dein ultimativer Überblick
Microsoft
Microsoft Ignite 2025: Das wichtigste im Überblick
Windows Server