Bicep enables you to organize deployments into modules. A module is a Bicep file (or an ARM JSON template) that is deployed from another Bicep file. With modules, you improve the readability of your Bicep files by encapsulating complex details of your deployment. You can also easily reuse modules for different deployments.
If you're new to Bicep, a great way to get started is by reviewing the following Learn module. You'll learn how Bicep makes it easier to define how your Azure resources should be configured and deployed in a way that's automated and repeatable. You’ll deploy several Azure resources so you can see for yourself how Bicep works.
If you are not yet using Bicep, use template specs. Content in the Bicep module registry can only be deployed from another Bicep file. Template specs can be deployed directly from the API, Azure PowerShell, Azure CLI, and the Azure portal.
ARM templates are JSON files with one or more Azure resources defined as code for consistent deployments. Hopefully, you are now convinced that Azure Bicep is better than ARM templates for writing Azure infrastructure as code. Microsoft is rapidly improving the Bicep tooling to make it the premier choice for Azure deployments.
Home / Bicep learn modules