The leader in application virtualization shows us why with the addition of VM-hosted applications, plus usability and manageability enhancements, in XenApp 5 Feature Pack 2
Used to be, when you thought of thin client computing, you had only two choices: Microsoft Terminal Services and Citrix MetaFrame. Microsoft Terminal Services sufficed for smaller installations, while Citrix MetaFrame was the pick for big jobs, offering many enterprise-level features, including the ICA protocol, which is still a far better transport than RDP.
But that was then, this is now. Microsoft has bolstered its terminal services capabilities somewhat, and the thin client desktop market has new competition from VDI (Virtual Desktop Infrastructure) technology and the many vendors who provide it. But while there may be more options, Citrix still has the best application virtualization solution.
While it may seem that Citrix changes the name of its flagship product every other Tuesday, Citrix XenApp 5 has very much in common with the halcyon days of MetaFrame. The management tools are slicker, and the options and features more plentiful, but it's all built around the same basic core that brought Citrix to the top of the market. MetaFrame was and XenApp is the most solid, stable, and malleable way to serve desktops and applications to users without the need for a fat PC at every desk.
The best becomes even better on September 29, when Citrix makes the XenApp 5 Feature Pack 2 available for download. This latest revision offers significant new enhancements to the user experience, like Flash offloading and dynamic USB storage support, as well as nice additions for administrators. These include new load testing and server provisioning services, as well as the big one: VM-hosted applications.
Flash offloading is essentially a way to push a Flash object directly to the user terminal, rather than using server-side resources to process and display the object. Offloading to the client can significantly enhance the playback of Flash videos -- but only for client devices that have a local copy of Flash equal to or higher than the version installed on the server. This may not be possible for some thin clients.
Dynamic USB storage support simply means that the process of plugging a USB flash drive into a client and having that volume appear in the session is streamlined.
The load testing and provisioning services provide a better method to properly size, test, and deploy a XenApp farm, including the ability to automatically provision new XenApp servers as load requires. This is a basic image and PXE-based deployment tool, not unlike Altiris, that can provision both XenApp servers and VMs. Note that the full capabilities of the provisioning tools are available at only the Platinum level.
Virtualization, three ways
The bigger deal is VM-hosted applications. Previous to this feature, XenApp provided two ways to deliver an application to a client: through simple server-hosted applications and desktops and through application streaming. Server-hosted applications use the classic Citrix display-only delivery method, whereas application streaming is a way to use the client's processing power to run the application as if it were installed natively on the client, without the need to actually install the app.
VM-hosted applications are installed on a server-hosted virtual desktop instance (not on the XenApp farm server) and delivered to the client through the same ICA protocol as classic XenApp applications. This provides a means to deploy apps seamlessly through XenApp that would otherwise not be good candidates for virtualization.
For example, perhaps you have a farm of XenApp servers with a variety of applications installed for traditional server-hosted app delivery. You may also be serving a few streamed applications that can be run by clients capable of supporting them, but there might be some apps that simply don't play nice under either solution. By installing the software as VM-hosted applications, you can run them side-by-side with server-based and streamed applications and manage them through XenApp. In addition, they only consume a single license for all sessions delivered to a single user, regardless of source. To some, this might be the final requirement to move toward a XenApp solution.
There are a few caveats, such as the fact that it's not possible to access a full desktop of a VM -- only the applications. Also, using VM-hosted applications requires a new set of infrastructure components: namely, a server virtualization deployment. Alongside the XenApp server farm, a new farm of VDI systems must be built and maintained with either VMware, Hyper-V, or XenDesktop virtualization products. It's a welcome addition, but necessarily requires a significant resource investment.
One potential gotcha with XenApp 5 FR2 is that some older clients -- particularly those found on embedded thin clients -- cannot access what was previously known as the Citrix Program Neighborhood as they did in the past. They can be used to connect to one or more XenApp servers themselves, but will need to be upgraded to the new Citrix Receiver client to fully realize all the potential of the newer XenApp releases.
Citrix Receiver is essentially a plug-in manager that corrals all the access components. The online plug-in used to connect to hosted applications; the offline plug-in used for application streaming; the secure access plug-in, which is essentially an SSL VPN for remote application access; and the Dazzle plug-in, which (when it becomes available) will allow large XenApp installations to publish an application store of sorts for their users. The Dazzle plug-in looks quite interesting, offering a list of available applications that users can select depending on their access rights.
For the most part, the user experience in a XenApp infrastructure is much the same as any terminal services environment. Depending on how the solution is deployed, users may not even realize that they're using a thin client. However, there are plentiful options to deploy XenApp applications to fat or thin clients, and even to devices like the iPhone. There are many ways to get from here to there, from the Web interface, to the Citrix Receiver client, to thin clients that boot straight to a desktop session. When run on Windows Server 2008, users can even be presented with a Microsoft Vista theme rather than the standard Windows Server 2008 desktop. For normal usage, the user will experience a quick and responsive desktop or application -- naturally dependent on low-latency connections and sufficient server horsepower -- but responsiveness will suffer somewhat for other uses, such as video playback.
Management this and that
As far as overall infrastructure management goes, XenApp 5 is quite capable. The Access Management Console is well laid out, providing a hierarchical view of all XenApp components, applications, and services, as well as simple drill-downs to view relevant performance and status data. There are a few puzzling points here and there -- such as the apparently undocumented inability for the Access Management Console running on a XenApp farm server to communicate with the Web server. The Access Management Console must be run from another system, such as an admin's workstation. That discovery was made after more than a little fiddling and frustration in the lab.
Otherwise, managing a XenApp infrastructure is a hobo stew of Citrix and Windows tools, requiring proper understanding and operation of Windows roles and features, Windows Active Directory and Group Policy Objects, all the way through profile management. Some of this will be intrinsic in any Windows shop, but be prepared to delve deeper into some aspects of Active Directory than ever before.
XenApp 5 FR2 also introduces power and capacity management, a framework for making the most out of a XenApp farm. Based on admin settings, this does a better job of load balancing, using session thresholds on running servers to gauge when it might be time to power on additional, dormant XenApp servers. This is accomplished with basic Wake-on-LAN signaling, but can help curb power and cooling costs, as only a certain subset of XenApp farm servers must be powered on at any time.
Make no mistake: Implementing Citrix application virtualization is not a week-long project, but the culmination of many months of planning and testing. After all, application virtualization represents a wholesale change in the way an organization serves its users. There is no plug-and-play wizard to put all the pieces in the right place, no simple method to develop and deploy the tens or even hundreds of tweaks required to roll out a successful deployment.
This isn't a knock on XenApp -- it's also true for VDI and Terminal Services builds -- but it's a reality you can't ignore. Installing XenApp on the farm servers and configuring applications and desktops isn't the beginning of the journey, it's near the end.
Well before the production servers fire up for the first time, every application within an organization should be tested and verified to function normally within a XenApp session. The major apps like Microsoft Office are generally not an issue, but more esoteric apps, especially those from small ISVs, can be either so poorly coded or otherwise so constrained that they fail to function within a normal terminal services environment. Of course, XenApp has a few tricks up its sleeve to assist with those problem spots, like application streaming and now VM-hosted applications.
Once those hurdles have been overcome, the meat of a XenApp installation can be deployed. This generally consists of a Web server running IIS or Apache, a license server, some number of XenApp farm servers, and perhaps Citrix's XenDesktop VDI product. Creating this infrastructure isn't terribly difficult once you know how everything fits together, but it's certainly not a task for the uninitiated. Proper training is a fundamental requirement of any XenApp project.
The IIS or Apache Web services layer, running on a specific server or set of servers, communicates with the XenApp server farm to handle load balancing, application delivery, authentication, and authorization. It's the linchpin of the overall solution. It serves up an attractive Web portal for users to log in and gain access to their desktop or their applications from any Web browser, and it handles the background communications for users running Citrix Receiver.
This service communicates with the farm, composed of dedicated application servers running Windows Server 2003 or Windows Server 2008. The first-built server in the farm is the de facto data store server, which either houses the data locally (for small installations) or communicates with a Microsoft SQL Server instance that handles that particular load. Either way, building and adding to a XenApp farm is relatively simple, once you've cut through the list of dependencies for each farm server. Perhaps the simplest way to construct a XenApp farm is to virtualize the farm servers and use pre-built templates to deploy new servers as needed. It can take several hours to build a farm server from scratch, with most of that time taken by the Windows Server install and all the associated requirements.
Once that's done, however, the solution generally Just Works. Simply point a client to the Web services host and log in.
Terminal Services tax
Licensing for XenApp isn't terribly difficult, but licensing for Microsoft Terminal Services can be. For every seat that will access a XenApp server-hosted application or desktop, a Microsoft Terminal Services CAL is required. There are myriad dependencies on how much these CALs cost, including the type and version of the client OS, volume licensing deals, and others. It's best to fully investigate these costs prior to embarking on any Terminal Services or XenApp projects.
As for XenApp licensing itself, XenApp Platinum costs $600 per seat with a one-year software subscription. Subsequent subscription renewals cost $75 per seat. XenApp Enterprise runs $450 per seat with $50 subscription renewals, and Advanced can be had for $350 per seat and $45 subscription renewals. There are other plans for smaller installations.
Citrix XenApp isn't right for every infrastructure, but with the addition of features like application streaming (which arrived in version 4.5) and VM-hosted applications (newly available in XenApp 5 Feature Pack 2), it is certainly right for more of them. Like just about any IT endeavor, implementing application virtualization requires proper prior planning and a skilled hand on the tiller, but armed with those tools, it can be a powerful solution to many of IT's desktop delivery problems.