Azure Bicep - where to get started

Last month, I have been using some of my spare time to read up Azure bicep . The goal was to learn about this (relatively) new technology/language. Because I want to help you find your way in to this domain of (Azure Specific) Infrastructure as Code (IaC) tech, I wrote something about it. I hope that it will help you to get started too!

What?

Bicep is a DSL (domain specific language) that allows you describe (in an easy fashion) how your Azure env look like and therefore you can use it to to automate an Azure infrastructure deployment. It provides a decent alternative to ARM templates which can get difficult to compose and to read.

Where to started?

The goal of this post is not to teach you about Bicep. (No, that would be too presumptuous of me) It is my goal to point you to the resources that helped me to get started, so that they can be of benefit to you too!

To get started in a structured way I have been looking at some different resources, which I list below:

  1. Microsoft Learn: There is a learning path dedicated to Azure Bicep om Microsoft Learn. It allows you to learn bicep at your own pace and with the help of interactive (live) workshops you get real hands-on experience
  2. [Book] Getting started with Bicep: infra as code on Azure (I wrote a dedicated post about it here )
  3. Azure Bicep Docs
  4. Bart Lannoeye wrote a few posts on the topic . I recommend to go trough it as it gives you a nice introduction and a few pointers if you want to learn more.
  5. Bicep playground : this cool website gives you a live side-by-side comparison of Azure Bicep and its ARM equivalent. You can edit both of them live and see the effects of a change in one, live in the other. This is really cool and powerful if you want to learn more! On top of this, the site comes with quite a few sample templates that you can use as a basis to learn from in your "getting to know azure bicep" journey!

This is the list (for now)! Please make sure to regularly check out this page as I will try to update it in the upcoming weeks as I learn more.

These resources (especially the book) helped me a lot to get a clear understanding of what Bicep is and can do for you. With this knowledge, you should be able to start in no time. This, combined with the tooling that Microsoft provides (VsCode & VsCode Plugin ]) will help you to build your own Bicep templates (and start deploying) in no time! When you define "resources" in your Bicep templates, you have the option to work with the "required" properties. Even though these will get you already a long way, you typically want to have more control and specify settings that are not "required". Most of the time it is just as easy as adding the required properties, but in some cases it's not... For some Azure services, there are specifics that you need to know/understand. (I'm talking about Azure services and Bicep) In order to be as productive as possible, I looked at additional resources:

  1. Azure Docs for ARM & Bicep templates : source of inspiration for service specific settings. A space where the Bicep (& ARM) contracts for each Azure Service are documented. Each property is described in detail and accompanied by examples. Most of the times these pages are accompanied by links to GitHub Pages with concrete (deployable) examples (which are described in nr (2))
  2. Azure Quickstart Templates : if the docs aren't enough for you, then there are examples of clearly worked out contexts. In these, you can find lots of inspiration. These helped me if the doc's weren't sufficient. I would then try to understand the specific quickstart and more specifically the part that I needed an answer for. After that I could apply the same logic to my own template

Same story: This is the list (for now)! Please make sure to regularly check out this page as I will try to update it in the upcoming weeks as I learn more.

Summary

In this post, I tried to give you an overview of sources that can help you to get started with Azure Bicep. This list most certainly isn't complete, so don't be limited by it. If you find something useful and want me to add it, please do let me know!

Have fun!

T

Posts in this Series

comments powered by Disqus