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.
Citrix XenDesktop: 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.
Citrix XenDesktop: 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.
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.
Citrix XenDesktop: 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 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 the 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.