Deel op facebook
Deel
Deel op twitter
Tweet
Delen op linkedin
Deel

Blog - Azure Infrastructure As Code (IAC) met BICEP

Microsoft heeft "Bicep" uitgebracht, een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-middelen in te zetten. Ontdek in dit artikel wat het is en hoe u het kunt gaan gebruiken!

Biceps

Als je een Azure Cloud Platform wilt opzetten dat (her)inzetbaar is en automatisch verplaatst kan worden naar hogere omgevingen, moet je dat automatiseren met scripts en deployment pipelines.

Wij configureren onze Azure resources meestal met Azure Resource Manager templates (ARM templates), in JSON formaat, wat leesbaar is, maar de leercurve om er een in elkaar te zetten is vrij lang en het onderhouden ervan kan vrij lastig zijn om de juiste structuur te behouden (de juiste haakjes en spaties op de juiste plaats). Ook zijn de verplichte attributen van een resource niet altijd duidelijk, je moet vaak de JSON functies opzoeken in de documentatie en handmatig de afhankelijkheden per resource opgeven.

Microsoft heeft een alternatief gelanceerd: Bicep. Dit artikel geeft een overzicht ervan en hoe u het kunt gaan gebruiken.

Wat is "BICEP"?

Microsoft heeft "Bicep" uitgebracht, een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-middelen in te zetten. In een Bicep-bestand definieert u de infrastructuur die u wilt deployen naar Azure, en vervolgens gebruikt u dat bestand gedurende de hele ontwikkelingslevenscyclus om uw infrastructuur herhaaldelijk te deployen. Uw middelen worden consequent ingezet.

Hoe kan ik Azure Bicep gaan gebruiken?

Stap 1: Voorbereiding op het aanmaken en gebruiken van Bicep-bestanden

U kunt Bicep-scripts gebruiken in AzureCLI of Powershell, maar om met Bicep-bestanden te werken moet u de Bicep :

De eenvoudigste is Azure CLI, die u kunt installeren via :

  • az bicep installatie (voor een eerste installatie)
  • az bicep upgrade (voor een update naar de laatste versie)
  • az bicep versie (om de installatie te bevestigen)


Azure Powershell (Azure PS versie 5.6.0 of later!) :

  • voor PS moet u een handmatige installatie uitvoeren die afhangt van het besturingssysteem waarop u werkt (MacOS, Linux of Windows) in Raadpleeg de ondersteuningspagina van Microsoft voor de juiste verklaringen voor het besturingssysteem dat u gebruikt.


Daarnaast kunt u ook de VS Code extensie installeren voor code intelligentie en validatie:

 VS Code ==> Extensies ==> BICEP

Stap 2: Het .bicep-bestand aanmaken

Zoals hierboven vermeld, kunt u uw Bicep-bestand aanmaken:

  • Handmatig, direct in Azure Devops ;
  • via de VS-code;
  • door een bestaand ARM-model in Bicep-formaat te decompileren.
    Heb je al een bestaand ARM-model? Bicep biedt migratiemogelijkheden.

In het eerste deel van het BICEP-bestand specificeert u de parameters en variabelen die u zult gebruiken om de middelen dynamisch te propageren.

In het tweede deel specificeert u de middelen die u gaat inzetten en hun eigenschappen.

In dit voorbeeld laten we zien hoe u een KeyVault kunt implementeren met behulp van een Bicep-bestand. Dit kan natuurlijk worden vertaald naar elk ander Azure-resourcetype.

In alle gevallen (voor alle verschillende soorten resources) heb je een resource-naam nodig, een locatie en de tenant waar je het wilt inzetten. U kunt optioneel de Tags definiëren die u eraan wilt toevoegen.

In dit geval definiëren wij voor KeyVault ook het toegangsbeleid op het niveau van certificaten, sleutels, enz.

Stap 3: Deployment van het Bicep-bestand

Bicep biedt verschillende opties om ons bestand op Azure te implementeren. De snelste manier is via PowerShell of Azure CLI. Er bestaan ook andere opties, met behulp van de Bicep Tasks extensie voor Azure pipelines of Bicep Github Action.

Azure CLI voorbeeld om onze KeyVault te implementeren:

De inzet was succesvol:

En de Azure KeyVault is succesvol aangemaakt met een gedefinieerd toegangsbeleid (accessPolicies):

Conclusie

Bicep biedt beknopte syntaxis, betrouwbare typeconsistentie en ondersteuning voor hergebruik van code. Bicep biedt de beste auteurservaring voor uwinfrastructuuroplossingen als code in Azure. Bicep is een goede aanvulling op bestaande ARM-sjablonen, omdat het extra voordelen heeft die u veel tijd en frustratie kunnen besparen.

Meer weten?

Neem contact met ons op!

Blog - Beveiligingsfuncties van de cloud 

Blog - De beveiligingsfuncties van...

Het doel van deze blogpost is om u wat advies te geven...
Blog - BigLake: Unifying data lakes and warehouses across clouds

Blog - BigLake: gegevens verenigen...

BigLake: waarom en hoe te gebruiken? Organisaties zien hun gegevens groeien en veranderen...
Blog - Google Cloud Next 2022 - Wat is de volgende stap?

Blog - Google Cloud Next 2022 -...

Google Cloud Next 2022 Het Google Cloud Next evenement trapt af...
Laten we samen innoveren
Gepassioneerd door data?

Contacteer ons