Citrix and VMware: Oil and Water?

Two technologies. One chemistry experiment. Can they mix?

One of the components in our chemistry experiment is a billion-dollar company known worldwide for software that connects any user from any network connection to any data center. Citrix Systems Inc.'s Presentation Server software utilizes an optimized transport protocol called ICA to connect clients to servers over WAN links of virtually any speed.

The other component is a subsidiary of another billion-dollar company. This one's known for multiple years of triple-digit growth and a recent announcement of its first IPO. VMware Inc., EMC Corp.'s subsidiary, has been renowned for its Virtual Infrastructure product that's capable of squishing together tens of data center servers onto a single hardware chassis.

The return on investment (ROI) associated with both technologies is well-documented. Citrix moves your applications from the desktop to the data center, centralizing management and reducing administrator touch points. VMware centralizes your servers, reducing hardware footprint and heat signature, enabling an entire-server snapshot for rapid recovery and business continuity.

But when you bring them together, do they mix? Or, like oil and water, do they separate? By running Citrix servers on top of VMware's Virtual Infrastructure, do you improve their combined ROI, their performance and their survivability? Or do you end up with a big, unresponsive mess?

Hard Facts
Virtualizing a Citrix server provides the same level of benefits at the server chassis as Presentation Server does for its applications. Virtualizing a server enhances that server's capability for management and hardware mobility. Because of the file-based nature of virtualization, that server's intrinsic availability and recoverability after a disaster event are improved. And because adding a new virtual server is little more than a copy-and-paste, virtualization provides an IT staff with more options in segmenting applications, as well as securing them against external attack.

On the other hand, virtualizing any server involves added overhead to system resources. This overhead comes from the resources needed to run the virtualization layer plus all other virtual servers hosted on the chassis.

You may have heard the horror stories about the poor performance Citrix servers experience when running on early versions of VMware's ESX product. Many of those concerns have changed, however, with VMware's release of Virtual Infrastructure 3 (VI3). VI3 includes automatic sizing of memory page table caches, and improved latencies on page fault and context switch operations that help reduce total system resource use.

Citrix at a high load can be a demanding application due to high kernel-resource utilization and a high level of context switches associated with its underlying Terminal Server architecture. But in many environments this high utilization often doesn't occur. Many times, application conflicts -- or the need for security isolation among applications or users -- force a horizontal scaling of Citrix servers. These kinds of applications or users that can't cohabitate on a single server can result in an organization buying new Presentation Servers even though existing server utilization is low.

In a virtualized environment, multiple server instances are enabled to run on the same physical server chassis. When application conflicts or security requirements force additional servers to be brought online, virtualization can enable it to be done with relative ease. You can copy and paste new servers to your heart's content until the hardware resources of your physical chassis max out.

VMware recently completed scalability tests that involved initiating a series of increasing user log-ons to a virtualized Citrix server, followed by a pre-recorded series of actions using Microsoft Word. The test simulated users logging in, opening a Word document and typing for up to 15 minutes. CPU resources were measured so as to identify the number of users capable of being supported by the hardware chassis when running at up to 80 percent of CPU utilization.

A quad-socket, dual-core server was used to host the virtualization environment. This server was configured to run eight instances of Presentation Server with near-equivalent user experience to that of eight single-processor physical servers. For the test, a limited set of applications was used and each Presentation Server virtual machine was fixed to a specific processor.

After running the test for 80 iterations, results showed that for the hardware chosen, Version 3.0 of ESX and a single-hosted virtual machine could support close to 140 simultaneous sessions.

Obviously, mileage will vary depending on the type and number of hosted applications, as well as the number of simultaneously hosted virtual machines on the hardware chassis. But this test did verify that a large number of concurrent users living in a virtualization environment could be supported.

Two design decisions on the part of the ESX host combined to reduce this virtualization overhead. Virtualization environments that run on quad-processor rather than dual-processor servers, as well as those running 64-bit processor architectures, can increase the number of concurrent sessions in the virtualization environment. When making the decision to move to virtualized Presentation Server, this combination of host specifications diminishes the negative impact of virtualization overhead.

But What About Microsoft Virtual Server?

We've focused hard on the Virtual Infrastructure virtualization technology created by VMware, but the elephant in the room is: "What about Microsoft Virtual Server?"

While there are no equivalent studies detailing Citrix performance on Microsoft Virtual Server, a few connections can be made between the two products.

Microsoft Virtual Server is intended to be a comparable product to VMware's Virtual Infrastructure platform, but its architecture suffers problems stemming from two major issues. First, Microsoft Virtual Server is intended to be installed on top of an existing Windows Server 2003 installation. VMware's Virtual Infrastructure 3 (VI3) product is its own operating system. As the VI3 OS is highly optimized with an eye toward performing a single function, its virtualization overhead is significantly reduced. This means that virtual machines hosted on VI3 will typically run with better performance.

The second issue involves VI3's capabilities for dynamic load balancing and on-the-fly restarting of failed machines on alternate hosts, enterprise-level features that are critical in high-availability environments. Microsoft Virtual Server has the capability of doing cold migrations of servers from one host to another, but the virtual machine must be powered down prior to the migration. VI3's ability to move machines from host to host while the virtual machine continues to run makes this feature set a huge boon to downtime-sensitive environments.

Microsoft Virtual Server is a good product in some environments. More importantly, it comes at a substantially lower price point than VMware's enterprise-level product. If your network environment doesn't have requirements for very high performance and reliability, then Microsoft Virtual Server's lower price point may make it the product for you. --G.S. and S.K.

Softer Side
Other factors also help to reduce hardware requirements in a virtualized Citrix environment. VI3's Distributed Resource Scheduling can be configured to automatically relocate running instances of virtual Presentation Servers to other physical chassis with more available resources. This relocation capability means that a stack of servers can be treated less like a stack of servers and more like a stack of processor and memory resources. Organizations can pool these server resources and load balance virtual machines across them, thereby enabling a higher overall utilization without overburdening any individual machine.

This way the server environment is similar to that of an array of disks. We no longer have to know or even care about where our virtual machines are running. We can set policies to reserve minimum and maximum resources for individual virtual machines. We can also create affinity and anti-affinity rules to ensure servers that should reside together on the same physical hardware actually do.

VMware's Citrix Performance Study

Interested in learning more about VMware's performance study involving Citrix Presentation Server? Check out its white paper (.PDF) here.

In a physical environment, a failed server can mean a loss of that server's resources until that server is repaired or a new machine is procured. Disparate hardware between the failed machine and the new one can force a complete rebuild-a lengthy process. Because of this, organizations often procure and maintain an inventory of costly identical server hardware that sits unused and waiting for a failure to occur.

A dead VI3 host server, on the other hand, can quickly be replaced by a new server regardless of brand, CPU or model. Further improving system uptime, VI3's High Availability feature will automatically restart systems elsewhere that were homed on the dead host.

Also, the ability to spread out users among a greater number of virtual Presentation Servers means a smaller impact on that user base when one Presentation Server has an issue. It also means users and applications can be supported for a much lower hardware cost when it comes to concerns over security or application conflicts.

Snapshots and Backup
Presentation Servers are application servers. Unlike most of the servers in your data center, users have direct access to that server's desktop and installed applications. This means Presentation Servers have a greater chance of being exploited.

A virtual Citrix deployment eliminates the necessity of having one or more Citrix servers set aside as dedicated test machines. Because of VI3's ability to "snapshot" the server, the process for patching and testing becomes much less painful. To test a virtual server, just snap an existing server instance, apply the desired patches, upgrades or other modifications, and validate their functionality. If anything goes wrong, you can rollback the server to its snapshot. If the testing or patching completes successfully, the modifications can be applied to the other Citrix virtual machines with confidence.

Backing up a virtual Citrix infrastructure is simplified by the ability to store snapshots of the entire virtual machine at any time. Snapshots can be replicated off-site, which helps facilitate disaster recovery (DR). Because the Citrix virtual machines can be kept running at the DR site, access becomes very easy and rapid in the event of a catastrophic failure.

Performance vs. Reliability
As with our question of oil and water, the laws of physics still hold true with virtualized environments. Do Citrix and VMware mix? For performance -- maybe. Using ESX with just the right set of hardware, applications and users, testing shows that you can squeeze a large number of concurrent users onto multiple Citrix virtual servers.

For other reasons -- definitely. As you can see, virtualization provides benefits to reliability that help offset that loss in total performance. The gains from centralized administration, higher availability, disaster recovery and server provisioning make it an option worth considering.

comments powered by Disqus
Upcoming Events

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.