Deploy and manage resources in Azure by using JSON ARM templates

Solution Architect
Azure Resource Manager

Azure Resource Manager (ARM) templates enable you to define the infrastructure requirements for your deployments on Azure.

JSON ARM templates use a declarative code 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 learn how to:

  • Declaratively define the Azure resources you need within the structure of an ARM template.
  • Create and validate your templates by using Visual Studio Code.
  • Deploy your templates by using the Azure CLI, Azure PowerShell, and through GitHub Actions.
  • Break down complex deployments into smaller and more reusable components by using nested templates and linked templates.
  • Validate and preview your infrastructure changes by using what-if and the ARM template test toolkit.
  • Add custom steps to your ARM templates by using deployment scripts.
  • Use advanced constructs such as deployment order, conditional deployments, and secrets to manage complex deployments.


Familiarity with Azure Resource Manager and Azure resource groups is recommended, but not required

Modules in this learning path

Write JSON Azure Resource Manager templates (ARM templates) by using Visual Studio Code to deploy your infrastructure to Azure consistently and reliably.

Manage multiple Azure environment deployments of your Azure Resource Manager templates by using functions, variables, tags, and parameter files.

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.

This module teaches you how to create valid templates and gives you recommendations that you can follow by using the ARM Template Test Toolkit.

Learn how to deploy JSON Azure Resource Manager (ARM) templates by using Azure PowerShell, the Azure CLI, and GitHub Actions. Use linked templates to break down complex templates into templates that are more modular.

Add custom steps to your Bicep or JSON Azure Resource Manager templates (ARM templates). Integrate deployment scripts with your deployment by using parameters and outputs.

This module teaches you how to use advanced features of JSON ARM templates to perform secrets management and conditional deployments.

Reuse and share your ARM templates across your organization. Publish template specs that deploy resources preconfigured for your organization's requirements. Control access and safely update template specs by using versions.