Citrix Labs recently released the XenDesktop Desired State Configuration Resource Provider. This blog post takes a closer look on what Desired State Configuration is and how the XenDesktop Desired State Configuration Provider allows for rapid and automated deployment of XenDesktop roles in a private/public/hybrid cloud scenario.

Simplifying XenDesktop Deployments

This year the Citrix Labs team decided to take a close look at how our customers and partners can leverage Microsoft automation technologies to install and configure various XenDesktop roles within a Microsoft public/private/hybrid cloud deployment. The goal of this project was to demonstrate an automated, repeatable and easily upgradeable XenDesktop deployment process that would be consistent regardless where XenDesktop may sit.

CC Photo Credit Tom Haymes

For this project we evaluated three different deployment technologies. The first we rolled out as a tech preview were the XenDesktop System Center Templates. Second was the XenDesktop Windows Azure Pack Gallery Image.  These two deployment methods shared a common approach of providing reusable virtual machine blueprints utilizable when deploying XenDesktop in a private/hybrid cloud environment.

The third and final deployment technology we assessed and just rolled out as a tech preview is the XenDesktop Desired State Configuration Resource Provider. While sharing the same goal of providing a simplified XenDesktop deployment, Desired State Configuration provides a much different underlying process and means to deliver against this goal. The remainder of this blog post will provide a quick introduction to Desired State Configuration and talk about how the Citrix Labs team leveraged this technology to provide another method to simplify a XenDesktop deployment.

Quick Introduction to Desired State Configuration

Before jumping into what the Citrix Labs team delivered in regards to Desired State Configuration, let’s first start with some definitions. Desired State Configuration (DSC) is an open standards based configuration platform built into Windows. With DSC, you can use Windows PowerShell to write declarative scripts with the purpose of describing a desired configuration. DSC will then work behind the scenes to ensure that your configuration matches the ‘desired state’.

DSC gives you a powerful and easy way to manage your Windows infrastructure, both on-premise and in the cloud. It does this by introducing a very simple declarative syntax into the PowerShell language, and a built-in engine that receives and applies the configuration. You describe the desired state of your environment by using this new declarative syntax, and then distribute it to each target node in your environment where it is made so. After the configuration is delivered and applied, it can be used to correct configuration drift when it occurs, or just report on configuration drift, so that you know that it has occurred. (Windows PowerShell Blog)

Benefits of this approach include the fact that instead of writing and maintaining an agent to support installation and configuration, you can use DSC. Its open approach means that DSC is reusable across multiple management frameworks (e.g. Windows Azure, Chef, Puppet, etc…)

There is a lot to Desired State Configuration, and this intro just scratches the surface. Brian Ehlert from the Citrix Labs team has launched an in depth blog series covering Desired State configuration, which you can check out here.

XenDesktop Desired State Configuration Resource Provider

Desired State Configuration Sample Script

What the Citrix Labs team delivered with DSC is a XenDesktop Desired State Configuration Resource Provider. This resource provider allows Citrix customers and partners to use any compatible third-party management platform to create consistent and repeatable installation of XenDesktop roles, regardless of where XenDesktop is deployed (e.g. public, private, hybrid clouds). Enabling the XenDesktop Desired State Configuration Resource Provider can be accomplished through a variety of different methods, and the Citrix Labs team has provided an example showing how you can manually apply a configuration using a provided sample script (which is available as part of the tech preview).

So where the aforementioned XenDesktop System Center Templates and XenDesktop Windows Azure Pack Gallery Image were tied to specific management technologies, the XenDesktop Desired State Configuration Resource Provider can be used across multiple management frameworks, which open things up a bit and allows our customers and partners multiple options where they can use the XenDesktop Desired State Configuration Resource Provider.

If you want to give any of these XenDesktop deployment tech previews a try, you can learn more and get access to the download pages here. We also have prepared a ‘how to’ video  for the XenDesktop Desired State Configuration Resource Provider, which you can view here.

For more information on the kind of projects the Citrix Labs team is working on, take a look at the Trends and Innovation site at Citrix.com. You can also join the Citrix Labs group at LinkedIn.com.