<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1919858758278392&amp;ev=PageView&amp;noscript=1">

Bicep: The Evolution of Azure ARM

Oct 28, 2021 12:32:33 PM By Dan Whiting

Spoiler alert: Despite both bicep and arm being in the title, this has nothing to do with body building. But, if you want to talk about infrastructure as code (IaC) and an easier and more efficient way to implement it on Azure Resource Manager, you are in the right place. Read on. If you were expecting body building tips, watch this

Earlier today, Maik van der Gaag (@maikvandergaag) presented at the All Days DevOps conference on Bicep, a domain-specific language to implement IaC on Azure. Maik is the CTO at 3fifty, founder of the Dutch Cloud Meetup, and is a Microsoft Azure MVP.

He first touches on the value of IaC and why organizations should adopt it: 

  • Save money by delivering stable environments rapidly and at scale
  • Version control
  • Reusability
  • Repeatability
  • Create resource according to strict rules/remove human errors
  • No more configuration drift

Of course, IaC can be implemented in all sorts of environments, but Maik presented on what he knows best - Azure. Azure Resource Manager is a management layer on top of the Azure platform. 

Bicep is a domain specific language that is a transparent abstraction over ARM. It has a 1-to-1 compatibility with ARM and you have access to Microsoft production support when you use it.  The process to use it is straightforward: Create a Bicep file → Bicep, ARM templates are created → Templates can then be used to deploy resources. 

Why use Bicep? 

  • It has a much simpler syntax
  • It is easier to read
  • ARM can get quite large

As Maik says, once you start with Bicep, you won’t go back to ARM. 

In fact, if you already use ARM templates, you can decompile them and build Bicep templates from them. Bicep templates are structured with: 

  • Parameters
    • Default value
    • Allowed value
    • Secure value
    • Length constraint
    • Description
    • Integer value constraint
    • Custom metadata
  • Variables
  • Resources
  • Modules
  • Outputs

I should stop there because this post isn’t the place to get into all of the specifics and demos. But, if you are now fully convinced to start using Bicep (or at least your interest is piqued), Maik walks through some more specifics and a demo in his talk. 

He also shared some helpful resources: 

You can listen to Maik’s entire 30-minute talk here at All Day DevOps, the world's largest DevOps conference. The event is taking place live today, October 28. There is still time to register online to participate in the 24-hour, global event and to view the session on-demand later.

Founded in 2016, the virtual event gathers more than 25,000 DevOps professionals for free, hands-on education. The All-Day DevOps is a global community of more than 75,000 DevOps practitioners and thought leaders offering free learning, peer-to-peer insights, and networking with professionals worldwide. The community hosts an annual conference, live forums, and ongoing educational experiences online. The 2021 event features a lineup of 180+ speakers in six separate tracks, including CI/CD Continuous Everything, Cultural Transformation, DevSecOps, Government, Modern Infrastructure, and Site Reliability Engineering. All sessions will be available on-demand following the conference. Register online to participate in the 24-hour live, global event on October 28 and to view the session on-demand later.