Virtualising Citrix XenApp is a Waste of Time and Effort

What is the point in virtualizing your Citrix XenApp Server? Consider that the goal of server virtualization is two fold – to make best use of idle computing resource;  and to provide standardization and automation so to reduce the time to build and deliver new servers, or recover and restore broken ones. Is that a desirable and achievable goal for a Presentation Virtualization (PV) server such as Citrix XenApp? Of course: but its likely done already. Why add another expensive layer of software?

PV’s benefit is its capacity for high user density, and ease of management. With a PV server,  users share the operating system environment, but each have their own independent session. A PV server could support 50%-100% more sessions that a hosted desktop solution, can that be improved an underlying virtualization layer?

PV servers, such as Citrix XenApp, are often cited as being ‘unvirtualizable’. They typically run with high utilization (sometimes too high) of CPU and memory resources, possibly even disk. As PV farms often need to support a high number of users, core server builds tend to be standardized, and application deployment to those servers automated. If you’ve already a standardized and automated environment, if you’ve already high hardware utilization – why go to the bother and cost of adding in a service that essentially does the same thing?

What could virtualization of your Citrix XenApp environment possibly do for you?

…well Reg, there’s Hardware Abstraction for a start…
Virtualization’s goal of standardization and automation is achieved by abstracting the server operating system from the device hardware. Show me a XenApp farm where all the servers are exactly the same, and I’ll show you a very new (or very small) XenApp farm: or a enviously persuasive IT manager. As a farm changes over time it is not unusual to have a range of server hardware in use. This leads to a problem of managing and maintaining builds for different hardware platforms, different different drivers, different patching requirements. A new server type necessitates a new server image.  By having hardware abstraction, the build management process is more simple. It can be one build across devices.  The introduction of new hardware does not need major changes, and isn’t another image to be added to the image management system.

…and availability, don’t forget availability ..

a server farm has a number of servers in it. Redundancy for a PV server is provided by having more than one server configured with user applications. If a server fails, users sessions will be terminated – but they can connect again and carry on working. While the users can ‘carry on’, they have been  disrupted. With virtualization, it is possible to move a server instance to different hardware in case of failure, or to isolate a server instance that is behaving erratically. It is not possible to move individual user instances between servers, but you do have ability to move servers hosting multiple users.

…there’s consolidation as well..
Citrix XenApp (as did Presentation Server/MetaFrame ) farm design often called for servers to be placed into “silos”. This for a number of reasons:

1. Allowed resource demanding applications to be isolated from the main ‘standard/desktop application delivery servers.
2. Allowed applications that may conflict when installed on the same server (e.g. different versions of Microsoft Office, or Internet Explorer) to be hosted.
3. Allowed non-standard applications to be installed and configured on servers outside of the standard build.
4. Allowed servers to be managed by different groups (e.g. third-party to manage an application, or to have development and test environments).

Silos lead to servers being under-utilized. There are ways to reduce the number of servers that need to be  put into silos. Application virtualization such as Citrix Application Streaming, Microsoft App-V or Symantec’s Workspace Virtualization, performance management tools such as Appsense’s Performance Manager or Tricerat’s Simplify Stability can be used. And to this you can add virtualisation – to have specific use PV servers consolidated together to reduce the need for ever expanding hardware.

.. and you’ve got performance to think about

“Performance?!”, you may splutter. Adding a hypervisor reduces capacity for a server running Terminal Services doesn’t it? You could argue that the native hardware interaction is going to deliver the best performance: and you would be right. However, while the difference in performance used to be large for virtualised Terminal Services servers, this has improved. Statistics from Project VRC suggest – in their analysis of Terminal Services workloads running on the latest generation hardware and hypervisors show that while a bare metal server still has the edge , the performance of virtualised servers was comparable as long as resources weren’t over-committed on the host.

.. and managing capacity..remember what it was like when we maxed out on 30 users per server

Typically terminal server farms have expanded out because of memory limitations. With the introduction of Windows 2008 R2’s x64 environment such limitations are no longer a concern. Yet, there are still high number of PV servers running x32 Windows 2003. With Windows 2003 there is an opportunity to increase user density and capacity by upgrading to Enterprise Edition and increasing the physical memory. But, this is an expensive option for each and every server:  yet perhaps more practical than adding additional servers of the same specification,  or migrating to x64.  An additional option is to virtualise those servers. New servers can be used to consolidate older servers. Running Windows 2003 standard x32 Terminal Server workloads without virtualization no longer makes sense.

A Waste of Time and Effort?
In spite of the hardware abstraction allowing easier image management and OS upgrades; in spite of options for higher availability and faster recovery, even fail-over; in spite of enabling silo consolidation; in spite of enabling managing user capacity on servers – especially for x32 environments … what could virtualization of your Presentation Virtualization environment possibly do for you?

Posted in End User ComputingTagged ,