Infrastructure as Code und Azure Resource Manager

Dominic Böttger

May 5, 2023

 • 

5

 min read

Blog

>

Infrastructure as Code und Azure Resource Manager

Entdecke die Welt von Infrastructure as Code und lerne, wie Azure Resource Manager das Leben von Entwicklern und IT-Administratoren einfacher macht.

Die Welt der Cloud-Technologien wächst unaufhaltsam, und Microsofts Azure ist eine der führenden Plattformen in diesem Bereich. Einer der Schritte, um das Beste aus Azure herauszuholen, besteht darin, Infrastructure as Code (IaC) zu nutzen. In diesem Artikel wird der Einstieg in Infrastructure as Code und Azure Resource Manager (ARM) erleichtert und die Vorteile dargelegt.

Was ist Infrastructure as Code (IaC)?

Infrastructure as Code ist ein Ansatz zur Verwaltung und Bereitstellung von IT-Infrastrukturen über Code statt über manuelle Prozesse. Dabei werden alle benötigten Ressourcen und Konfigurationen in Code-Dateien definiert und automatisiert bereitgestellt. Dies ermöglicht eine schnellere, zuverlässigere und nachvollziehbare Infrastrukturbereitstellung.

Es gibt verschiedene Sprachen und Tools für Infrastructure as Code, darunter:

  • Terraform (HashiCorp Configuration Language, HCL)
  • AWS CloudFormation (JSON oder YAML)
  • Azure Bicep (Bicep-Sprache, Kompilierung in ARM-Templates)
  • Google Cloud Deployment Manager (YAML)
  • Ansible (YAML)
  • Chef (Ruby)
  • Puppet (Puppet DSL)

Azure Resource Manager (ARM) und JSON

Azure Resource Manager ist ein Verwaltungssystem, das die Erstellung, Aktualisierung und Löschung von Azure-Ressourcen koordiniert. ARM-Templates sind in JSON-Format geschrieben und dienen als Basis für die Bereitstellung von Ressourcen.

JSON (JavaScript Object Notation) ist ein leichtgewichtiges, textbasiertes Datenformat, das zum Austausch von Daten zwischen Systemen verwendet wird. JSON ist einfach zu lesen und zu schreiben und wird von vielen Programmiersprachen unterstützt. In ARM-Templates werden Ressourcen und Konfigurationen als JSON-Objekte definiert.

Beispiel für ein einfaches ARM-Template

      
{ 
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", 
  "contentVersion": "1.0.0.0", 
  "parameters": { ... }, 
  "variables": { ... }, 
  "resources": [ 
    { 
      "type": "Microsoft.Storage/storageAccounts", 
      "apiVersion": "2021-04-01", 
      "name": "mystorageaccount", 
      "location": "East US", 
      "sku": { 
        "name": "Standard_LRS" 
      }, 
      "kind": "StorageV2", 
      "properties": { 
        "supportsHttpsTrafficOnly": true 
      } 
    } 
  ], 
  "outputs": { ... }
}
      
    

Copy


Dieses Beispiel zeigt ein ARM-Template, das eine Azure Storage Account-Ressource erstellt. Es verwendet das JSON-Format, um Ressourcen und deren Eigenschaften zu definieren.


Vorteile von Infrastructure as Code und Azure Resource Manager

  1. Konsistente Umgebungen: Durch die Verwendung von IaC und ARM-Templates können Umgebungen genau definiert und reproduziert werden. Dies minimiert Fehler und Inkonsistenzen zwischen verschiedenen Staging- und Produktionsumgebungen, wodurch die Qualität von Anwendungen und Diensten verbessert wird.
  2. Versionierung: Da IaC-Code wie jeder andere Code versioniert werden kann, ist es einfach, Änderungen zu verfolgen und bei Bedarf zu früheren Versionen zurückzukehren. Dies erleichtert die Zusammenarbeit innerhalb von Teams und ermöglicht eine bessere Kontrolle über Infrastrukturänderungen.
  3. Automatisierung: Mit ARM-Templates lassen sich Infrastrukturen automatisiert erstellen, aktualisieren und löschen. Dies reduziert manuelle Aufwände und beschleunigt den Bereitstellungsprozess, wodurch wertvolle Zeit für wichtigere Aufgaben frei wird.
  4. Modularität: ARM-Templates ermöglichen die Erstellung von modularen, wiederverwendbaren Code-Fragmenten. Das erleichtert die Zusammenarbeit und fördert die Wiederverwendung von bewährten Lösungen, was zu einer effizienteren Gestaltung und Implementierung von Infrastrukturen führt.
  5. Validierung und Testen: Durch den Einsatz von IaC und ARM-Templates kann die Infrastruktur vor der Bereitstellung getestet und validiert werden. Das hilft dabei, Fehler frühzeitig zu erkennen und zu beheben, was die Qualität und Stabilität der Infrastruktur erhöht.
  6. Kosteneinsparungen: Durch die Automatisierung von Infrastrukturprozessen mit IaC und ARM-Templates können Unternehmen Arbeitsstunden einsparen, was zu einer Reduzierung der Betriebskosten führt. Zudem können Ressourcen effizienter genutzt werden, wodurch die Kosten für Cloud-Infrastrukturen sinken.
  7. Schnellere Markteinführung: Die Automatisierung von Infrastrukturbereitstellungen ermöglicht es Unternehmen, schneller auf Marktveränderungen zu reagieren und neue Produkte oder Dienstleistungen zügiger einzuführen. Dies steigert die Wettbewerbsfähigkeit und fördert das Unternehmenswachstum.

In der geplanten Artikelserie zum Thema BICEP und Azure werden wir detailliert auf die Bicep-Sprache und ihre Vorteile im Vergleich zu herkömmlichen ARM-Templates eingehen. Zudem werden Anwendungsfälle und Best Practices für die Verwendung von Bicep in Kombination mit Azure Resource Manager vorgestellt. Die Serie wird tiefer in die Welt von Infrastructure as Code eintauchen, um das volle Potenzial von Azure auszuschöpfen und die Effizienz von Entwicklungs- und IT-Administrationsprozessen zu steigern.

Dominic Böttger

Author

INSPIRATIONLABS

Technologie inspiriert durch Euer Potenzial!
Wir gestalten IT so, dass Teams endlich ihr ganzes Potenzial nutzen können.

Jetzt oder nie!

Unsere Kund:innen

Kontaktiere uns

Du hast eine Frage oder Interesse an einem unverbindlichen Erstgespräch? Schreib uns!

Vielen Dank, wir haben Deine Anfrage erhalten und melden uns bald!
Oops! Something went wrong while submitting the form.