O'Reilly logo
live online training icon Live Online training

Building Templates with Azure Resource Manager (ARM)

Learn how to write Azure infrastructure as code

Topic: System Administration
Mike Pfeiffer

Azure Resource Manager—Azure’s deployment and management service—allows you to create, update, and delete resources in your Azure account, using features like access control, locks, and tags to secure and organize your resources after deployment.

Microsoft MVP Mike Pfeiffer walks you through developing Azure Resource Manager templates so that you can create infrastructure-as-code solutions that run in the Azure cloud. Join in to learn the foundations of JavaScript Object Notation (JSON) and how to use declarative syntax to author templates to repeatedly and reliably deploy solutions to the Azure cloud.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • When and why to use Azure ARM templates versus other infrastructure-as-code solutions
  • The tools and services required to author your own ARM templates
  • How to create advanced automated deployment solutions using ARM templates

And you’ll be able to:

  • Describe the reasons why teams need to understand ARM template development
  • How to build a template that performs an automated deployment
  • How to implement continuous integration (CI) for Azure ARM templates

This training course is for you because...

  • You’re a developer, systems administrator, or technology architect who needs to understand the fundamental practices used for infrastructure as code in the Azure cloud.
  • You work with traditional on-premises IT infrastructure or other cloud platforms and need to pick up Azure skills.
  • You need to consistently and repeatedly perform automated deployments in the Azure cloud.


  • Experience with general networking concepts and systems administration
  • An understanding of the principles and benefits of cloud computing
  • Familiarity with the Azure platform and Windows or Linux
  • An Azure account (Free tier is fine—required to take part in course exercises.)

Recommended preparation:

Recommended follow-up:

About your instructor

  • Mike Pfeiffer is the founder and chief technologist at cloud consulting and training firm CloudSkills.io. A 20-year tech industry veteran, he’s worked for some of the largest technology companies in the world, including Microsoft and Amazon Web Services (AWS). Mike is a published author, international conference speaker, Microsoft Azure MVP, and host of the CloudSkills.fm podcast.


The timeframes are only estimates and may vary according to how the class is progressing

ARM template development 101 (55 minutes)

  • Presentation: Infrastructure as code—the big picture; JSON primer; developing your first template in VS Code; VS Code extensions for ARM template development
  • Hands-on exercise: Create your first ARM template
  • Q&A

Break (5 minutes)

ARM template development in practice (55 minutes)

  • Presentation: Working with resources and parameters; using template functions; working with variables and outputs; reverse engineering exported templates
  • Hands-on exercise: Export and update an ARM template
  • Q&A

Break (5 minutes)

Advanced concepts for ARM template development (55 minutes)

  • Presentation: Working with template references; resource orchestration; using conditions; bootstrapping VMs with script extensions
  • Hands-on exercise: Launch a template and deploy an Azure VM
  • Q&A

Break (5 minutes)

DevOps for infrastructure as code (50 minutes)

  • Presentation: Setting up a GitHub repo for ARM templates; enabling continuous integration; unit-testing ARM templates; building a CI/CD pipeline for infrastructure as code
  • Hands-on exercise: Create a GitHub repo for your templates

Wrap-up and Q&A (10 minutes)