Skip to main content
Microsoft

Azure Bicep

Microsoft's declarative Infrastructure-as-Code language for Azure — compiles to ARM JSON but significantly more readable than ARM templates.

Overview

Azure Bicep in practice

Azure Bicep is Microsoft's declarative language for Azure infrastructure. The code is transpiled to ARM JSON before deployment, and the result goes to the same Resource Manager that serves the portal. That yields the main practical advantage over Terraform: there is no separate state file to back up, lock and laboriously repair after drift — the actual state is Azure itself.

New resource types are usually available on the day they reach general availability. The limits of the underlying format are worth knowing: 4 megabytes of compressed template size, 800 resources, 256 parameters and 64 output values per deployment. Anyone outgrowing them splits the template into modules. Before rolling out, the what-if command shows the planned changes. Alendris describes Azure landing zones and project-specific building blocks in Bicep — modular, reusable and tested automatically through GitHub Actions.

References

From our projects