Hosted Virtual Machines with XenApp
Today on one of Citrix’s Blogs, they announced a new upcoming technology called “Hosted Virtual Machines” (HVM). As if the Virtualization Soup of technology wasn’t big enough already, but this does solve an interesting problem. Without much more information on the subject, here is my take.
Short Version: You want to host an application on a managed VM, but Terminal Services won’t work for a number of reasons. With HVM, you use a client OS such Windows XP to run the application, but the presentation of it (just like Terminal Services) is then sent to the user.
Long Version: It seems that “Virtualization” is getting more and more attached to every new technology, but at the end of the day it’s about access to applications (that includes the OS and other applications). Let’s put aside the delivery of an OS for now and focus just on the application. There are a number of ways to provide a user with access to an application.
- Traditional – This is where you get a CD or copy files from a file share and install the application locally
- Terminal Services – Based on using a single OS instance, such as Windows Server 2008, and allowing multiple users to logon at one-time, but they each have their own “space”/desktop. The display of that OS, or sometimes just a given application, is presented to the user. Everything runs on the server, but show to the user on their computer
- Application Virtualization – There are a few flavors of this. This simplest view is about delivery. The application is “preinstalled” and “captured” on a given OS (do a traditional install, but all files, registry settings, shortcuts, etc. are captured) and then deployed to any number of users. So one “install” is then executed on any number of computers. The application will run on the local computer, BUT it’s not installed there. No files, registry, or shortcuts are anywhere to be found on your computer, but it still works locally. That’s the virtual part. Again, it’s all about deployment.
The big issue here is the ability to still provide “Terminal Services” like deployment of applications, but overcome some of the issues that “Terminal Services” (TS) has. What kind of TS issues? Well TS is still a Server OS. It doesn’t have may of the client components (e.g. Windows 7) that some applications require. TS is also Multi User based and there are some application that don’t work there either.
So why can’t Application Virtualization (e.g. Microsoft App-V or Citrix XenApp) work? First off, there are certain applications that are developed either by a custom software development shop and built for a given customer and for a given OS/Application mix. There are other applications that are certified by an Independent Software Vendor (ISV) that has specific requirements. And then there are organizations like the Government, Health Care, and more that need to ensure that certain applications and data behave in a given way. For all of these scenarios, an IT shop may want to provide an application to their users, but refrain from deploying them locally, it won’t work via TS, Application Virtualization won’t fulfill their requirements, and whatever else.
So the solution by Citrix XenApp (in the future) opens some very interesting doors. I don’t think it will be part of the mass adoption, but it will break down certain barriers.
This leads me to think of other solutions such as Microsoft MED-V (Part of MDOP) and MokaFive that provide this kind of host based virtualization, although with HVM Citrix also allows this to be hosted on a server. I guess I’ll have to wait for a Citrix demo and trial for me to learn more.
BTW, I wonder how this will impact hosters looking to get into the application delivery model. Since this does require another client OS, Citrix rightfully notes that you’ll need the Microsoft VECD license. Too bad VECD is not on the Microsoft SPLA list. Bummer