Skip to main content

Infrastructure as Code

About This Course

Welcome to the DevOps course Infrastructure as Code. This course is part of a series of courses offered by Microsoft on the practice of DevOps. While it is not required that you have completed any of the other courses in the DevOps series before taking this course, it is highly recommended that you start with the first course in the series. It is also recommended that you have experience working in Visual Studio. However, students who may not have a technical background in these technologies, but who are curious about DevOps practices as a culture shift, should be able to follow the procedural and expository explanations of infrastructure as code, it's benefits, and how automation can be used as part of a DevOps practice. Teams who implement infrastructure as code can deliver stable environments rapidly and at scale. Teams avoid manual configuration of environments and enforce consistency by representing the desired state of their environments via code. Infrastructure deployments with IaC are repeatable and prevent runtime issues caused by configuration drift or missing dependencies. DevOps teams can work together with a unified set of practices and tools to deliver applications and their supporting infrastructure rapidly, reliably, and at scale.

This course will cover:

  1. Azure Automation
  2. Desired State Configuration (DSC)
  3. ARM Templates
  4. IaaS and PaaS, Environment Configuration and Deployment, and Optimization

The course contains labs and demos for hands-on experience with the important concepts, procedures, and scenarios described in this course.

Labs and demos cover:

  • Create an Automation Account (Portal).
  • Configure Automation assets (Portal).
  • Create and run an Automation Windows PowerShell workflow-based textual runbook that provisions two load-balanced Azure VM in parallel (Portal).
  • Create and run an Automation Windows PowerShell-based textual runbook that de-provisions the lab environment (Portal).
  • Create a DSC configuration file, import it into the automation account and compile it.
  • Onboard Azure VMs for Automation DSC (Portal).
  • Generate an ARM template based on an existing resource group (Portal).
  • Apply a template that removes all resources in a resource group (Portal).
  • Redeploy template to a resource group (Portal).
  • Create an ARM template by using Visual Studio.
  • Deploy a Chef server to Azure (Portal).
  • Use Chef to configure Azure DevTest Lab VMs (Portal)..
  • Configure CI and CD of Azure SQL Database by using Visual Studio Team Services and Visual Studio.


Experience working inside an organization that delivers software;

Fundamental knowledge of Azure and a basic understanding of version control and Agile software development process;

Experience with software development using Microsoft tools and understanding of core development principles.


tarun arora

Tarun Arora

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.

  1. Course Number

  2. Course Mode

  3. Estimated Effort

    8-16 hours total