You may have seen an earlier blog post on application virtualization with VM hosted apps from Harry Labana, CTO of XenApp (@harrylabana) titled “Seamless applications beyond Terminal Services, does it help?“. You probably have some questions on this technology as well. Well, let me be the first to give you a bit more background on this feature. Your comments and feedback are always appreciated.
Why VM hosted apps for application virtualization?
Today, you use XenApp to deliver virtual applications in 2 ways – hosted or offline. With offline delivery, you use application streaming technology to place the app in an isolated container running on the users PC. With hosted delivery, you stream or install an application onto XenApp servers and users connect to these servers to access the application via a highly optimized protocol (e.g. Citrix ICA powered by HDX technology). Each user gets their own memory space but they all share the same instance of the operating system – that being Windows Server 2003 or Windows Server 2008. Now, with VM hosted delivery, you stream or install an application into an image or virtual machine and users connect to their own instance of the virtual machine in order to access the application (pooled VM’s are the best way to do this). Applications virtualized with VM hosted apps are run in a dedicated environment for each user with dedicated memory AND their own instance of the operating system such as Windows XP, Vista or Windows 7.
Why is this important? Well, as the folks who invented application virtualization and who have been doing it the longest, we’ve learned throughout the years that not every application can run in a server-hosted or Terminal Services environment. There are some apps that users needed to take offline with them and others that simply wouldn’t run well in a multi-user environment for a number of reasons. This is why we added application streaming technology to XenApp a few years ago. Still, there were some applications that customers wanted to host in the data center but which didn’t run well in Terminal Services. An example could be a custom application that had proprietary data in it and putting the app on the desktop would put the data at risk. Another example could be an application that is unsupported by the ISV in a Terminal Services environment. And yet another example might be a health care application that is certified to run on the desktop and putting it in a multi-user environment would lead to a breach of HIPAA compliance. Whatever the reason, VM hosted applications provides another alternative.
Application management with VM hosted apps
With VM hosted apps, you’ll create a virtual machine or desktop image (vDisk) into which you install the given application and any helper apps needed. This image can be running Windows XP, Vista or Win7. There are some configuration steps you need to go through to set up the image properly but they are minor (e.g. placing a shortcut to the app in a special folder, installing a software agent, etc.). Once the image is created, you’ll use our management tools to publish the application. Basically, what you are doing is publishing a desktop pool, assigning it the icon of the application you want to make available, giving it a friendly name, and defining the users and conditions that the application will run in. You can configure the application to run as a VM, on a blade PC or even a PC running in the datacenter. The only reason I see for running it on a blade or a PC is for applications that require a GPU or have specific hardware requirements that can’t be virtualized at this time. You’ll get better ROI if you can virtualize.
One thing to note is that this is being done in an independent console snap-in for this release so you’ll want to use the MMC to bring everything together. In addition, the control mechanism for VM hosted apps requires and independent farm. Not to worry though… this is all hidden from the user because it all comes together via XenApp Web and XenApp Services or what our old-timers know as Web Interface and PNAgent sites. You simply add the VM hosted apps farm to your Web Interface or PNAgent site and when a user logs in to Citrix Receiver or to Web Interface they’ll see all of their apps in a single list – VM hosted, server hosted or streamed. When users open an application, it will appear in seamless mode with no components of the remote desktop showing – just like other server-hosted applications delivered with XenApp. In this release, users can access a single published application within a virtual machine instance but we are investigating ways to improve on the flexibility here for future releases.
From a licensing perspective, the plan is to make this feature available to XenApp Enterprise or Platinum customers. On the Microsoft side, you’ll need a Microsoft VECD license to stay in compliance with hosting Windows virtual desktops. It’s important to note that VM hosted apps DOES NOT allow you to run a full virtualized desktop session such as what you would have with XenDesktop. It wasn’t built for such a purpose and it doesn’t work technically. You can, however, leverage the same infrastructure for VM hosted apps to deliver virtual desktops if you purchase XenDesktop licenses and you can use same VH hosted apps console to manage the delivery of those desktops to users. One of the best things about this is that if you choose to extend your XenApp deployment with VM hosted apps you’re essentially putting yourself in the position to easily adopt Essentials for Xen and Hyper-V as well as XenDesktop in the future.
If you’re trying to figure out if VM hosted apps is for you, it’ll become pretty obvious very quickly that there is a decision tree involved here that has variables associated with it like application compatibility, criticality, overall cost and ROI among the many. We’ll reveal the elements of this decision tree in future posts but one thing your should certainly take away is that server hosting (XenApp on Terminal Services) is still your best bet for the lowest cost application delivery. In fact, you’ll probably find yourself using this is a stop-gap for some of your apps that you’ll need to deliver quickly to give you some time to do proper validation and testing for hosting on XenApp servers. In any case, stay tuned for more information on this topic as I’m sure it will be sought after.
Availability of VM hosted apps
We’re planning to release the VM hosted apps feature in the next Feature Pack for XenApp which is planned for Q3 2009. In the meantime, you can learn more about it by staying tuned to our twitter account (@xenappjunkie) and by keeping an eye on our blog feed. This month, you can expect a XenApp Expert Series video with one of the developers on the project (Modesto Tabares) and Cris Lau will be doing a TechTalk scheduled for September 23rd so reserve your seat today. Stacy Scott, one of our resident experts has also let me know that she’ll be entering the blog foray on this topic so stay tuned for her (WARNING: She’s super sharp so be prepared for some serious stuff). I’ll be announcing everything on our blog feed and on Twitter.
UPDATED July 31, 2009 – Clarified that pooled VM’s are supported, separate farms are used not separate IMA database, consoles come together via MMC.