M365Con 2027 – gratis online conferentie · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Waarom Azure-teams eindelijk afscheid nemen van ARM-templates

By ·

Jarenlang kregen cloudengineers en ontwikkelaars die met Microsoft Azure werkten te maken met een bittere werkelijkheid bij het toepassen van Infrastructure as Code (IaC). Enerzijds boden Azure Resource Manager (ARM)-templates een native en krachtige manier om cloudinfrastructuur betrouwbaar te provisionen en te beheren. Anderzijds betekende het schrijven en onderhouden van die templates worstelen

Automatically translated with AI from the original post. Read the English original

Cover: Bicep - Simply Explained

Jarenlang kregen cloudengineers en ontwikkelaars die met Microsoft Azure werkten te maken met een bittere werkelijkheid bij het toepassen van Infrastructure as Code (IaC). Enerzijds boden Azure Resource Manager (ARM)-templates een native en krachtige manier om cloudinfrastructuur betrouwbaar te provisionen en te beheren. Anderzijds betekende het schrijven en onderhouden van die templates worstelen met uitgebreide JSON-bestanden, diepe nesting, opgeblazen codestructuren en vervelende mergeconflicten telkens wanneer een teamlid de repository aanpaste. Als je ooit uren hebt besteed aan het opsporen van een verkeerd geplaatste haakje of een onzichtbare komma in een JSON-document van duizend regels, ken je precies het soort frustratie dat bij traditionele Azure-implementaties hoort.

Gelukkig is het cloudlandschap geëvolueerd. Azure-teams stappen geleidelijk af van ruwe ARM-templates ten gunste van Bicep: een schonere, mensvriendelijkere domeinspecifieke taal die de pijnpunten van JSON wegneemt zonder de onderliggende betrouwbaarheid van Azure Resource Manager op te offeren. In deze uitgebreide gids onderzoeken we waarom deze verschuiving plaatsvindt, hoe Bicep onder de motorkap werkt en waarom de overstap je infrastructuurcodebasis met wel 60% kan verkleinen.

Introductie tot ARM-template-vermoeidheid

Om te begrijpen waarom Bicep de Azure-community zo heeft overspoeld, moeten we eerst de grondoorzaak van ARM-template-vermoeidheid vaststellen. Toen Azure template-gestuurde implementaties populair maakte, was JSON de universele standaard voor gegevensuitwisseling. JSON was echter nooit bedoeld als programmeertaal of als hulpmiddel om infrastructuur te definiëren. Naarmate cloudomgevingen groter en geavanceerder werden, werden de beperkingen van JSON steeds duidelijker.

Bij traditionele ARM-templates neemt de complexiteit exponentieel toe. Een standaard enterprise-implementatie met virtuele netwerken, subnets, key vaults en beheerde identiteiten groeit snel uit tot opgeblazen bestanden van duizenden regels. Omdat JSON standaard geen native lussen of geavanceerde modularisatie kent, grijpen engineers vaak naar complexe copy-functies en rommelige nesting. Wanneer meerdere teamleden samenwerken aan hetzelfde monolithische templatebestand, worden frequente mergeconflicten onvermijdelijk in plaats van uitzonderlijk. Het debuggen van deze bestanden voelt vaak als het zoeken naar een naald in een digitale hooiberg. Daardoor laten veel teams geautomatiseerde IaC helemaal varen ten gunste van foutgevoelige handmatige klikken in de portal, wat het doel van DevOps-automatisering volledig ondermijnt.

Overzicht van Bicep

Om deze wijdverspreide pijnpunten van ontwikkelaars aan te pakken, introduceerde Microsoft Bicep als een transparante abstractielaag bovenop ARM-templates. Bicep is geen vervanging van Azure Resource Manager; het is eerder een slimmere, beknoptere manier om ermee te werken. Alles wat je in een ARM-template kunt doen, kun je ook in Bicep doen, maar met een fractie van de cognitieve belasting.

In de kern beschikt Bicep over een vereenvoudigde syntaxis die bijna als gewoon Engels leest. Het haalt de syntaxisruis van JSON weg (vaarwel met eindeloze aanhalingstekens, haakjes en komma’s) en vervangt die door heldere, declaratieve definities. Omdat Bicep een gecompileerde taal is, fungeert je code als de bron van waarheid. Die wordt tijdens de implementatiefase omgezet naar standaard ARM-JSON. Deze slimme architectuur zorgt voor 100% compatibiliteit met de onderliggende implementatie-engine van Azure en verbetert tegelijkertijd de dagelijkse ontwikkelervaring aanzienlijk.

Hoe Bicep werkt

Inzicht in de werking van Bicep helpt om te begrijpen hoe het de kloof overbrugt tussen menselijke leesbaarheid en machinale uitvoering. Wanneer je infrastructuurcode met Bicep schrijft, maak je bestanden met de extensie .bicep. Deze bestanden gebruiken een domeinspecifieke taal die specifiek is geoptimaliseerd voor het inrichten van Azure-resources.

De werkwijze is verfrissend eenvoudig:

  1. Authoring: Je maakt en bewerkt je .bicep-bestanden lokaal in moderne geïntegreerde ontwikkelomgevingen zoals Visual Studio Code, en profiteert van uitgebreide extensies die IntelliSense, syntaxisvalidatie en realtime linting bieden.
  2. Compilatie: Met het Bicep CLI-commando bicep build main.bicep wordt je schone code gecompileerd tot een standaard ARM-JSON-template.
  3. Deployment: Je deployt het resulterende template rechtstreeks naar Azure met de Azure CLI of Azure PowerShell, net zoals je altijd deed.

Dankzij deze compilatiestap blijft de kern van de deploymentengine van Azure ongewijzigd. Je enterprise-beleid, op rollen gebaseerde toegangscontroles en controles op deploymentveiligheid blijven dus gewoon werken.

Voordelen van Bicep

De overstap van op JSON gebaseerde ARM-templates naar Bicep levert meteen meetbare voordelen op voor engineeringorganisaties. Allereerst daalt het aantal regels code drastisch. Teams melden regelmatig een codereductie van 50% tot 60%, wat betekent dat er minder regels zijn om te schrijven, te reviewen en te onderhouden.

Bicep geeft daarnaast een flinke impuls aan samenwerking in teams. Doordat infrastructuurdefinities kunnen worden opgesplitst in kleinere, herbruikbare modules, kunnen verschillende teamleden tegelijkertijd aan verschillende onderdelen van de architectuur werken zonder elkaar in de weg te zitten. Versiebeheer wordt een stuk overzichtelijker, codereviews duren minuten in plaats van uren, en het inwerken van nieuwe engineers in cloudprojecten verloopt soepel in plaats van als een harde start in het diepe.

Aan de slag met Bicep

Met Bicep begin je met heel weinig voorbereiding. Omdat de Bicep CLI lichtgewicht is en native integreert met de Azure CLI, kun je in een paar minuten aan de slag op Windows, macOS of Linux.

Zorg er eerst voor dat je de Azure CLI en Visual Studio Code hebt geïnstalleerd. Installeer vervolgens de officiële Bicep-extensie voor VS Code om geavanceerde functies te ontgrendelen, zoals codeaanvulling, validatie van parameters en automatische detectie van resourcetypes. Zodra alles is ingesteld, kost het schrijven van je eerste resource, zoals een Azure Storage-account of een virtueel netwerk, slechts een paar heldere regels code. Dat vervangt wat anders tientallen regels dichte JSON-boilerplate zou zijn geweest.

Toepassingen van Bicep

Bicep komt vooral goed tot zijn recht in twee belangrijke enterprisescenario's: fundamentele Infrastructure as Code-implementaties en deployments in meerdere omgevingen.

In standaard IaC-pipelines integreert Bicep moeiteloos met CI/CD-platforms zoals GitHub Actions en Azure DevOps. Zo worden volledig geautomatiseerde, herhaalbare deployments mogelijk die configuratiedrift uitsluiten. Voor architecturen met meerdere omgevingen, zoals ontwikkeling, test, staging en productie, laat de ondersteuning van Bicep voor parameters en modulaire templates je één gestandaardiseerde codebase onderhouden, terwijl je omgevingsspecifieke variabelen en configuraties onderweg veilig invoegt.

Veelgestelde vragen

Wat is Bicep?

Bicep is een transparante, open-source domeinspecifieke taal van Microsoft voor het declaratief deployen van Azure-resources, met een schonere syntaxis dan traditionele ARM-templates.

Hoe verschilt Bicep van ARM-templates?

ARM-templates gebruiken een uitgebreide JSON-syntaxis die lastig te lezen en te onderhouden is. Bicep biedt een beknopte, leesbare syntaxis met geavanceerde toolondersteuning. Bicep-bestanden worden vóór de deployment gecompileerd naar ARM-templates.

Kan ik bestaande ARM-templates omzetten naar Bicep?

Ja! Je kunt bestaande ARM JSON-templates eenvoudig decompileren naar Bicep-bestanden met de Bicep CLI, zodat je meteen gebruik kunt maken van de vereenvoudigde syntaxis.

Is Bicep gratis te gebruiken?

Ja, Bicep is volledig gratis en open-source, en wordt door Microsoft volledig ondersteund als een volwaardig onderdeel voor het beheer van Azure-infrastructuur.

Ondersteunt Bicep modulariteit?

Zeker. Bicep is vanaf het begin ontworpen om modulair coderen te ondersteunen, zodat je grote infrastructuurdeployments kunt opdelen in herbruikbare, beheersbare onderdelen.


Oude ARM-templates achter je laten is niet langer alleen een experimentele keuze voor vooruitstrevende teams. Het wordt de basisstandaard voor efficiënte, schaalbare Azure-engineering. Door de complexiteit van code terug te dringen, de samenwerking te verbeteren en deployments in meerdere omgevingen te stroomlijnen, geeft Bicep cloudprofessionals de ruimte om zich te richten op het bouwen van goede software in plaats van te vechten met configuratiebestanden.

Wil je dieper op dit onderwerp ingaan en praktische inzichten horen over hoe moderne teams hun cloudstrategie moderniseren? Bekijk dan ook onze podcastaflevering: Bicep - Simply Explained.

Bicep Microsoft Azure Infrastructure as code Azure Functions Exchange Online

Related articles

RSS