Azure ARM template, but it is not JSON!

Luke In The Clouds
2 min readSep 15, 2020

Microsoft has recently released an experimental language for creating Azure ARM templates. It is called bicep.

Syntax on this new language is quite similar to Terraform — which means it is much more readable and developer-friendly:

param location string = 'eastus'
param name string = 'uniquestorage001' // must be globally unique

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: name
location: location
kind: 'Storage'
sku: {
name: 'Standard_LRS'

Once you have created your bicep script you need to compile it:

bicep build main.bicep

… and as an outcome, you get your old, JSON ARM template 😀 which you are deploying like any other ARM template these days.

On twitter (and my other social media) I’m sharing interesting (in my opinion ;)) stuff about Cloud, DevOps, Software Development and Technical Leadership.

Here are some resources you can check to learn more about bicep:

What do you think about bicep? It is a good move from Microsoft to introduce a new syntax for ARM templates?

Do you like this post? Share it with your friends!
You can also subscribe to my RSS channel for future posts.

Originally published at on September 15, 2020.



Luke In The Clouds

👍 Notes from my work with Azure and other clouds | 🌍