AZR-ARM: Developing Azure Resource Manager (ARM) Templates

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

This class starts with an overview of Microsoft Azure including the Azure Portal and how to automate tasks in the cloud using PowerShell. Then we’ll dive deep into ARM template development. You will learn how to define your infrastructure as code and how to build reusable templates for reliable and repeatable deployments. You’ll also see how you can use Azure VM extensions to bootstrap servers with PowerShell DSC and standard shell scripts. By the end of the class, you’ll be able to build an automated end-to-end solution with Azure Resource Manager templates.

Audience Profile

This 3-day course is intended for IT professionals who want to automate Azure deployments using Resource Manager Templates. This course can be used to gain an understanding of how to define Infrastructure as Code and consistently and repeatedly automate the provisioning of complete application environments on Microsoft Azure.

At Course Completion

After completing this course attendees will be able to:
◾Describe the benefits of Infrastructure as Code (IaC)
◾Use development tools such as Visual Studio and Visual Studio Code to author templates
◾Version templates in source control
◾Read and write JavaScript Object Notation (JSON)
◾Use patterns and best practices for template development
◾Automate simple or complex server environments with a single click or API call


Module 1: Microsoft Azure Infrastructure Fundamentals
◾Introduction to Microsoft Azure
◾Azure Resource Manager Overview
◾Deploying Infrastructure in the Azure Portal
◾Automating Azure Infrastructure using PowerShell

Module 2: ARM Template Development Basics
◾Getting Started with JSON
◾Exporting JSON Templates from the Portal
◾Understanding Template Structure
◾Deploying Templates with PowerShell
◾Deploying Templates with the ARM Rest API
◾Versioning Templates in Source Control
◾Setting up One-Click Deployments

Module 3: Mastering Expressions and Functions
◾Overview of Expressions and Functions
◾Numeric Functions
◾String Functions
◾Array Functions
◾Resource Functions

Module 4: Accepting Input with Parameters
◾Defining Parameters
◾Free-form vs. Known Configuration
◾Setting Parameter Constraints
◾Validating Parameter Input
◾Customizing Parameter Values at Runtime

Module 5: Working with Variables
◾Defining Variables
◾Using Functions with Variables
◾Storing JSON Objects in Variables

Module 6: Defining Resources
◾Understanding Resource Structure
◾Defining Resource Property Values
◾Setting Resource Dependencies
◾Deploying Multiple Resources with Copy Object

Module 7: Using Linked Templates
◾Linking to a Parameter File
◾Linking to Another Template
◾Using Variables to Link Templates

Module 8: Working with Azure VM Extensions
◾Using the Domain Join Extension
◾Creating Startup Scripts with the Custom Script Extension
◾Bootstrapping Servers with the PowerShell DSC Extension

Module 9: Building an End-to-End Solution
◾Creating the Network Infrastructure
◾Deploying Domain Controllers
◾Launching Member Servers
◾Validating the Solution


This course is for IT professionals working in systems administration, application development, or DevOps roles. We recommend that attendees have experience with general networking concepts and systems administration or software development. Familiarity with the Windows Server operating system and Windows PowerShell is also recommended.