Wat is Bicep?

Bicep is een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-resources te implementeren. In een Bicep-bestand definieert u de infrastructuur die u in Azure wilt implementeren en gebruikt u dat bestand vervolgens gedurende de ontwikkelingslevenscyclus om uw infrastructuur herhaaldelijk te implementeren. Uw resources worden op een consistente manier geïmplementeerd.

Bicep biedt beknopte syntaxis, betrouwbare typeveiligheid en ondersteuning voor het hergebruik van code. Bicep biedt een eersteklas ontwerpervaring voor uw infrastructuur-als-code-oplossingen in Azure.

Voordelen van Bicep

Bicep biedt de volgende voordelen:

  • Ondersteuning voor alle resourcetypen en API-versies: Bicep ondersteunt onmiddellijk alle preview- en GA-versies voor Azure-services. Zodra een resourceprovider nieuwe resourcetypen en API-versies introduceert, kunt u deze gebruiken in uw Bicep-bestand. U hoeft niet te wachten tot de hulpprogramma's zijn bijgewerkt voordat u de nieuwe services gebruikt.

  • Eenvoudige syntaxis: In vergelijking met de equivalente JSON-sjabloon zijn Bicep-bestanden beknopter en gemakkelijker te lezen. Bicep vereist geen eerdere kennis van programmeertalen. Bicep-syntaxis is declaratief en geeft aan welke resources en resource-eigenschappen u wilt implementeren.

    In de volgende voorbeelden ziet u het verschil tussen een Bicep-bestand en de equivalente JSON-sjabloon. In beide voorbeelden wordt een opslagaccount geïmplementeerd.

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

  • Ontwerpervaring: wanneer u de Bicep-extensie voor VS Code gebruikt om uw Bicep-bestanden te maken, krijgt u een eersteklas ontwerpervaring. De editor biedt uitgebreide typeveiligheid, intellisense en syntaxisvalidatie.

    Voorbeeld van het ontwerpen van Bicep-bestanden

    U kunt ook Bicep-bestanden maken in Visual Studio met de Bicep-extensie voor Visual Studio.

  • Herhaalbare resultaten: Implementeer uw infrastructuur herhaaldelijk gedurende de ontwikkelingslevenscyclus en vertrouw erop dat uw resources op een consistente manier worden geïmplementeerd. Bicep-bestanden zijn idempotent, wat betekent dat u hetzelfde bestand meerdere keren kunt implementeren en dezelfde resourcetypen in dezelfde status kunt krijgen. U kunt één bestand ontwikkelen dat de gewenste status vertegenwoordigt, in plaats van veel afzonderlijke bestanden te ontwikkelen die updates vertegenwoordigen.

  • Indeling: u hoeft zich geen zorgen te maken over de complexiteit van orderbewerkingen. Resource Manager organiseert de implementatie van onderling afhankelijke resources, zodat ze in de juiste volgorde worden gemaakt. Indien mogelijk implementeert Resource Manager resources parallel, zodat uw implementaties sneller worden voltooid dan seriële implementaties. U implementeert het bestand via één opdracht in plaats van via meerdere imperatieve opdrachten.

    Bicep-implementatievergelijking

  • Modulariteit: U kunt uw Bicep-code opsplitsen in beheerbare onderdelen met behulp van modules. Met de module wordt een set gerelateerde resources geïmplementeerd. Met modules kunt u code hergebruiken en de ontwikkeling vereenvoudigen. Voeg de module toe aan een Bicep-bestand wanneer u deze resources wilt implementeren.

  • Integratie met Azure-services: Bicep is geïntegreerd met Azure-services zoals Azure Policy, sjabloonspecificaties en blauwdrukken.

  • Voorbeeld van wijzigingen bekijken: u kunt de wat-als-bewerking gebruiken om een voorbeeld van wijzigingen op te halen voordat u het Bicep-bestand implementeert. Met wat-als ziet u welke resources worden gemaakt, bijgewerkt of verwijderd en welke resource-eigenschappen worden gewijzigd. De wat-als-bewerking controleert de huidige status van uw omgeving en elimineert de noodzaak om de status te beheren.

  • Er zijn geen status- of statusbestanden om te beheren: alle statussen worden opgeslagen in Azure. Gebruikers kunnen samenwerken en erop vertrouwen dat hun updates worden verwerkt zoals verwacht.

  • Geen kosten en open source: Bicep is volledig gratis. U hoeft niet te betalen voor Premium-mogelijkheden. Het wordt ook ondersteund door Microsoft-ondersteuning.

Aan de slag

Om te beginnen met Bicep:

  1. Installeer de hulpprogramma's. Zie Bicep-ontwikkel- en implementatieomgevingen instellen. U kunt ook de VS Code Devcontainer/Codespaces-opslagplaats gebruiken om een vooraf geconfigureerde ontwerpomgeving op te halen.
  2. Voltooi de quickstart en de Learn-modules voor Bicep.

Als u een bestaande ARM-sjabloon wilt decompileren naar Bicep, raadpleegt u Decompiling ARM template JSON to Bicep (JSON van ARM-sjabloon decompileren naar Bicep). U kunt de Bicep Playground gebruiken om Bicep en gelijkwaardige JSON naast elkaar weer te geven.

Zie Bicep-resourcereferentie voor meer informatie over de resources die beschikbaar zijn in uw Bicep-bestand

Bicep-voorbeelden vindt u in de Bicep GitHub-opslagplaats

Over de taal

Bicep is niet bedoeld als algemene programmeertaal voor het schrijven van toepassingen. Een Bicep-bestand declareert Azure-resources en -resource-eigenschappen, zonder een reeks programmeeropdrachten te schrijven om resources te maken.

Als u de status van het Bicep-werk wilt bijhouden, raadpleegt u de Bicep-projectopslagplaats.

Zie de volgende video voor meer informatie over Bicep.

U kunt Bicep gebruiken in plaats van JSON om uw Azure Resource Manager-sjablonen (ARM-sjablonen) te ontwikkelen. De JSON-syntaxis voor het maken van een ARM-sjabloon kan uitgebreid zijn en ingewikkelde expressies vereisen. Bicep-syntaxis vermindert deze complexiteit en verbetert de ontwikkelervaring. Bicep is een transparante abstractie over arm-sjabloon-JSON en verliest geen van de JSON-sjabloonmogelijkheden. Tijdens de implementatie converteert de Bicep CLI een Bicep-bestand naar een ARM-sjabloon-JSON.

Resourcetypen, API-versies en eigenschappen die geldig zijn in een ARM-sjabloon, zijn geldig in een Bicep-bestand.

Bicep biedt een eenvoudigere en beknoptere syntaxis in vergelijking met de equivalente JSON. U gebruikt geen expressies tussen haakjes [...]. In plaats daarvan roept u functies rechtstreeks aan en haalt u waarden op uit parameters en variabelen. U geeft elke geïmplementeerde resource een symbolische naam, zodat u eenvoudig kunt verwijzen naar die resource in uw sjabloon.

Zie JSON en Bicep vergelijken voor sjablonen voor een volledige vergelijking van de syntaxis.

Bicep beheert automatisch afhankelijkheden tussen resources. U kunt niet instellen dependsOn wanneer de symbolische naam van een resource wordt gebruikt in een andere resourcedeclaratie.

De structuur van het Bicep-bestand is flexibeler dan de JSON-sjabloon. U kunt parameters, variabelen en uitvoer overal in het bestand declareren. In JSON moet u alle parameters, variabelen en uitvoer binnen de bijbehorende secties van de sjabloon declareren.

Volgende stappen

Ga aan de slag met de quickstart.

Zie Veelgestelde vragen over Bicep voor antwoorden op veelgestelde vragen.