1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Azure Resource Manager Virtual Machines

Overview of Configuration Management in the Portal


Overview of the course
Course Intro
Course Overview
Start course
2h 17m

Azure Resource Manager Virtual Machines

Virtual Machines are a very foundational and fundamental resource in Cloud Computing. Deploying virtual machines gives you more flexibility and control over your cloud infrastructure and services, however, it also means you have more responsibility to maintain and configure these resources. This course gives you an overview of why use virtual machines as well as how to create, configure, and monitor VMs in Azure Resource Manager.

Azure Resource Manager Virtual Machines: What You'll Learn

Lesson What you'll learn
Overview Overview of the course and the Learning Objectives
What is a Virtual Machine? Understand what are Azure Virtual Machines and what workloads are ideal for VMs
Creating and Connecting to Azure VMs Learn to deploy Windows and Linux VMs as well as how to connect to these VMs
Scaling Azure Virtual Machines Understand VM scaling, load-balancing, and Availability Sets in Azure Resource Manager
Configuration Management Understand the basic concepts of Desired State Configuration and the options available to Azure VMs
Design and Implement VM Storage Gain an understanding of the underlying Storage options available to VMs as well as Encryption
Configure Monitoring & Alerts for Azure VMs Learn to monitor VMs in Azure Resource Manager as well as configure alerts.
Summary Course summary and conclusion


GitHub Code Repository



Let’s take a look at the Configuration Management options we have in the Portal. Here I have a VM called “ExtensionVM.” Under Settings we have a property for Extensions. When we select this we see currently do not have any extensions listed. Let’s click “Add” to see what options we’re presented with. We can see a list of VM Extensions including the “Custom Script Extension” which we’ll get into in a bit and toward the bottom we have three extensions based on Configuration Management: PowerShell Desired State Configuration, Puppet Agent, and finally Windows Chef Extension. As you can see some of these extensions are provided by Microsoft but most are provided by 3rd parties. There is a growing number of available extensions that we may use for our VMs.

As we will see Configuration Management works by defining in a text file, or through code, your desired infrastructure state. This is usually maintained in some central repository so that when you or your colleagues make changes it’s tracked but more importantly so that your VMs can all pull from a master source configuration. Different Configuration Management tools have different ways of implementing this desired state file, however, most tools are based around industry standards such as MOF or the Managed Object Format (MOF). More on this when we get to the demo.

Let’s click on the Windows Chef Extension. As you can read this extension just installs the Chef Client on your VM and bootstraps to your Chef Server. Let’s click Create. We won’t go into all the details, but with Chef there is the idea of a Chef Client and a Chef Server. The values here is what we fill out to connect securely to our Chef Server. So where do we get a Chef Server? Turns out if we hop back over to the VM Gallery and search for Chef, we have official certified Chef Server that we can build and deploy just like any other VM. The Chef Server together with the Windows Chef Extension allows us to use Chef as our Configuration Management tool of choice.

While we’re here, let’s search for Puppet. As you can we have an official Puppet Enterprise server based on Ubuntu Linux. This particular VM image allows us to manage up to 10 nodes for free. Looking back at the VM Extensions, let’s select the Puppet Agent extension and click Create. Here it’s quite simple. We just specify the Full-Qualified Domain Name of our Puppet Master Server as they call it.

Let’s take a look at the PowerShell DSC extension in the Portal. Click Create. Similar to the other Configuration Management tools we need to specify a number of Parameters. What the PowerShell DSC Extension wants here is a PowerShell script file or Module, the name of the PowerShell Module, any arguments or configuration data, and other information. But because we need a PowerShell script anyway, let’s just see how to configure and deploy this extension from PowerShell itself.

About the Author
Learning Paths

Chris has over 15 years of experience working with top IT Enterprise businesses.  Having worked at Google helping to launch Gmail, YouTube, Maps and more and most recently at Microsoft working directly with Microsoft Azure for both Commercial and Public Sectors, Chris brings a wealth of knowledge and experience to the team in architecting complex solutions and advanced troubleshooting techniques.  He holds several Microsoft Certifications including Azure Certifications.

In his spare time, Chris enjoys movies, gaming, outdoor activities, and Brazilian Jiu-Jitsu.