The concept of desktop virtualization is easy, “I take the desktop and virtualize it with XenServer, Hyper-V or ESX and place it in a data center.”  So, what’s the big deal?  Quite a bit actually, that is if you want to create an environment that can scale as well as simplify the management, maintenance and storage of the virtual desktops.  If you look at a typical user’s desktop, it comprises of three main things:

  • Operating System
  • Applications
  • Personalization Settings

The combination of all three makes the user’s desktop their own personal desktop.  For me, I want my desktop to be Vista, with all of my apps (including the DVD Player so I can watch the just released Season 11 DVD of The Simpsons), and my desktop settings configured so I have a Homer Simpson background.  While another user might want XP, their set of apps (which could include financial planning apps) and a background of David Hasselhoff (Don’t Hassle the Hoff).   Then we got another user who wants Vista, with their applications (could be HR-based applications) and regional settings setup for their current location.  As you try to gather the requirements for all of your users, you start to see the complexities and challenges with trying to change the way desktops are delivered. 

So, how do we go from a 1:1 ratio of user to desktop to a Many:1 ratio where many users are able to use the same underlying desktop but still have a unique set of applications and personalization settings?  Would you believe virtualization?  But this kind of virtualization is different than server or desktop virtualization, it is application and personalization virtualization.  By virtualizing each component of the desktop, you can mix and match them up however you see fit to meet the needs of your users.  Let’s focus on the Operating System as that is the foundation for the rest.

If you look at multiple user’s desktops, do you see any commonalities?  Of course, but they probably don’t appear to be significant.  Look again but this time ignore applications and any personalization settings. What are you left with? An Operating System (Vista of XP).  From a collection of thousands of desktops, we only have 2 base operating systems.  That simplifies things. Now, imagine for a moment that for maintenance of the operating system, all you have to maintain are 2 desktops.  To me, that seems much easier than trying to maintain thousands of operating systems. It is and can be done with XenDesktop, but if you want to deliver the operating system correctly, what do you include in your base OS image?  

The bare minimum.  Of course there is no single answer that works for everyone because one size does not fit all and every organization has different requirements. But there are some items that must be included in a XenDesktop base image and some other items that “might” be included. It’s up to you and your current use case. Here are some of my recommendations…

Must Have

  • XenServer Tools: These are the XenServer optimized drivers for the operating system.  If you are going to use a different hypervisor, you need those tools installed in place of XenTools.  But seriously, why go with anything but XenServer ?
  • Provisioning Server Agent: This agent maintains the connection to the base OS image. It is responsible for the OS stream.
  • Virtual Desktop Agent: This agent is responsible for maintaining a connection with the XenDesktop farm informing the farm controller of its status.
  • XenApp Plugin for Hosted Apps: This will allow the user of the desktop to get to a published application on XenApp
  • XenApp Plugin for Streamed Apps: This will allow the user to receive applications into the desktop that are streamed from XenApp
  • User Profile Manager Agent: If you want to include personalization virtualization then you will need to include the Citrix User Profile Manager Agent (Tech Preview).  You could also forego this agent and use mandatory or roaming profiles, although they won’t give you the stability, flexibility or control that the User Profile Manager solution brings.
  • Antivirus/Malware/Spyware:  Just because the desktop is virtual doesn’t mean we can forget about antivirus/Malware/Spyware solutions.  Sure, XenDesktop virtual desktops are destroyed after each use, essentially wiping out any local nastys, but these programs have plenty of time to do damage when the user is online.

Might Need

  • Browser Plugins: Flash, ActiveX, or any other common plugin needed to see all relevant content when using a web browser like Internet Explorer. These could be installed or streamed. You will hear more in an upcoming blog on application integration
  • Applications: Install, stream or host?  What to do? If you install the applications, then they are part of the base OS?  Should you do this?  This is a large question and will be a topic for a future blog on application integration. 
  • Corporate Settings: Are there corporate settings that must be included in the base image? Do they have to be in the image or can they be applied with an Active Directory Group Policy?

Did I miss anything?  What other things do you think must be or might be part of the Base OS?