[UPDATE: Since I first wrote this, I learned none of the "core" XenApp features are for Server 2008. The core XenApp updates are for 2003 only.]
Yesterday Citrix announced details of the next release of XenApp which will be called “XenApp Feature Pack 2.” (This is the XenApp release that was codenamed “Cache.”) Unlike the first Feature Pack for XenApp 5 which was essentially just changes in which features where bundled into which editions of the product, Feature Pack 2 has a lot of new features. (Citrix claims over fifty.) Some are pretty significant new capabilities, while others are just refinements to stuff that’s been around for years.
In this article, I’ll take a quick look at the new features, starting with the two most important ones: VM-hosted apps and power & capacity management.
VM-hosted apps is the capability to publish seamless remote ICA applications from single user desktop OSes instead of a multi-user Terminal Server. You could almost think of it like “XenApp for desktops” instead of “XenApp for Terminal Server.” (The name is a bit misleading because the apps don’t have to be published from a workstation running in a VM. A blade would work too.)
This solves a scenario where you have an app that you’d like to deliver seamlessly via a remote display protocol, but for whatever reason you can’t install it on a terminal server. Maybe the app is really intense and you need to run one instance for each user on a blade? Maybe it’s just not terminal server compatible? Maybe you want the “per user” mobility of being able to live migrate a “session” (since there’s only one session on a server).
The only real downside to VM-hosted apps is that since you’re connecting to a Windows desktop OS instead of a Terminal Server session, you’ll need a VECD license on top of your TS CAL. Now what’s really messed up about this is that if you decided to build this exact same thing with terminal server (with each terminal server only hosting a single session), you wouldn’t need VECD at all (and you’d have the same thing, except on terminal server instead of Windows XP). So there’s just another example of how stupid VECD is. (Combine that with the power & capacity management feature from the next section and you’ve got a VECDless VDI environment!)
It’s nice that Citrix added this feature though. It’s been in Quest’s vWorkspace product for years, and I always wondered why Citrix never added it. (Again, since you could basically do it anyway with TS, why not just make it official and let users create their own “single user TS” farms.)
By the way, we discussed this whole VM-hosted app feature on BrianMadden.com a few months ago. Check out that conversation for more thoughts about this concept and feature.
Power and Capacity Management (Server 2003 only. Too bad if you're on 2008!)
Power and capacity management seems to be the feature that people are most excited about. In a nutshell, this capability changes how XenApp’s load balancer works. The current version of XenApp will always try to evenly spread the user load across all your servers. So if you have 50 servers and 50 users, you’ll get one user per server. Of course now all of the sudden people care about power consumption, and they think, “Hey, I could easily fit these 50 users on a single server and power off the other 49 servers.”
Sounds great! Except making this change requires a complete change in how Citrix’s load balancing engine works. Rather then rewrite the load balancer, Citrix created some new components to sort of “game” the system. To use power & capacity management (PCM), you configure a control server and then put agents on all your XenApp servers. Then you configure all sorts of groups and rules and thresholds and hardware profiles and stuff. It works pretty much as you’d expect: You can specify the minimum number of servers you want on at any given time, how many users you want on the powered on servers before the system starts powering on additional systems, etc.
PCM can work with physical and virtual servers. (The tech preview only worked with XenServer-based VMs. I haven’t touched the release code yet so I don’t know whether ESX or Hyper-V support made it in or not.)
PCM also works in reverse, to power down servers as they’re not needed. Unfortunately there’s still no way to “live migrate” a single session from one XenApp server to another (where’s LufLogix?), so all PCM can do is put a server in “drain mode” which is a fancy way of saying it disables logons to hopefully slowly get everyone off the server so it can be shut down. (Okay, technically it doesn’t disable logons—it just gooses the server’s load index to prevent new sessions from being routed there.)
I think this PCM capability has a lot of potential for Citrix. For example, one could imagine that in the future, PCM would not only understand the hardware capabilities of a XenApp server, but also which XenApp server VMs were on which physical hosts. Then when there is excess capacity in the whole system, it wouldn’t have to completely drain a whole server to power it off. It could just live migrate and consolidate those running VMs onto fewer physical hosts. In other words, maybe the “normal” operating load is six XenApp VMs with 100 users each (600 users per physical server). Towards the end of the day, you might only have an average of 5 users per VM, (30 users per physical server), across maybe 20 servers. So PCM could live migrate the XenApp VMs so that you had maybe 20 per physical host instead of 5.(Since each one only has 5 users instead of the normal 100.) Then it could power off 14 of the 20 physical hosts.
Other new but less important features
As I said, there are quite a few smaller features and tweaks that are also part of this Feature Pack:
HDX Flash Redirection (Server 2003 only. Too bad if you're on 2008!)
This is something we demoed back in Brian Madden TV Episode 12 from Citrix Synergy in Las Vegas. The Flash remoting basically means that Flash content will be redirected from the remote host and seamlessly executed on the client. (It’s like multimedia redirection, except for Flash.) Citrix’s implementation seems pretty tight, with window scaling, client-host volume sync, support for windowless mode, and multi-tab browser support.
Hot add/remove for USB drives (Server 2003 only. Too bad if you're on 2008!)
Client USB drive mapping has been around forever, but now XenApp can handle this dynamically within a session. In other words, if you stick a USB drive in your client device while you’re in the middle of an ICA session, the drive will pop up in your remote session.
Windows 7 support
Feature Pack 2 supports Windows 7 across the board. You can use Windows 7 as your client (for both ICA sessions and for running streamed apps). You can profile apps on Windows 7. (“Profiling” is Citrix’s term for packaging apps for streaming.) Windows 7 is also supported as a host for VM-hosted apps.
[NOTE: This section has been updated since the original article was posted.]
Citrix XenApp Streaming gets revved to version 5.2 for Feature Pack 2. There are two main focus points with this release:
- Performance: Launching apps (initially and from cache) is generally 20-30% faster across the board, in part to a new capability called "sandbox reuse" where additional virtualized apps can launch into existing sandboxes. (More here)
- A more evolved isolation environment: Citrix is continuing to tweak the balance between "isolation" and "interoperation" of its sandboxes. More on the changes in 5.2 is here.
Profile Management in Feature Pack 2 will be version 2.1, up from the current 2.0.1. Citrix’s David Wagner is planning on blogging about the details in a few days, which I’ll link to here once it’s live.
Citrix Provisioning Services doesn’t have any major changes—just some refinements to fault tolerance. Provisioning Server will play a key role for delivering VM-hosted apps though.
Service Monitoring is now hypervisor aware. So it can figure out that “Hey, all these XenApp servers are experiencing the same problem, and they’re all VMs on the same physical host.”
Workflow Studio 2.0
Workflow Studio 2.0 got revved to 2.0. While there are new APIs, it still seems that you’ll need to do a lot of work to do anything useful with it. Workflow Studio’s PowerShell commandlets capability that everyone wants is still in Tech Preview mode though.
Um, how about Windows Server 2008 support? (Seriously, this seems like kind of a big hole. Maybe not though? I guess most of the people I know are still on 2003 and will just go straight to 2008 R2. Gabe will investigate tomorrow.)
Also there’s no PowerShell support yet. (I’m talking general PowerShell for XenApp, not the Workflow Studio stuff.) That’s in tech preview now if you want to play with it.