hands-on lab

Using Chef Solo on Windows for Azure

Up to 1h 20m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Lab Overview

Chef is a popular configuration management tool. It has built-in support for Windows and a thriving community providing convenient cookbooks for managing Windows configurations. This Lab will get you up and running with Chef Solo and help you configure a local Windows host on Azure using Chef. You will then explore Chef cookbook dependencies and the Chocolatey Windows package manager. Finally, you will configure the host to serve an Internet Information Services (IIS) website.

Lab Objectives

Upon completion of this lab you will be able to:

  • Install and set up Chef Solo on an Azure Windows VM
  • Run Chef recipes with Windows-specific resources
  • Use guards to enforce Chef resource idempotence
  • Manage Chef cookbook dependencies with Berkshelf
  • Configure Microsoft's IIS web server with Chef Solo 

Lab Prerequisites

You should be familiar with the following:

  • Chef concepts
  • Working at the command line
  • Windows and PowerShell experience are beneficial, but not required

Lab Environment

Before completing the lab instructions, the environment will look as follows:


After completing the lab instructions, the environment should look similar to:




May 17th, 2023 - Updated the validation check function to migrate to Azure

May 5th, 2020 - Added a validation check function to check the work done in the lab

About the author
Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.

LinkedIn, Twitter, GitHub

Covered topics
Lab steps
Logging in to the Microsoft Azure Portal
Connecting to the Azure Virtual Machine (RDP)
Setting Up Chef Solo on Windows
Running Your First Chef Solo Recipes on Windows
Preserving Chef Resource Idempotence with Guards
Managing Chef Cookbook Dependencies with Berkshelf
Configuring Microsoft's IIS Web Server with Chef Solo - Azure