Was ist Bicep?

Bicep ist eine domänenspezifische Sprache (DSL), die deklarative Syntax zum Bereitstellen von Azure-Ressourcen verwendet. In einer Bicep-Datei definieren Sie die Infrastruktur, die Sie in Azure bereitstellen möchten, und verwenden diese Datei dann während des gesamten Entwicklungslebenszyklus, um Ihre Infrastruktur wiederholt zu implementieren. Ihre Ressourcen werden auf einheitliche Weise bereitgestellt.

Bicep bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code. Bicep bietet die beste Form der Dokumenterstellung für Ihre Infrastructure-as-Code-Lösungen in Azure.

Vorteile von Bicep

Bicep bietet folgende Vorteile:

  • Unterstützung für alle Ressourcentypen und API-Versionen: In Bicep werden alle Vorschau- und allgemein verfügbaren Versionen für Azure-Dienste direkt unterstützt. Sobald ein Ressourcenanbieter neue Ressourcentypen und API-Versionen einführt, können Sie diese in der Bicep-Datei verwenden. Sie müssen nicht warten, bis Tools aktualisiert werden, um die neuen Dienste verwenden zu können.

  • Einfache Syntax: Im Vergleich zur entsprechenden JSON-Vorlage sind Bicep-Dateien präziser und einfacher zu lesen. Für Bicep sind keine Vorkenntnisse über Programmiersprachen erforderlich. Die Bicep-Syntax ist deklarativ und gibt an, welche Ressourcen und Ressourceneigenschaften Sie bereitstellen möchten.

    Die folgenden Beispiele zeigen den Unterschied zwischen einer Bicep-Datei und der entsprechenden JSON-Vorlage. In beiden Beispielen wird ein Speicherkonto bereitgestellt.

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Erstellungsfunktionen: Wenn Sie Bicep-Dateien über die Bicep-Erweiterung für VS Code erstellen, profitieren Sie von erstklassigen Erstellungsfunktionen. Der Editor bietet umfassende Typsicherheit, IntelliSense und Syntaxvalidierung.

    Beispiel für das Erstellen von Bicep-Dateien

    Mit der Bicep-Erweiterung für Visual Studio können Sie auch Bicep-Dateien in Visual Studio erstellen.

  • Wiederholbare Ergebnisse: Wiederholtes Bereitstellen Ihrer Infrastruktur während des gesamten Entwicklungslebenszyklus und Gewährleistung, dass Ihre Ressourcen einheitlich bereitgestellt werden. Bicep-Dateien sind idempotent, d. h. Sie können dieselbe Datei mehrmals bereitstellen und erhalten immer dieselben Ressourcentypen im selben Zustand. Sie können eine Datei entwickeln, die den gewünschten Zustand darstellt, anstatt viele separate Dateien zur Darstellung von Aktualisierungen zu entwickeln. Die folgende Datei erstellt z. B. ein Speicherkonto. Wenn Sie diese Vorlage bereitstellen und das Speicherkonto mit den angegebenen Eigenschaften bereits vorhanden ist, werden keine Änderungen vorgenommen.

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-04-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • Orchestrierung: Sie müssen sich keine Gedanken über die Komplexität von Bestellvorgängen machen. Resource Manager orchestriert die Bereitstellung voneinander abhängiger Ressourcen, sodass diese in der richtigen Reihenfolge erstellt werden. Wenn möglich, stellt der Resource Manager Ressourcen parallel bereit, sodass Ihre Bereitstellungen schneller abgeschlossen werden als serielle Bereitstellungen. Sie stellen die Datei über einen Befehl statt über mehrere imperativer Befehle bereit.

    Die Bicep-Bereitstellung im Vergleich

  • Modularität: Sie können den Bicep-Code mithilfe von Modulen in verwaltbare Teile unterteilen. Über ein Modul werden zugehörige Ressourcen bereitgestellt. Mit Modulen lässt sich Code wiederverwenden und die Entwicklung vereinfachen. Sie können ein Modul jederzeit in einer Bicep-Datei hinzufügen, wenn Sie die entsprechenden Ressourcen bereitstellen möchten.

  • Integration in Azure-Diensten: Bicep ist in Azure-Diensten wie Azure Policy, Vorlagenspezifikationen und Blueprints integriert.

  • Vorschau von Änderungen: Sie können den Was-wäre-wenn-Vorgang verwenden, um vor der Bereitstellung der Bicep-Datei eine Vorschau der Änderungen anzuzeigen. Mit Was-wäre-wenn können Sie feststellen, welche Ressourcen erstellt, aktualisiert oder gelöscht und welche Ressourceneigenschaften geändert werden. Der Was-wäre-wenn-Vorgang überprüft den aktuellen Zustand Ihrer Umgebung, sodass Sie diesen nicht verwalten müssen.

  • Keine zu verwaltenden Status oder Statusdateien: Alle Statusänderungen werden in Azure gespeichert. Benutzer können zusammenarbeiten und sicher sein, dass ihre Updates erwartungsgemäß verarbeitet werden.

  • Keine Kosten und Open Source: Bicep ist gänzlich kostenlos. Sie müssen nicht für Premium-Funktionen bezahlen. Bicep wird auch vom Microsoft-Support unterstützt.

Erste Schritte

So beginnen Sie mit Bicep

  1. Installieren Sie die Tools. Siehe Einrichten von Bicep-Entwicklungs- und -Bereitstellungsumgebungen. Alternativ können Sie das VS Code Devcontainer-/Codespaces-Repository verwenden, um eine vorkonfigurierte Erstellungsumgebung zu erhalten.
  2. Vervollständigen Sie den Schnellstart und die Lernmodule für Bizeps.

Informationen zum Dekompilieren einer vorhandenen ARM-Vorlage in Bicep finden Sie unter Dekompilieren ARM JSON-Vorlage in Bicep. Mit dem Bicep Playground können Sie Bicep und die JSON-Entsprechung nebeneinander anzeigen.

Informationen zu den Ressourcen, die in Ihrer Bicep-Datei verfügbar sind, finden Sie unter Bicep resource reference (Bicep-Ressourcenreferenz).

Bicep-Beispiele finden Sie im Bicep-GitHub-Repository.

Informationen zur Sprache

Bicep ist nicht als allgemeine Programmiersprache zum Schreiben von Anwendungen vorgesehen. Eine Bicep-Datei deklariert Azure-Ressourcen und -Ressourceneigenschaften, ohne eine Sequenz von Programmierbefehlen zum Erstellen von Ressourcen zu schreiben.

Informationen zur Überwachung des Status der Bicep-Arbeit finden Sie im Bicep-Projektrepository.

Weitere Informationen zu Bicep finden Sie im folgenden Video:

Sie können Bicep anstelle von JSON verwenden, um Azure Resource Manager-Vorlagen (ARM-Vorlagen) zu erstellen. Die JSON-Syntax zum Erstellen einer ARM-Vorlage kann ausführlich sein und komplizierte Ausdrücke erfordern. Die Bicep-Syntax reduziert diese Komplexität und erleichtert die Entwicklung. Bicep ist eine transparente Abstraktion von ARM-Vorlagen-JSON-Code und büßt keine der JSON-Vorlagenfunktionen ein. Während der Bereitstellung konvertiert die Bicep-Befehlszeilenschnittstelle eine Bicep-Datei in ARM-Vorlagen-JSON-Code.

In einer ARM-Vorlage gültige Ressourcentypen, API-Versionen und Eigenschaften sind auch in einer Bicep-Datei gültig.

Bicep bietet im Vergleich zum entsprechenden JSON-Code eine einfachere und präzisere Syntax. Sie verwenden keine in Klammern stehenden Ausdrücke [...]. Stattdessen rufen Sie Funktionen direkt auf und erhalten Werte von Parametern und Variablen. Sie weisen jeder bereitgestellten Ressource einen symbolischen Namen zu, sodass Sie einfach in Ihrer Vorlage auf diese Ressource verweisen können.

Einen vollständigen Vergleich der Syntax finden Sie unter Vergleichen von JSON und Bicep für Vorlagen.

Bicep verwaltet Abhängigkeiten zwischen Ressourcen automatisch. Sie können die Einstellung dependsOn vermeiden, wenn der symbolische Name einer Ressource in einer anderen Ressourcendeklaration verwendet wird.

Die Struktur der Bicep-Datei ist flexibler als die JSON-Vorlage. Sie können an beliebiger Stelle in der Datei Parameter, Variablen und Ausgaben deklarieren. In JSON müssen Sie alle Parameter, Variablen und Ausgaben in den entsprechenden Abschnitten der Vorlage deklarieren.

Support

Dies sind die Schritte zum Öffnen eines Supporttickets für Probleme mit Azure Resource Manager (ARM)-Vorlagen:

  1. Öffnen Sie das Azure-Portal.

  2. Wählen Sie in der oberen rechten Ecke das Symbol Support + Problembehandlung aus.

  3. Geben Sie im Feld Beschreiben Sie kurz das Problem den Text ARM-Vorlage ein, und wählen Sie dann Los aus.

  4. Wählen Sie im Bereich Bei welchem Dienst besteht ein Problem? die Option Portal unter Überwachung und Verwaltung aus. Klicken Sie dann auf Weiter.

  5. Wählen Sie ein Abonnement und dann Weiter aus.

  6. Wählen Sie Problem mit ARM-Vorlagen und dann Weiter aus.

    Screenshot: Supportanfrage bezüglich ARM-Vorlagen

Nächste Schritte

Erste Schritte mit der Schnellstartanleitung.

Antworten auf gängige Fragen finden Sie unter Häufig gestellte Fragen zu Bicep.