Sizing storage and hosts for Citrix Xendesktop and VMWare View

I’m currently working on comparing the costs associated with doing 100 users in a shared desktop model. I was looking for resources around sizing storage and stumbled across these fantastic calculators by Andre Leibovici. He’s created one for both Xendesktop and VMWare view. Both leverage ESX as the hypervisor currently.

Here are the links:

VMWare View VDI Sizing Calculator

Citrix XenDesktop Sizing Calculator

Calculator Instructions and Parameters

 

Virtual Desktop Optimizations – Using Quest vWorkspace Desktop Optimizer (VMWare and Citrix users listen up too!)

Quest has released a handy tool for quickly refining your virtual desktop images to dramatically improve on performance. This tool makes a number of tweaks that can save on disk, cpu and even RAM usage in a virtual desktop environment. The tool works for all vendors and it’s free! So check it out:

Quest Desktop Optimizer

 

 

WHY VDI?

With VDI established as a real approach to desktop delivery and management now more than ever, I think it’s important to ask “Why VDI?”. If we don’t ask why, then projects to design and implement VDI will never succeed. Without an objective or goal, how can you be clear that anything was achieved?

I think its important to define what I mean by VDI. VDI is a term that means many different things to different people. VDI traditionally stands for Virtual Desktop Infrastructure, and for a while seemed to be a term owned by VMWare for desktops virtualized on ESX. As in the case of kleenex, it now seems to be a much broader term and used much more in the public domain. I will define VDI in the more logical sense as the abstraction and delivery of a desktop experience, the Windows OS to users. VDI is an alternate way of providing Windows to every user rather than the traditional method of locally installed systems bound to a piece of hardware (desktop/laptop) on every users desk.

So this all sounds very confusing, and it can be. Which leads us to the question as to why would we want to do this whole VDI thing? Why not just keep doing desktops in the traditional steps of: install, configure, deploy and manage. This leads us to our first reason or driver:

Simplified Efficient Management and Administration

While many people utilize the old school method of desktop management mentioned earlier, many also agree it can be painful and waste the valuable time of busy administrators who could instead spend time being proactive. Time spent supporting single desktop issues can become a blow to the TCO of the overall solution. Gartner has a good document on how improved desktop management can reduce TCO (Gartner Desktop Mgmt). Think of VDI as perhaps the ultimate form of desktop management. VDI can be deployed in a way that means a user gets a custom desktop that is as good as the day it was built (we all know desktop performance seems to deterioate with age!). It is delivered with all customizations, patches, configuration and security fixes in place on the first day and every day. Any hardware problem can simply be addressed by swapping the problematic device out and replacing it with an alternate. The user can log back into their same virtual desktop, possibly even to the same state including that email they were in the middle of! This can save administrators lots of troubleshooting time as well as make for happy productive users.

The next part of management is that of updating and patching. While there are good tools for deploying patches to traditional desktops – there still is the inevitable mix of patched and unpatched systems. Imagine an environment where you know every user is on the latest OS including the latest patches, and to roll out a patch you only need to do it once, to one system. VDI can make this a reality. Now, expand that to security configurations, application updates… you’re starting to see the picture now aren’t you!?

So we have this amazing, pristine, secure image that is personalized for users… Wouldn’t it be great if that was available to them internally as well as externally? Well that leads us to the next point:

Remote Access

Right now I would say VMWare View and Citrix XenDesktop are the leaders in the VDI space. Both of these companies include simple to use gateway products for use with their VDI solutions. This means users can simply log into a webpage from home, and access their VDI desktop. The very same desktop they use when they are in the office with all their applications and data. Imagine how this would help for the work from home initiative, pandemic planning, DR scenarios etc. Now add this to the fact that it can be done securely with granular control over how the remote client device can interact (clipboard, drive mappings etc) and you start to see the power of this solution. Users can be given an environment where no data can move between the home device and the virtual desktop and vice versa. Extend this solution to cover the myriad of remote devices including, iphones, ipads, androids, macs and linux machines. You can see how the flexibility of VDI really prepares a company for what I call workforce 2.0, or you may know them as those teenagers with their faces buried in their iphone/ipad etc ;) . With VDI based remote access, VPN access and the security concerns around adding a node to your network are eliminated.

So now you’re on board, sounds great…. In the words of those late night informercials – “But Wait! There’s more!”..

Flexibility and Scalability

Since VDI is heavily based on virtualization, it inherently scales well. Most solutions out there are designed with scalability in mind. For example, with an acquisition your company suddenly needs to provide desktops to 200 more users. In the traditional model this would have meant a couple weeks of work, with VDI this could be done in an afternoon.

Lets think of an alternate scenario, imagine windows 8 comes out, I know, I know… But lets say it does and you now need to migrate your 1000 users to Windows 8. In a VDI deployment this is a breeze, simply create your new image and assign it to users. On next logon they can be happily (or unhappily) using windows 8! Sure this might be a slight over simplification, but VDI will make it much simpler than the traditional visit to every desktop scenario.

Another example of the flexibility of VDI is that legacy hardware or thin clients can be used to run environments that they could never support. Don’t want to replace the aging desktops for all your users? No worries, just have them log into their VDI desktop where they can be running the latest OS and applications at speeds they haven’t even experienced on their local desktop.

Now I could go on and on about VDI… It’s my job, that’s what I do- But I think this is a good place to stop. VDI changes the game, and there’s a lot more to VDI and the various deployment options available. We haven’t even got into local mode, client virtualization, or desktop streaming etc., but that’s an article for another day. What matters is why you want to virtualize your desktops – and I think we’ve listed some pretty compelling reasons.

 

Citrix XenDesktop versus VMWare View a feature comparison

There’s lots of info out there, all sorts of product matrixes and fact sheets. However time and again customers want to know, what does it all mean to me, what should I pick.

I’ve tried to go through and look at the features that really matter to customers and are clear differences between the two and list them here. I’ve not taking into account cost (although indicated where additional licensing would be required).

Effectively this is a comparison of Xendesktop Enterprise and VMWare View 4.6 Premier, the only items listed are items where the competitor can provide what the other lacks.

  • View using PCOIP has no local drive mapping ability, must use RDP
  • View cannot granularly turn off USB device, COM ports etc
  • View has no webcam support
  • View cannot support client flash offloading allowing higher density
  • View cannot handle >4 Monitors when using PCOIP
  • View has limited support for unified communications to key vendors (No MS Lync rich functionality)
  • View does not have granular bandwidth controls over things like printing, USB, client drives, audio and video etc
  • XenDesktop has clients that support more devices include android based devices and linux based
  • XenDesktop has a full rich experience with HDX to Mac, while View uses the less rich RDP connection (no PCoIP to Mac)
  • XenDesktop cannot directly adjust Adobe flash quality
  • XenDesktop supports bare metal XenClient offline VDI while view has type 2 Client hosted offline mode which requires a base OS for the VM to run on
  • XenDesktop cannot manage offline vDesktops integrated in VDI management policies
  • XenDesktop supports image delivery through provisioning server to both vitual and physical devices
  • XenDesktop has better support for clients for non windows OS’s such as Mac or iPhones, blackberries etc
  • XenDesktop is Hypervisor agnostic (XenServer, vSphere, HyperV), View will only run on vSphere
  • XenDesktop allows higher numbers of concurrent connections per broker server for better scalability
  • XenDesktop includes Xenapp for application delivery and control
  • View includes ThinApp for application distribution (Premier license)
  • XenDesktop includes Edgesight management and reporting tools (additional licensing costs – Platinum)
  • XenDesktop has CAG smartaccess controls for granular control over remote sessions and SSL VPN (additional licensing costs – Platinum)
  • XenDesktop supports SSL proxying of sessions through a virtual appliance, where View requires a Windows based security server that handles proxying UDP over port 4172 which can be tricky in some scenarios

These items often change rapidly so forgive me if this list contains items that are no longer valid or incorrect. Feel free to comment below and I will maintain this list with any feedback I receive.

A key resource was this whitepaper by Ruben Spruit entitled VDI Smackdown

Here is a link to VMWare View pricing

I could not find a clear link to XenDesktop pricing but here is a link to the XenDesktop Editions List

HDX Webcam Support in XenDesktop and XenApp

With the emergence of MS Office Communicator, Lync, Skype and all the other bi-directional audio and webcam chat clients the world is really becoming a smaller place. These tools are saving corporations thousands of dollars through reduced travel costs and increased productivity. It’s only natural that customers are requiring these tools for their desktops – and they don’t care if those are physical or virtual.

The issue becomes whether virtual desktops delivered via XenApp or Xendesktop can really deliver the experience they demand. I recently had a customer who wanted full 720P webcam video for all users in the organization. This is where we are headed, and why not? It is 2011 after all -  we were supposed to have hover boards and jetpacks by now, and most of us can do webcam chats on our phones!

So what is possible with XenApp and Xendesktop?

XenApp

  • XenApp 6 provides USB webcam support through device level redirection rather than port level redirection. This means it is detecting the Webcam on the device and running it through a virtual channel rather than the server detecting a USB device plugged into the USB bus.
  • XenApp allows bidirectional audio and webcam communications. It requires 12.0 of the client or later. The recommendation is one physical or virtual CPU per active user in video conferencing. This obviously causes some scalability issues. I’ve tried audio and webcam and found audio generally resulted in much lower CPU overhead. Doing a webcam conversation on a virtual Xenapp 6 server seemed to result in around 30% CPU usage between two XenApp users on the same system.
  • The following Citrix Active Directory policies must be set to Enabled:
    Client audio redirection
    Client microphone redirection
    HDX MediaStream Multimedia Acceleration
    Multimedia conferencing
  • Citrix recommends using medium quality audio for the XenApp farm policy which results in 34Kbps bandwidth consumption. Video tends to use 300-600 kbps up and 800-1Mbps down in bandwidth consumption. Latency as high as 200ms has still provided adequate communications.
  • A webcam driver is required on the user device and not on the XenApp server. Citrix leverages their own webcam driver within the session.
  • Doublehop webcam usage is not supported (session in a session).
  • By default, the XenApp client uses CIF resolution (352 x 288) to stream Webcam video to the XenApp host. 15 Frames per second is the default frame rate. These can be adjusted through registry settings but will impact bandwidth requirements. It is also possible to tweak bandwidth through registry settings.
  • The number of simultaneous webcam users can also be set through the registry.

As I mentioned earlier my customer is looking for 720P and XenApp appears does not have this capability out of the box. In order to achieve this, there is a solution from a Citrix Partner called Avistar. They effectively introduce a layer that handles the webcam communications yet merges it into the XenApp session. More info found here http://www.youtube.com/watch?v=gFwd6WX6fYw

With XenApp not being as scalable as I would like, I feel XenDesktop provides more flexibility for webcam communication as user sessions would not impact others as they would in a shared XenApp environment.

XenDesktop

  • XenDesktop provides true USB port redirection for enabling webcam based video and bidirectional audio.
  • It is best practice to install Outlook and Communicator directly in the XenDesktop as it needs to exchange presence information and cannot operate in a double-hop.
  • Default framerate is 24fps but can be adjusted through registry settings
  • Using progressive display compression, the quality can be adjusted to adjust bandwidth requirements. Downstream video traffic typically consumes 0.3 Megabits per second to 1.0 Megabit per second of network bandwidth with XenDesktop 4.
  • 2 vCPUs is recommended per virtual desktop. This again could impact the scalability, or at least increase the costs!
  • Because XenDesktop uses USB port based redirection, USB telephones can be used
  • Bidirectional audio is recommended where possible over audio through USB redirection
  • It is recommended to use Medium Quality audio (Optimized for Speech). The bandwidth consumption with this codec is 56 kilobits per second (28 kilobits per second in each direction). This is a low latency codec that is ideal for voice communications.
  • Set the audio virtual channel priorty to 0 (http://support.citrix.com/article/CTX118836)
  • Set the audio service priorty to above normal (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/taskman_change_priority.mspx?mfr=true)
  • Webcam usage is recommended for LAN traffic only – low latency and high bandwidth
  • Webcam usage requires a driver on the client as well as the virtual desktop
  • There is a known issue where logging into Office Communicator when logging into the virtual desktop causes a CPU spike of 30% for 10 minutes which reduces to 2%
  • Testing with the Logitech 9000 webcam found optimal settings to be:

Compression Enabled
Video Stream: 700 kilobits per second
Video Resolution: 640 by 480

This configuration resulted in bandwidth consumption of four megabits per second peak between two Logitech 9000 Webcams.

These are still some pretty steep requirements. Especially if this is required for an entire organization. Citrix has stated there is technology coming in their Nitro technology that will enable 720P type webcam communications. I still think the bandwidth requirements are not something that can be erased so this will likely have restrictions to the LAN. Again Citrix recommends customers with advanced webcam requirements look at Avistar for their product to offload webcam processing to the client (http://www.avistar.com/UploadFiles/Avistar_C3_Integrator_Citrix_FINAL_20091109031619.pdf). Overall webcam support is here today, however mileage may vary and it depends on customer expectations whether the support available will meet their needs.

References

USB Info

http://support.citrix.com/article/CTX816193

http://support.citrix.com/article/CTX124956

http://support.citrix.com/article/CTX124956

XenApp Webcam Support

http://support.citrix.com/article/CTX124655

XenDesktop Webcam Support

http://support.citrix.com/article/CTX124124

Office Communications Server 2007 Best Practices

http://support.citrix.com/article/CTX118216

Follow up:
Further testing has found that driver installation on the client seemed to make a difference even in a XenApp environment. Performance has been mediocre to poor over the WAN. I have successfully loaded an image in the following:

Skype (Video test)
MSN Live Messenger (Video test only, no option to create video conference, others mentioning this in forums too)
MS OCS/Lync (Video conference)
Cameroid (Flash based webcam site – picture visible, very laggy)
Webcam control Center (freeware webcam software, states no camera available)

Make sure to insert your camera prior to starting the application. These tests were both Xenapp 6 and Xendesktop 5

Choices! – Provisioning Services with Xendesktop 5 Setup Wizard or Machine Creation Services?

With the release of Xendesktop 5, Citrix has introduced the Machine Creation Services (MCS). This is effectively a quick way to deploy dedicated or pooled desktops without the need for a provisioning server. It also saves on disk space through the use of linked clones from an original master snapshot.  Unfortunately they lost the Xendesktop setup wizard tool support in Provisioning Server along the way! But, like arnold said “I’ll be back” and its back now with the latest hotfix for PVS 5.6SP1.

The question becomes then, when to use Machine Creation Services versus Provisioning Services (PVS)?

Citrix Blogs have an entry on this question here: http://community.citrix.com/pages/viewpage.action?pageId=161743115

Provisioning services provides more flexibility with the ability to stream to both physical and virtual systems, while MCS requires a virtualization platform to deploy the images.  Both PVS and MCS enable administrative updates to a master image to enable automatic updates for users on pooled systems. Note that if a user has a dedicated system and the master is updated that could render the users changes lost.

PVS has the benefit that it can ease SAN requirements since VM’s do their reads from the provisioning server rather than the SAN where the images can be cached in memory.

MCS is simpler and does not require an additional server and the complexity of a PVS server to implement. However with the re-introduction of Xendesktop setup wizard in XD 5 it now supports the automatic creation of AD accounts and VM’s again. This makes PVS implementation a little simpler. Overall PVS can allow for lighter SAN storage requirements as there is no longer the need for snapshots for each VM. There is an excellent summary of MCS that includes a Storage calculator for MCS and vSphere that is very handy at the following site – http://www.thegenerationv.com/2011/03/xendesktop-5-deep-dive-machine-creation.html.

Here’s a link to the MCS sizing calculator for vSphere: http://dl.dropbox.com/u/16106774/MCS%20Sizing%20Wizard.xlsx

There has been some concern with MCS with its support of Microsoft KMS and MAK licensing for Windows and Office. Currently MCS does not support MAK licenses.

http://support.citrix.com/article/CTX124106

PVS supports KMS and MAK in its latest version (5.6SP1) correctly while MCS supports KMS with the following workaround.

http://support.citrix.com/article/CTX128580

Some PVS Xendesktop 5 Setup Wizard resources are available here:

  • Provisioning Server 5.6 SP1 Hotfix With Xendesktop 5 Setup Wizard

http://support.citrix.com/article/CTX128726

  • Graphical Walkthrough of the tool

http://community.citrix.com/display/ocb/2011/03/14/Taking+a+closer+look+at+the+new+XenDesktop+Setup+Wizard

  • Citrix Xendesktop 5 Setup Wizard KB Article

http://support.citrix.com/article/CTX128283

Heres some great summaries of how MCS works:
MCS Primer Part 1
MCS Primer Part 2

VDI via XenApp – Sweet and Simple

With both Citrix and VMWare leading the VDI charge with their respective XenDesktop and View technologies this has definitely become a hot topic.

Both of these technologies offer interesting and compelling use scenarios to deliver a customized desktop to your end users. However they both have high investment costs as far as physical resources (CPU, Memory and in some cases huge SAN usage). Additionally the number of moving parts can be quite high and administration skill level is something that can be intimidating to those who are new to the field.

One solution that I am finding consistently meets the needs of many customers who are interested in VDI is a simple published desktop delivered via XenApp. With the latest version of XenApp – version 6 running on W2K8 R2 a lot of the XenApp shortcomings that were not issues in XenDesktop and View are now integrated in XenApp.

Items such as:

  • Bi-directional audio including support for Office Communicator voice chat
  • WebCam support
  • Improved Multi-Monitor Support
  • USB storage hot add to sessions

Many of these items vastly improve a user who is leveraging XenApp as a traditional desktop replacement.

I like to combine the published desktop with a PNAgent (XenApp online services plugin) so I can deliver customized applications to a standard desktop. This lets me maximize the number of users that a single XenApp server can support without the need to silo into multiple servers.

This PNAgent when configured correctly will allow users applications to populate the start menu and/or desktop and do passthrough session sharing. This session sharing is the secret to a great user experience. Applications launch immediately without the need for another session to be created, and allows drag and drop functionality within the desktop.

This solution is often the final destination for those who have heard of VDI and come looking to find out more.