Migrating to Azure Bicep
Even though ARM templates have become very popular among people and companies working with Microsoft Azure, they’re hardly an ideal solution. As templates are simply JSON documents, they tend to become too verbose and difficult to maintain over time. It’s also difficult to develop a good ecosystem around such a tool because of the characteristics of JSON being a data format, not a real domain-specific language (DSL).
This is why Microsoft decided to take a step forward and proposed a new tool called Bicep. It is 100% compatible with ARM templates but provides a much smoother DevEx experience, better tooling, and IDE support with clean and easy-to-learn syntax. In this section, we’ll try to learn the main Bicep concepts and compare them to the template we created using ARM templates.
Bicep language
Bicep is a DSL, which is somewhat like the Hashicorp Configuration Language (HCL) language used by Terraform (which is another IaC tool...