Automated deployment of workloads: new solutions for centralized desktops

For this post, we are glad to host Thomas Roettinger, Program Manager in Microsoft’s Private Cloud Solutions team.


Today we announce the availability of two new automation solutions for desktop centralization: we have just posted new samples that enable the automation of Microsoft Virtual Desktop Infrastructure (Personal and Pooled Virtual Desktops) as well as samples for the automation of Citrix XenDesktop and Provisioning Services on CPS.

In a previous blog post, we announced self-service deployment of session-based desktops, the Remote Desktop Session Host (RDSH) functionality of Windows Server. With the new automation solutions, we are completing our support for the Microsoft Remote Desktop family, and we are also adding support for the popular Citrix solution.

Similar to our other available workload examples, you can deploy those service templates in any other Windows Azure Pack (WAP) cloud by adjusting the service templates to your environment.


1. Microsoft Virtual Desktop Infrastructure for Personal and Pooled Desktops

Microsoft Virtual Desktop Infrastructure (VDI) offers IT pros flexibility in choosing the right mix of technologies to deliver a VDI solution so they can customize the implementation to meet their organization’s needs. IT pros can deploy the appropriate type of VDI solution for their users, all from a single platform. Microsoft VDI can host personal and pooled virtual machine desktops, session-based desktops, and RemoteApp programs. See Table 2 in this TechNet article for a complete explanation of differences between personal and pooled virtual machines.

The example that is available via the Web Platform Installer enables Personal and Pooled Desktops for the needs of enterprise users. It does not enable a multi-tenant hosting scenario.

Please note that unlike the other workloads this is not a self-service deployment experience provided through WAP. Instead a consistent fabric deployment experience is provided through VMM Service Templates. In addition to the service templates, various Automation runbooks and scripts have been authored to streamline the deployment end-to-end.

The download package comes with the following VMM service Templates:

· Active Directory (optional).

· SQL Server Guest Cluster.

· Remote Desktop Virtual Desktop Infrastructure (2 Tiers).

· File Server (optional).

Deployment Overview

The workload can either leverage an existing Active Directory that contains all user identities, or a new Active Directory can be created. For the deployment, the so called “customer network” is used. The customer network is a virtualized network (NVGRE) that connects with a forwarding gateway to route into existing customer networks.

Each component is deployed with high availability through either guest clustering or load balancing using the hardware load balancer which is included with CPS.

One CPS rack supports four customer networks where each is a /23 (CIDR) subnet size. This will theoretically allow provisioning up to about 2,000 virtual desktops, depending on the desired VM sizing.

The following diagram shows the high level architecture:

Validation

The architecture and Service Template deployments (VM Sizes) have been validated using Login VSI (a performance benchmark). A “knowledge worker” workload (defined by Login VSI) has been executed with a goal to have at least 500 VDI desktops become active. In the test scenario, each virtual machine was using a VM Profile Size equal to an Azure A2 VM (2 CPUs, 3.5 GB Memory). As you can see, we are not hitting Login VSI Max and CPS has the capacity to support more than the tested number of virtual desktops.


2. XenDesktop and Provisioning Services

We have been working closely with Citrix to enable XenDesktop and Provisioning Services on CPS. The scenario that we have enabled on CPS addresses the enterprise scenario; it does not enable a multi-tenant hosting scenario.

Citrix has been doing a great job creating a VMM Service Template to deploy XenDesktop and Provisioning Services via Virtual Machine Manager.

Those service templates have been taken as the foundation and the required adjustments have been made to leverage the CPS hardware load balancer. In addition, various scripts have been authored to streamline the end to end deployment, for example, creating the VM Networks, VIP Templates, VMM Run As Account and many more.

The download package includes the following VMM service templates and can be download via the Web Platform Installer (see the link below, in the Resources section):

  • Active Directory (optional)
  • SQL Server Guest Cluster
  • XenDesktop
  • Provisioning Server

You should also be aware that with the VMM updates in System Center UR7, which is part of CPS Update 2, we introduced a new capability that is required to enabled this particular workload. The required feature enables support for VMM DHCP Extension PXE/TFTP Forwarding. For details see the VMM UR7 release notes.

Deployment Overview

The workload can either leverage an existing Active Directory that contains all user identities or a new Active Directory can be created. For the deployment the so-called “customer network” uses a virtualized network (NVGRE) that connects using a CPS forwarding gateway to route into existing customer networks.

When Provisioning Server is used, an additional streaming network gets created that will be used for the initial PXE boot of the Virtual Machine to stream the virtual hard disk. This streaming network is a virtualized network as well, but it is not routed since it is not connected to a NVGRE Gateway.

Each CPS rack can support four customer networks, where each is a /23 subnet. This will allow provisioning up to about 2,000 machines depending on customer VM sizing.

All components can be scaled out to achieve high availability using the load balancer.

The following diagram shows the high level architecture:


Next Steps

Samples

The usual reminder: these are examples for you (the service provider/enterprise private cloud admin) to customize to best suit your customers’ needs. To modify them will require an understanding of how Service Templates work, how the multiple scripting engines process scripts, and how to edit the automation artifacts. An understanding of PowerShell is also going to be a prerequisite. Pay particular attention to networking considerations.

See the Building Clouds blog and the rest of the resources at the end of this post for useful resources to guide you in the installation and customization.

Resources

Cloud Platform System

Introduction to CPS

Ignite Sessions:

Windows Azure Pack
Remote Desktop Services

[This post was updated on 12/1/2015 to reflect the availability of both sample packages mentioned.]