In-Depth
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.