Intermediate Bicep

Solution Architect
Azure Resource Manager

Bicep enables you to deploy Azure resources. Bicep uses a declarative syntax that you treat like application code. Treating your infrastructure as code enables you to track changes to your infrastructure requirements and makes your deployments more consistent and repeatable.

Take this learning path to deepen your understanding of Bicep. In it, you'll:

  • Deploy child and extension resources.
  • Add your Bicep code to the Git version control system to track its history and collaborate with team members.
  • Follow proven best practices to create high-quality Bicep code.
  • Use pull requests to review your team's Bicep code.
  • Use the what-if command to check the effects of your Bicep files before you deploy them.
  • Migrate JSON ARM templates to Bicep to make your existing Azure deployment templates easier to read and maintain.
  • Use Bicep to work with resources you've previously deployed using the Azure portal or other tooling to make your deployments repeatable and consistent.


Want to learn Bicep live from subject matter experts? Follow on-demand Learn Live sessions with our experts.

To learn about Bicep, we recommend you take these three learning paths:

After that, you might be interested in adding your Bicep code to a deployment pipeline. Take one of these two learning paths based on the tool you want to use:


This learning path assumes you have familiarity with deploying Azure resources by using Bicep.

Modules in this learning path

Deploy a variety of Azure resources in your Bicep code. Define and use child and extension resources. Work with resources that you created outside a Bicep template or module.

Track of changes to your Bicep code and view the history of the files you've changed. Use branches to develop multiple versions of your code at the same time. Publish your repository to support collaboration.

Build Bicep files that support collaborative development and follow best practices. Plan your parameters to make your templates easy to deploy. Use a consistent style, clear structure, and comments to make your Bicep code easy to understand, use, and modify.

Avoid unintended changes and poorly written Bicep code by using pull requests. Use branching strategies to protect your main branch from accidental changes. Understand what you should look for when you review Bicep code.

Preview the effects of your deployments. Understand the types of changes detected by the what-if operation. Deploy your templates using incremental and complete mode.

Export and convert your Azure resources to Bicep files, and migrate your JSON Azure Resource Manager templates (ARM templates) to Bicep. Refactor your Bicep files to follow best practices. Test your Bicep files and deploy them to production.