Azure Bicep – Die moderne Infrastructure as Code Sprache für Azure

Dominic Böttger

May 7, 2023

 • 

5

 min read

Blog

>

Azure Bicep – Die moderne Infrastructure as Code Sprache für Azure

Entdecke Azure Bicep, die innovative und vereinfachte Alternative zu ARM-Templates. Lerne, wie Bicep die Bereitstellung von Azure-Ressourcen erleichtert und wie es sich von anderen IaC-Sprachen wie Terraform unterscheidet.

Im ersten Teil dieser Artikelserie wurde Infrastructure as Code (IaC) und Azure Resource Manager (ARM) vorgestellt. Nun liegt der Fokus auf Azure Bicep, einer modernen IaC-Sprache, die speziell für Azure entwickelt wurde. In diesem Artikel werden die Vorteile von Bicep gegenüber ARM-Templates und anderen IaC-Sprachen wie Terraform erörtert und einfache Codebeispiele gezeigt, um die Unterschiede zu verdeutlichen.

Azure Bicep – Was ist das?

Azure Bicep ist eine domänenspezifische Sprache (DSL) für die Erstellung und Verwaltung von Azure-Ressourcen. Es ist eine Open-Source-Projekt von Microsoft, das als Abstraktionsschicht über ARM-Templates fungiert. Bicep-Dateien sind deutlich einfacher zu lesen und zu schreiben als herkömmliche ARM-Templates, während sie die gleiche Funktionalität bieten. Bicep-Dateien werden in ARM-Templates kompiliert, wodurch die Kompatibilität mit bestehenden Azure-Ressourcen und -Tools gewährleistet ist.

Vorteile von Bicep gegenüber ARM-Templates

  1. Einfachere Syntax: Bicep verwendet eine klarere und kürzere Syntax im Vergleich zu JSON-basierten ARM-Templates. Dies macht Bicep-Dateien leichter verständlich und wartbar.
  1. Typsicherheit und Validierung: Bicep bietet eine integrierte Typsicherheit und Validierung während der Code-Entwicklung, was die Fehleranfälligkeit reduziert und die Qualität des Codes verbessert.
  1. Modularität: Bicep unterstützt die Erstellung von wiederverwendbaren Modulen, die den Code besser strukturieren und die Zusammenarbeit innerhalb von Teams fördern.
  1. Intellisense-Unterstützung: Bicep wird von Visual Studio Code und anderen Entwicklungsumgebungen unterstützt, die Intellisense-Unterstützung für die Autokomplettierung, Syntaxhervorhebung und Fehlererkennung bieten.

Bicep im Vergleich zu Terraform

  1. Azure-spezifisch: Bicep wurde speziell für Azure entwickelt und bietet daher eine nahtlose Integration mit Azure-Ressourcen und -Diensten. Terraform ist ein plattformübergreifendes IaC-Tool, das mehrere Cloud-Anbieter unterstützt, aber möglicherweise nicht immer alle Azure-spezifischen Funktionen bietet.
  1. Keine zusätzliche Laufzeitumgebung: Bicep setzt direkt auf ARM auf und erfordert keine zusätzliche Laufzeitumgebung wie Terraform. Dadurch sind weniger Ressourcen erforderlich und der Einstieg in Bicep ist einfacher.

Einfache Bicep-Codebeispiele

Ein einfaches Beispiel für ein Bicep-Template, das eine Storage Account-R essource erstellt, sieht folgendermaßen aus:

      
bicep 
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = { 
  name: 'mystorageaccount' 
  location: 'West Europe' 
  sku: { 
    name: 'Standard_LRS' 
  } 
  kind: 'StorageV2' 
}
			
    

Copy

Ein vergleichbares ARM-Template in JSON sieht dagegen so aus:

      
json 
{ 
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", 
  "contentVersion": "1.0.0.0", 
  "resources": [ 
    { 
      "type": "Microsoft.Storage/storageAccounts", 
      "apiVersion": "2021-06-01", 
      "name": "mystorageaccount", 
      "location": "West Europe", 
      "sku": { 
        "name": "Standard_LRS" 
      }, 
      "kind": "StorageV2" 
    } 
  ] 
}
			
    

Copy

Der Unterschied in der Lesbarkeit und Einfachheit der beiden Codebeispiele ist offensichtlich. Bicep-Code ist deutlich kürzer und einfacher zu verstehen als JSON-basierte ARM-Templates.

Erste Schritte mit Bicep

Um mit Bicep zu beginnen, müssen zuerst die Bicep CLI und die Bicep-Erweiterung für Visual Studio Code installiert werden. Anschließend kann man Bicep-Dateien (mit der Dateiendung .bicep) erstellen und bearbeiten. Um ein Bicep-Template in ein ARM-Template zu kompilieren, kann man den Befehl az bicep build verwenden. Schließlich kann das kompilierte ARM-Template mit dem Befehl az deployment group create in Azure bereitgestellt werden.

In diesem Artikel wurde Azure Bicep, eine moderne Infrastructure as Code-Sprache für Azure, vorgestellt. Die Vorteile von Bicep gegenüber ARM-Templates und anderen IaC-Sprachen wie Terraform wurden erläutert und einfache Codebeispiele gezeigt. Bicep bietet eine vereinfachte Syntax, Typsicherheit und Validierung, Modularität und Intellisense-Unterstützung, was es zu einer idealen Wahl für die Arbeit mit Azure-Infrastrukturen macht.

In den nächsten Artikeln dieser Serie werden fortgeschrittene Bicep-Techniken, Best Practices und Anwendungsfälle vorgestellt. Bleibt dran, um mehr darüber zu erfahren, wie Bicep die Arbeit mit Azure-Ressourcen optimieren und die Produktivität von Entwicklern und IT-Administratoren steigern kann.

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.