In a MAJOR announcement from Citrix yesterday, the company finally plans to let customers connect to single seamless remote ICA applications running on single user (XP/Vista/7) hosts in the datacenter.
Think of this just like published apps in seamless windows from a Terminal Server, except instead of a multi-user Terminal Server on the backend you have a single-user Windows desktop OS. This is useful in scenarios where you want to use server-based computing for seamless single app access, but your application doesn’t work on Terminal Server.
The feature is officially called “VM hosted apps” and it will be released in a few months as part of Feature Pack 2 for XenApp 5.
Why would anyone want to use VM hosted apps? After all, it means that you’ll have to have a Windows desktop OS for every single app for every single user!
Clearly no one is suggesting that this replaces traditional VDI or Terminal Server published apps. Instead, it’s a great third option where you want server-based computing but you have a specific “problem scenarios” where you can’t use Terminal Server. Specific use cases for VM published apps include:
- App compatibility problems, where the app just doesn’t work or isn’t supported on Terminal Server.
- Compute-intensive apps, where you want to run an app on a single-user blade instead of a multi-user Terminal Server.
- Graphically-intense apps, where you want a GPU on the host for each user. (Possibly even including Teradici’s PC-over-IP or Citrix Project Apollo?)
- Apps with high availability requirements, where you want the ability to live migrate single instances from host to host.
Limitations of the initial Citrix release
This is a feature that people have been requesting for years, and just about everyone (myself included) are excited about it. So yay for Citrix!
That said, if you think the history of wanting it means that Citrix had plenty of time to put together an eloquent solution, you’d be wrong! It’s clear that the Feature Pack 2 VM hosted app capability is a reactionary “hack” that has the same feel as the Citrix Desktop Broker of 2006. For example:
- Configuring VM hosted apps is done via yet another management console. (UPDATE: It's an MMC snap-in, so it can be plugged-in to the AMC)
- VM hosted apps farms are not integrated with existing XenApp or XenDesktop farms. (So the VM hosted apps appear as their own farms which are aggregated via XenApp Web, etc.)
- Configuring your VMs requires some very specific things. (Certain shortcuts in certain folders, etc.) It’s not as simple as publishing an app.
- There is a 1-to-1 mapping between users and VMs. If a user needs two VM hosted apps, they need two VMs.
- No pooled VM support. It’s one-to-one. (UPDATE: This is wrong, as per Vinny's comment below)
The fine print
There’s a strange twist to this announcement, namely, that this VM published apps feature is going to be a feature of XenApp, not XenDesktop. On one hand that makes sense, because this is an “app” feature, so it should be in the Xen“App” product. On the other hand, this is a feature that’s delivered from a “desktop” OS, and that’s normally handled by Citrix’s Xen“Desktop” product.
In some ways it doesn’t matter which product it’s in, because if you really embrace what Citrix is doing then you’re going to end up with both XenApp and XenDesktop in your environment. Then again, if they added this feature to the XenDesktop product, it might have led to a situation where people started publishing app their seamless apps via XenDesktop, which would be bad for Citrix since XenDesktop is about 1/3 the price of XenApp. (See my article from last year about the effective “app publishing tax” caused by this price difference.)
So pricing pressure plus the desire for product “purity” (apps from the App product, desktops from the Desktop product) led Citrix to make VM hosted apps a XenApp feature. Fine. But the other major problem with this is that since the VM hosted app feature requires one VM per user, there’s a LOT of back-end logistical management that needs to happen. When a user connects, it needs to make sure their VM is running, possibly power it up, grab one from the pool, reassign to the pool when they log off, etc. All of those needs, while complex, are already built-in to the XenDesktop product (since that product is designed to work with single-user VMs). Those features are NOT built-in to XenApp. But VM hosted apps are. D’oh! (Now it’s clear why there are so many limitations in this first release. I’ll bet if they would have added VM hosted apps to XenDesktop, it would have been seamless and slick right from the start.
The other weird thing about the whole “XenApp versus XenDesktop” capability is that you CAN publish full desktops from XenApp. So Citrix is already sort of breaking their product “purity” thing I mentioned earlier. But since this new VM hosted apps feature is a Xen“App” feature running on a desktop VM, Citrix had to specifically go out of their way to prevent users from publishing full desktops on single-user desktop VMs. They explicitly disable that capability, because if a XenApp customer could publish a single-user desktop, then they’d have no reason to also buy XenDesktop.
So the “what you can publish with which product” matrix is still a little arbitrary and weird, but whatever—I’m sure we’re still on the long slow march to Citrix combining both products in a way that hopefully doesn’t increase the price for everyone.
Oh, and speaking of fine print, keep in mind that this VM published app feature WILL require a Microsoft VECD license on top of the TS CAL license you already have for each XenApp user.
How other vendors handle VM published apps
Of course Citrix is not the first vendor to offer published applications from single user desktop VMs. Quest’s vWorkspace product has been doing this for years. And just in the past few days, I heard (from Benny Tritsch at BriForum and from Peter Ghostine on my webcast with him yesterday) that Microsoft was planning this feature for Windows 7.
And then there’s VMware, which still doesn’t even offer single app publishing. Their VDI solutions are all-or-nothing. (Either you have a full remote desktop, or you don’t.) And if you want to combine local and remote, you have to deal with two whole desktops. Sure, VMware can use ThinApp to drop apps into the remote VDI desktops, and they can use ThinApp to drop apps onto local client desktops. But they have no way to connect a user via a remote display protocol to a single app.
Love the feature. Glad it’s finally here. Too bad it’s half-baked. Better late than never.