linkedin behance facebook instagram odnoklassniki twitter vimeo vk youtube logo-edx
Skip to main content

Infrastructure as Code

This course provides knowledge and skills for automating infrastructure deployment and configuration, by representing your environments as code.

About this course

This course is part of the Microsoft Professional Program in DevOps.

In this course, you will gain the knowledge and skills to be able to deliver stable environments rapidly, reliably and at scale, avoiding manual configuration of environments and enforcing consistency, by representing your environments as code.

The course will cover areas such as:

  • Azure Automation
  • ARM templates
  • Desired State Configuration (DSC)
  • DevTest labs
  • Chef deployments in Azure
  • Puppet deployments in Azure

As well as other automation scenarios, tools and options.

What you'll learn

  • How to configure and implement Azure Automation accounts and security
  • How to create and run an Automation Windows PowerShell workflow-based textual Runbooks to provision and de-provision an environment
  • Understand Desired State Configuration (DSC) and how to create a DSC configuration file, import it into the automation account and compile it.
  • How to onboard Azure VMs for Automation DSC
  • How to generate an Azure Resource Manager (ARM) template based on an existing resource group and apply an ARM template that removes all resources in a resource group
  • How to create an ARM template by using Visual Studio.
  • How to implement Chef and Puppet deployments in Azure
  • How to use Chef to configure Azure DevTest Lab VMs
  • How to configure Continuous Integration and Continuous Deployment of Azure SQL Database using Visual Studio Team Services (VSTS) and Visual Studio.


  • Experience working in an organization delivering software,either in development or in operations.
  • Knowledge and experience working with Cloud based solutions, experience using Microsoft Azure.

Course Syllabus

  • Module 0:
    • Course introduction
    • Introduction to DevOps and Infrastructure as Code (IaC)
  • Module 1: Azure Automation
    • Objectives:
    • Infrastructure as Code and Automation
    • Automation Accounts
    • Automation Security
    • Runbook Assets
    • Runbook Basics
    • PowerShell Workflows
    • Practical Exercises
    • Review Questions
    • Summary
  • Module 2: Desired State Configuration (DSC)
    • Objectives
    • DSC in DevOps
    • Automation DSC
    • Implementing Automation DSC
    • Practical Exercises
    • Review Questions
    • Summary
  • Module 3: ARM Templates
    • Objectives
    • ARM Templates
    • Implementing ARM Templates
    • ARM templates and Visual Studio
    • Logging, Troubleshooting and Diagnostics
    • Provisioning and Configuring Environments with Azure DevTest Labs
    • Practical Exercises
    • Review Questions
    • Summary
  • Module 4:Azure IaaS and PaaS, Environment Configuration and Deployment, and Optimization
    • Objectives
    • Environments in IaaS, PaaS and Containers
    • Environment and Configuration Deployment Pipelines
    • Environment and Configuration Deployment Pipelines with OSS
    • Practical Exercises
    • Review Questions
    • Summary
  • Module 5: Final Exam
    • Validated Lab
    • Final Exam (Graded)
  • Post Course Survey
    • Post-Course Survey

Meet the instructors

Tarun Arora

Tarun Arora

Microsoft MVP, author, and trainer Microsoft

Tarun Arora is a Microsoft MVP, author, and trainer on DevOps. He is obsessed with high-quality, working software, continuous delivery, and Agile practices. Tarun heads DevOps for Avanade, UK, a Microsoft Gold Partner. You can find more DevOps-focused content on his blog For latest and greatest in DevOps, follow Tarun on Twitter @arora_tarun.