Share via


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 wilt implementeren in Azure 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 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 totdat hulpprogramma's worden 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@2023-04-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 zorg ervoor dat uw resources op een consistente manier worden geïmplementeerd. Bicep-bestanden zijn idempotent, wat betekent dat u hetzelfde bestand vaak 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 om updates weer te geven. Met het volgende bestand wordt bijvoorbeeld een opslagaccount gemaakt. Als u deze sjabloon implementeert en het opslagaccount met de opgegeven eigenschappen al bestaat, worden er geen wijzigingen aangebracht.

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

  • Indeling: U hoeft zich geen zorgen te maken over de complexiteit van bestelbewerkingen. 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.

  • Voorbeeldwijzigingen: U kunt de wat-als-bewerking gebruiken om een voorbeeld van wijzigingen te krijgen 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 die moeten worden beheerd: 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 Ontwikkel- en implementatieomgevingen voor Bicep 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.

Zie JSON van ARM-sjabloon decompileren naar Bicep als u een bestaande ARM-sjabloon wilt decompileren naar Bicep. U kunt de Bicep Playground gebruiken om Bicep en equivalente JSON naast elkaar weer te geven.

Raadpleeg de referentie voor Bicep-resources 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 een algemene programmeertaal om toepassingen te schrijven. Een Bicep-bestand declareert Azure-resources en -resource-eigenschappen, zonder een reeks programmeeropdrachten te schrijven om resources te maken.

Zie de Bicep-projectopslagplaats om de status van het Bicep-werk bij te houden.

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 complexe expressies vereisen. Bicep-syntaxis vermindert die complexiteit en verbetert de ontwikkelervaring. Bicep is een transparante abstractie van ARM-sjabloon JSON en verliest geen van de mogelijkheden van de JSON-sjabloon. Tijdens de implementatie converteert bicep CLI een Bicep-bestand naar 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 naar die resource in uw sjabloon kunt verwijzen.

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

Bicep beheert automatisch afhankelijkheden tussen resources. U kunt het instellen dependsOn voorkomen 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 declareren binnen de bijbehorende secties van de sjabloon.

Volgende stappen

Aan de slag met de quickstart.

Zie Veelgestelde vragen voor Bicep voor antwoorden op veelgestelde vragen.