Microsoft Virtual Desktop Infrastructure (VDI) utilising Citrix Xendesktop as the Broker

In this second blog entry on VDI I will explain the benefits that using Citrix Xendesktop as the connection broker can bring. As explained in the first blog Microsoft does not provide a broker but partners with companies including Citrix, Quest and several other companies. The list of partners can be found at https://www.microsoft.com/virtualization/partners.mspx

Citrix provide Xendesktop which is the broker and Citrix Provisioning Server which reduces the amount of storage required for VDI, which if one image was required for every user could be extensive.

Microsoft and Citrix combined VDI Architecture

image

The client accesses the VDI environment by either connecting via a web browser (the user is prompted to download a client) or the Xendesktop client can be installed locally. The local client can be pre-configured to enable the PC to act as if the VDI OS is installed locally, masking the underlying OS or the user can choose which VDI to use.

The client authenticates against Active Directory via the web interface which is hosted on the Xendesktop Server but this can be hosted on its own server.

XenDesktop monitors sessions using a heartbeat on port 8080 which is installed as part of the Virtual Desktop Agent.

The Xendesktop client (XenDesktop Receiver) is either agent based or accessed via a browser.

An example of accessing Xendesktop via the browser is if a user logs into a Windows XP machine then launches Internet Explorer and accesses the Xendesktop site. The user is either prompted for login credentials or their current AD credentials are passed through for authentication against Active Directory. If the user is only allocated to a single desktop image this will automatically launch or if they have a choice of desktops they will be given a choice of desktops to launch. Agent access can be configured so as when a Windows XP machine user logins into their domain, the agent automatically launches which in turn launches the appropriate Vista VDI. The user does not see their XP desktop only the Vista desktop. This scenario allows companies to deploy and obtain the advantages of Windows Vista without incurring the cost of a desktop hardware refresh. This is especially useful where companies or government agencies have a long refresh cycle for example greater than 36 months. Agent access can also be configured for Windows XP such that the user logs in normally to their XP desktop and then manually launches the agent and selects the appropriate VDI.

Agents and Browsers communicate with XenDesktop, Xendesktop presents users with the available Desktops/Desktop Groups and the user selects the relevant Desktop, unless the agent is configured as described above to automatically launch Windows Vista. On selection or automatic loading a session is started from the users machine directly to the virtual desktop which is located on Hyper-V. The connection is via the ICA protocol.

Hyper-V either hosts a full desktop image for each client or hosts stub images which load the desktop from the Citrix Provisioning Server vDisk. The full desktop images have their own disks, each of which are likely to be several GB’s in size and the stub images have a small VHD and PXE boot to a virtual disk(vDisk) created by Provisioning Server.

The Provisioning Server images are streamed with the data downloaded as needed. This means that once the required components are downloaded to achieve the task the user wants to perform then the task can be performed without waiting for the full image to be loaded. The vDisk is a read only image which multiple stub VDI images can access concurrently. This reduces the amount of disk space required to host a VDI environment and enables fast updates for large numbers of users. The stub images won’t grow and this configuration can be set such that all information is lost when the session ends or a virtual disk can be created for each user which can be used for storing the write cache and user state information. The vDisk is created from a physical or virtual desktop image. This image can contain standard applications or they can be streamed to each user as required using Microsoft Application Virtualization. The stub VM’s are allocated to the appropriate vDisk in the Provisioning Server Console. Multiple vDisk images can be hosted i.e. if you want several images containing different builds then each of these have their own vDisk. Provisioning server resilience is achieved by installing multiple PVS servers configured in High Availability mode and then publishing their IP addresses to DHCP scope options 66 and 67.

Virtual Machines are managed using Microsoft System Center Virtual Machine Manager 2008.

Additional Information

Microsoft Virtualization information

https://www.microsoft.com/virtualization/default.mspx

Citrix Xendesktop Information

https://www.citrix.com/English/ps2/products/product.asp?contentID=163057&ntref=hp_nav_US

This post was contributed by Andrew Rennie a Solution Architect with Microsoft Services UK.