Managing Windows Virtual Desktop Images using Azure devOps

With many organisations looking to deliver a remote working solution at scale, the complexity in managing and setting up the environment can be a challenge. This blog looks at how managing Windows Virtual Desktop Images using Azure DevOps, provides a high level of automation, repeatability, and importantly for scale, the integration with Azure.

 

Challenge:

 

As Logicalis deploys Windows Virtual Desktop (WVD) solutions for customers, single instance management of the gold image has been an evolving process. Single instance management is where uniformity across all session hosts in a WVD host pool is enforced by using a single gold image.  

 

In the early days it was a matter of building a base image and importing the virtual hard disk (VHD) into Azure. This was a slow and manual method open to error and inconsistent image quality. Fast forward to the present, Logicalis is taking a continuous integration approach using DevOps tooling to build a WVD gold image pipeline.

 

Solution:

 

Logicalis have developed Infrastructure as Code repositories for the deployment and management of WVD images, host pools, sessions hosts, and related components. Azure based DevOps tooling provides a consistent approach to deploying and testing WVD platform versions and it’s components. All deployment code is managed in a central repository ensuring release versions are tracked and linked to build artifacts such as build test reports and compliance outputs.

 

A continuous build solution provides a high level of automation, repeatability, and integration with Azure. Automating the update of the session hosts or the WVD release versions in a controlled and repeatable process is a prerequisite for a successful WVD deployment. In relation to the Single Instance Management and Desired State Configuration, the risk of configuration drift across the WVD host pool is removed, which provides a stable and easy to troubleshoot environment. Code Repositories and Release Pipelines also allow collaboration of image and WVD Host Pool builds making it easier and quicker to update WVD deployments.

 

The build pipeline uses a pipeline to framework the build stages which includes:

 

  • Packer for the Windows 10 MS build
  • PS Provider for software install
  • Ansible and Chocolatey for public or internal application repository
  • RSpec for testing the image to ensure software is installed and correct configuration is applied

Into this mix, we can add the Azure Image Builder (AIB) as its compatible with packer and can deploy to the share Image gallery.

 

The Release Pipeline manages the update of the WVD environment using as input the image from the Azure Image Gallery.
 
Following this stage an ARM Template is used to create or update the WVD Host Pool. Once the new session hosts are deployed, uses can connect and launch Windows 10 MS sessions.

 


Figure 1: Logicalis Image DevOps Pipeline

 

Outcome

 

Many of the third-party products for managing WVD do not provide end to end continuous deployment, they often lack a mechanism to automate the install of applications and software nor test the image prior to deployment.

 

Leveraging Azure DevOps to orchestrate various build agents using a YAML pipeline, Logicalis has developed a framework for continuous deployment of WVD Images, as well as supporting release management into the WVD environment, allowing for updates to Host Pools, Session Host and other Azure Resource Group resources. Key benefits include the extensive logging, pipeline artifacts and the option of a fully enabled and extendable CI/CD pipeline. A pipeline that can be developed and improved with every image release.

If you'd like to hear more from us on this topic, or if you have any questions we can assist with you contact us here today. Thank you for reading!

 

Like to learn more? Contact us today.