Everything About Desktop Virtualization

More than 20 years ago, the desktop revolution swept across the land, ushering in a new paradigm of computing, taking processing away from a centralized host, and moving it to personal computers at the edge of the network. With VDI (virtual desktop infrastructure), as the saying goes, what’s old is new again. Using virtualization, IT now has the ability to bring those distinct computing platforms back under one roof, while also providing for greater control and flexibility of user access.

Keith Schultz Feb 17th 2012

This review of VDI solutions features the two heaviest of virtualization heavyweights. My goal was to see what it would take to deploy a complete VDI solution based on Citrix XenDesktop 5.5 and VMware View 5 for up to 50 users. During my evaluation, I found that conceptualizing the deployment was easy. XenDesktop and View are based on similar building blocks, so the overall road map for rolling out a deployment is the same. However, getting a finished installation in place took a little more thought and effort.

Both XenDesktop and View are highly scalable, highly configurable platforms that are enterprise-grade from the word ‘go’. Both are built to scale out to dozens of hosts and thousands of users. When compared to the Kaviza, NComputing, and Pano Logic solutions, XenDesktop and View take much more effort, knowledge, and time to get up and running. But for companies that need to be able to grow and manage a large number of virtual desktop users, XenDesktop and View are the only way to go. (Side note: Citrix purchased Kaviza in early 2011 to provide an entry-level VDI offering.)

VDI ups and downsides

There are a number of advantages to virtualizing the desktop and moving it to a centralized server. First, no user data leaves the data center. All processing takes place in a controlled environment on highly redundant systems. From a security and fault-tolerance standpoint, this is a big deal. Unlike traditional desktops where data actually resides — and can be stolen, as in the case of a laptop — no data leaves the data center.

Another advantage is that systems management is centralized. When it comes time to patch an operating system or update an application, IT only has to do it on the master, or golden, disk image and all users receive the upgrades — no more pushing a single update to multiple desktops across the enterprise. Perhaps one of the biggest advantages to a VDI deployment is the ability to make the user’s desktop environment available to multiple end-user devices. This means a Windows 7 virtual desktop can be accessed from a Mac or Linux PC, from a thin client, from an iPad or Android tablet, or even (in a pinch) from a smartphone. The user’s desktop becomes completely portable.

There are a number of considerations to take into account when building out a VDI infrastructure. The host hardware has to be pretty beefy; multiple multicore processors, scads of RAM, and plentiful disk space are absolute necessities. CPU performance and RAM are easy to come by, and while disks are cheap, choosing the correct storage system can make a huge difference on overall VDI performance. Do not scrimp on the storage system. Lots of spindles, the fastest drives you can afford, and fast I/O are paramount. SSD drives are the current speed kings, and if the budget allows, build out your online storage with them. To really scale your storage, you’ll want to host virtual disks on fast SAN, NAS, or iSCSI hardware. All of the major virtualization vendors support these storage technologies.

VDI building blocks

Citrix and VMware take very similar approaches to providing a VDI solution. Each vendor has its own bare metal, or Type 1, hypervisor. Each has its own connection broker to direct incoming user requests to the appropriate virtual disk image. Each provides a browser-based management tool for creating, updating, and managing the virtual desktop images and assigning the virtual machines to users. Each also provides its own remote display protocol: HDX in the case of Citrix, PCoIP in the case of VMware.

Both XenDesktop and View provide the basic types of virtual desktops: dedicated, pooled, and shared, but only XenDesktop can also ‘stream’ a virtual desktop to the end user. Dedicated desktops are stateful virtual machines assigned to specific users, allowing them to customize and preserve their personal settings from session to session. Pooled desktops — dynamically created from a golden image when users log on, then destroyed when users log off — are suitable for call centers or sales centers where users perform the same standard tasks and no personal user information is retained.

Shared virtual desktops, also known as session virtualization, are nothing other than Remote Desktop Services (or Terminal Services) sessions. And lastly, streamed desktops — where client systems boot from server-based desktop images over the LAN — combine the management benefits of VDI with the performance benefits of client-side execution. Again, only Citrix supports desktop streaming.

Both XenDesktop and View also support ‘offline mode’ — a form of desktop virtualization that doesn’t require a connection to the VDI server farm. Offline mode allows users to download the virtual desktop to their laptop and run it locally. Whenever the user is connected to the corporate network, any changes IT makes to the master image are pushed out to the local virtual machine. And depending on the personalization policy, any changes users make to their desktop are synchronized back to the data center. This mode of operation is aimed at users who are not always in communication via the Internet or corporate LAN.

Uncommon ground

XenDesktop and View differ little in overall functionality. Their differences fall mainly in two areas: hypervisor support and connection protocol. Citrix built XenDesktop to run on any of the three most popular hypervisors: XenServer, vSphere, and Microsoft Hyper-V. On the other hand, View is tightly integrated with vSphere and doesn’t support any other platform.

While both products support Microsoft RDP (Remote Desktop Protocol), each has its own proprietary remote access protocol. Citrix’s HDX (High Definition Experience) protocol is TCP-based and includes a slew of network-aware tuning features that helps to improve the remote user experience regardless of the connection quality. VMware’s PCoIP (PC over IP) is a UDP-based protocol that is also designed to provide an excellent user experience with less protocol overhead. Both HDX and PCoIP are tremendous technologies in their own right. Arguments can be made for why one is better than the other; suffice it to say that both HDX and PCoIP do a great job of providing high-quality video, audio, and complex graphics — including Windows 7 Aero — to the end user’s device.

Through Citrix’s proprietary HDX protocol, XenDesktop delivers exceptional performance regardless of connection speed. During my testing with HDX, I connected into my virtual desktops both locally and from outside the network walls. With HDX, I didn’t notice any appreciable lag in video or audio to my client. Even when viewing video on YouTube from a remote client, playback and audio quality were excellent.

Likewise, I connected to my View virtual desktops from laptops and desktops on the LAN and remotely over the Internet. Display response and audio quality were excellent with no noticeable degradation, even over untamed Internet links. Just as with Citrix HDX, YouTube playback via PCoIP was flawless. Regardless of the underlying technologies (see sidebar, ‘HDX vs. PCoIP’) both HDX and PCoIP provided a great end-user experience. There is always a difference between ‘being there’ and being remote, but my experience with HDX and PCoIP was close enough to native to satisfy any user.

There are only slight differences in the number and types of endpoint devices that Citrix and VMware support. Both provide agents for Windows, Linux, iOS, and Android. Only Citrix supports Mac OS X, Solaris, HP-UX, DOS, and Symbian, and only Citrix provides a Java-based client. Both XenDesktop and View work with most popular thin clients and so-called zero clients.

XenDesktop and View are so similar in structure, deployment, capabilities, and scalability that choosing a clear winner was difficult. XenDesktop gets the nod for broader hypervisor and client support, a more flexible desktop delivery system (FlexCast), and the more extensive feature set built into HDX. This isn’t to say that View is an inferior product. View is best suited for IT shops already invested in vSphere and other VMware technologies. For those shops running Citrix or Microsoft hypervisors, XenDesktop will slide right in and work fine with whatever IT already has in place. Regardless of the situation, both XenDesktop and View define what VDI is supposed to be.

Citrix XenDesktop 5.5

Certainly the most flexible VDI solution I’ve worked with, Citrix XenDesktop is the model of compatibility coupled with excellent capabilities. XenDesktop not only works with Citrix XenServer, but also runs on top of other vendors’ hypervisors. It supports all four virtual desktop delivery models (dedicated, pooled, streamed, offline) and remote connectivity from a wide range of client operating systems, including Linux, Mac OS X, iOS, and Android. Setup and configuration of XenDesktop are a bit challenging, but once up and running, the system requires little day-to-day management.

Citrix offers four versions of XenDesktop to choose from, depending on the VDI project’s requirements. For those who just want to kick the tires on a VDI installation, the free XenDesktop Express version, limited to 10 concurrent users, works great. For deployments that only require hosted VDI (dedicated or pooled), the XenDesktop VDI Edition is a good choice. Full-scale deployments will require the Enterprise or Platinum edition, both of which let admins deploy dedicated, shared, streamed, and offline (local mode) virtual desktops, and integrate with Citrix XenApp. The Platinum edition goes further with the addition of HDX WAN optimization through the Citrix Branch Repeater.

I installed XenDesktop on a Dell PowerEdge R715 2U chassis using Citrix XenServer 5.6 as my hypervisor, and I created a single Windows Server 2008 R2 64-bit server to host Desktop Studio, XenDesktop Controller, and Desktop Director. I created base images for Windows XP and Windows 7 Professional desktop on the same Dell chassis. During my tests, I connected to XenDesktop from various client devices inside and outside the firewall and had no trouble launching the virtual desktops from my browser.

Building Blocks

One big plus with XenDesktop is the option to install it on VMware vSphere or Microsoft Hyper-V. Citrix designed XenDesktop to be hypervisor-agnostic to allow maximum flexibility. Like VMware View, XenDesktop does require Active Directory for user authentication and authorization, so there will have to be a Windows server somewhere on the network.

Flexibility is the name of the game with XenDesktop. IT can deploy it all on a single Windows Server 2008 box (as I did for my test installation) or break the individual server components out to multiple servers for scalability and redundancy. At a minimum, a XenDesktop installation requires a Windows server to host XenDesktop (including XenDesktop Controller, Desktop Studio, Desktop Director, and the Web access service) and a domain controller with Active Directory for user authentication. A second chassis is needed to host the hypervisor for the guest virtual machines. I cheated a little by creating a Windows Server 2008 R2 virtual machine on XenServer and installing all of the XenDesktop services on it. This configuration is fully supported by Citrix, but not recommended.

If the hypervisor is the foundation, then XenDesktop Controller is the cornerstone. Controller is a collection of core services needed to successfully deploy, host, and manage XenDesktop. It is the brains behind the scenes and implements the specific policy assigned to each group of virtual machines. Its main components are the connection broker, machine creation service, configuration service, and Active Directory and machine identity services.

Studio Time

During the initial deployment, IT admins will spend time in the Desktop Studio console. This is where you define the type and number of virtual desktops you want to deploy, the master image to build from, and the user accounts associated with the virtual machines. I found Studio to be fairly easy to navigate, if not quite as intuitive as VMware’s View Administrator, and I had no trouble creating and managing various virtual machine catalogs.

Desktop Director is where admins will spend most of their post-Studio time. Director provides an at-a-glance view of the current usage of the XenDesktop environment. Clickable charts and reports make it easy to drill down to find the information needed to keep on top of XenDesktop.

Through Citrix’s FlexCast delivery technology, Citrix XenDesktop supports all popular modes for deploying virtual machines. Admins can create catalogs of pooled, dedicated, streamed, or offline virtual machines depending on user needs. To help reduce the update burden, XenDesktop is closely tied to the concept of master images. This allows IT to patch a single image and have all associated virtual machines update automatically.

XenApp is Citrix’s tool for separating user applications from the virtualized desktop, allowing you to deliver a single application instance — through either session virtualization (aka Terminal Services) or application virtualization — to any number of virtual desktops. Like VMware’s ThinApp, XenApp completely wraps a Windows application, such as Microsoft Office, into a package that can be streamed into any Windows virtual machine and executed. The virtualized app does not interact with the underlying operating system, removing any compatibility issues, and like virtual machine master images, IT only has to update a single instance instead of many.

Hi-Def Experience

Citrix calls its HDX remote connection protocol the ‘secret sauce’ to a successful XenDesktop deployment. HDX is more than simply a protocol. It is a group of technologies that work together to provide a high-definition experience to the end user. In the current release, HDX boasts of a true Windows 7 Aero experience, better Flash redirection, client-side graphics rendering on Linux, and better remote printing performance. Other components of HDX provide support for peripherals (such as TWAIN scanners), multimedia distribution, and voice and video collaboration.

Note that the crystal clear, three-dimensional Windows 7 experience — including Aero Glass, Aero Peek, and Flip 3D effects — does require a LAN or high-speed WAN connection. Nonetheless, HDX stands out with awareness of the type of traffic passing over it and the ability to tune delivery based on the capabilities of the client and network conditions. For example, for graphics-intensive applications such as CAD, HDX can use a combination of software and hardware acceleration to make the experience as rich as possible. For real-time voice and video delivery, HDX turns on bidirectional compression. And since HDX is TCP-based, IT can employ bandwidth management and WAN optimization tools to help further mitigate bandwidth contention.