I am happy to announce the availability of Provisioning Services™ 6.0. This release is significant as it moves beyond single image delivery into single image management. Users of Provisioning Services already know the huge impact streaming a single shared disk image has on the cost and effort of managing virtual desktops and XenApp farms. Ask any of them and they will tell you that having a handful of vDisk images to manage for hundreds or even thousands of machines is a real game changer for their deployments.
While XenConvert and the Imaging Wizard have been available for vDisk creation, Provisioning Services has not provided much support for the actual management of vDisk updates over time. With Provisioning Services 6.0 we take a big step in that direction with three new single image management capabilities: Integrated vDisk Versioning, Automated vDisk Updates, and Support for Distributed vDisk Storage.
Integrated vDisk Versioning fundamentally changes the way vDisks are patched. Instead of cloning the full vDisk image every time you have a patch to apply, we now utilize VHD differencing disks to represent different versions of the vDisk. Differencing disks start out empty and then contain only the changes since the previous disk version. So you will not have to wait for a 40 GB file copy and or use up as much storage space.
To support this new differencing disk model, a new version management dialog in the Provisioning Services console makes it easy to create and manage vDisk versions. The dialog allows you to see the version history of the vDisk and do things like annotate versions with descriptions, periodically consolidate changes into new baseline vDisks, and delete obsolete versions. If you are familiar with VM or storage snapshots, you will quickly get the hang of vDisk versioning.
Because most organizations maintain separate development, test, and production environments, we are introducing the concept of target device types: production machines, test environment machines, and image maintenance machines. The version management dialog allows you to select which versions are available for production, test, and maintenance, so you can control the movement of a new vDisk version through each of these environments.
Building on the versioning capabilities, Automated vDisk Updates bridges the gap between Provisioning Services vDisks and software distribution and patching tools like Microsoft Systems Center Configuration Manager (SCCM) and Windows Server Update Services (WSUS). These tools are designed to patch machines with local copies of the OS and apps. With Provisioning Services, however, you do not want to be patching the streamed systems. All the changes to those machines are purged with every reboot. Many users have told me that they have either manually applied patches to their vDisks or they always have a machine running a private image mode copy of a vDisk and periodically clone that vDisk for production environment deployment. In both cases management of vDisks has been a deviation from the “normal” tools and techniques used for non-streamed systems.
The Automated vDisk Updates capability addresses this by allowing you to define a designated “Update VM” for each vDisk. That VM becomes the interface point to your software distribution and patching tool. Through the Provisioning Services console you can then define periodic update tasks. When an update task runs, a new workflow engine in Provisioning Services does the following:
- Creates a new version of the vDisk.
- Boots the update VM you defined.
- Signals the software patching solution (e.g. SCCM) client to download and apply any pending updates (which are saved in the new version’s VHD difference disk)
- Shuts the update VM down.
- Optionally “promotes” the new version to your test or production environment.
Put simply, this capability allows you to deploy patches to Provisioning Services vDisks using the same processes and tools you use for other systems. This first release of this feature supports Microsoft SCCM and WSUS. Future updates will expand this support for other solutions, or you can build your own adapter with the built-in scripting interface.
Complementing these two new features our new Support for Distributed vDisk Storage makes it easier to distribute vDisk storage across multiple Provisioning Servers or multiple sites. For example, if your organization has multiple datacenters you may want to have a single set of vDisks managed in one location, but copied to storage used in other locations. Alternatively, you may have decided you plan to use the local disks on the Provisioning Servers for vDisk storage and replicate your vDisks across them.
Technically, both of these scenarios can be supported with Provisioning Services 5.x, but if you do not configure your replication correctly or something broke replication, you could end-up with crashed sessions. Provisioning Services 6.0 provides more robust support for these distributed storage configurations by maintaining a vDisk inventory on each server. This inventory is used by the load-balancing logic to ensure that when a new streaming session starts it is only assigned to a server that can access the assigned vDisk files. We also added a new diagnostic dialog to the management console to help you track down replication errors. What we are not providing is a replication solution itself. There are a number of viable solutions in the market and we have designed this feature to work with any of them, from sneaker-net to Microsoft DFS Replication.
It’s tough to get a good sense of these new features a few paragraphs in a blog, so if you want to know more about this release, check-out the CitrixTV recording of my Synergy presentation describing these new features in more depth. Better yet, download Provisioning Services 6.0 and try it for yourself. If you already have licenses you are all set. If you don’t, you can try it as part of a XenDesktop, XenApp, or XenServer evaluation.
So there you have it. There is a lot of good stuff in this release and it’s only the beginning of our plans for integration of single image management into our solutions and across the FlexCast models.