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.

comments powered by Disqus

Reader Comments:

Wed, Mar 4, 2009 Anonymous Anonymous

Fiesty!

Mon, Dec 3, 2007 Anonymous Anonymous

One command per slice? That's only meaningful if your architecture is incapable of executing a new instruction every clock cycle, and where you're capable of feeding more commands per clock-cycle than the CPU can handle - usually only possible if the RAM clock isn't some distant fraction of the CPU clock. Superscalar pipelines are defacto in all processors now, the dispatcher and memory interface are the bottlenecks.

For the record, the Core architecture has five ports to the buffer feeding 14 different execution units operating in parallel. Maximum real parallelism is about 2:1 per core (and is tested at about 2.0MIPS/MHz). In spite of that, the execution units amount to a meager fraction of the chip die - the rest being cache. Why? Because having a CPU that can compute a trillion multiplications per second is pointless if you can't supply it with the raw data.

Tue, Oct 9, 2007 Anonymous Anonymous

If you are concerned about the impact to your business, what do you think of SAP officially certifiying their whole business software stack on ESX3? VI 3 is definitly ready for prime time and verybody who does not look into it is loosing money on the road. If SAP dares to support it - they even vMotion a running SAP application server from one ESX host to the other - this is real transaction based business.

Tue, Oct 2, 2007 Anonymous Anonymous

Remember that no matter how well you try to run multiple systems on one server you will run into a restriction that well, will always be there on x86 architecture. 1 command per slice, meaning that the CPU can only process 1 command at a time. Even if there are multiple processors. It is a native downfall to the processors. However, i think they have done a good job trying to move to less energy consumption and less enviormental impact. From a major apllication standpoint. I will never virtualize Major key players in my enviorment(SQL, FILE Servers, Transaction Systems) To many possible inherit problems that could impact Business. Thats the problem.

Mon, Oct 1, 2007 Anonymous Anonymous

If VI3 is not ready for prime-time, why are so many companies running it in their datacenters? Some at 100%? That's an old VI2 notion that doesn't apply to VI3.

Sat, Sep 29, 2007 Anonymous Anonymous

How could he be aware, the article was written BEFORE the announcement. Think before you post.

Sat, Sep 29, 2007 Anonymous Anonymous

Are you also aware that Citrix purchased XenSource and will be competitor with VMWare?

Wed, Aug 15, 2007 e7-2521 Anonymous

At my last company, we had our entire Citrix TEST farm on Vmware 2.5x. It was more than adequate for our needs. Of course, we were primarily interested in testing app functionality not load. The Production farm of course was comprised of all real servers... No need to be cheap on that front. Never experimented with AIE except in training class. Most of our mission critical stuff was in-house, non-TS certified apps. My opinion: Citrix VMs are not recommended if you have siloed your servers by departmental applications (multiple apps on single server). If your Citrix servers however are siloed by single applications running on each, then I suppose it's something to seriously consider. Personally, I don't think ESX is ready for prime time (SQL or mission critical stuff) yet. At least it's hard to sell to the development and business people. Although my company has set a goal of virtualizing 20% of Production by end of year...

Sat, Jul 7, 2007 Anonymous Anonymous

AIE was a nice concept but I pulled it when applications DLL's interacted poorly between the AIE and host. Unless AIE supports a completely isolated environment my Citrix servers will remain in silo's. Working with Citrix since metaframe \ cubix days and printing issues I will take a wait and see with AIE. I wish the AIE pioneers good luck thou but have plan be ready.

For me recoverability is far more important then scalability and I am funded in a manner that supports this priority. I work to support the business staff not the other way around.

Thu, Jul 5, 2007 magnus Anonymous

This is a very good article. The only question here is, how does it perform with real applications? I can get 100 users on a Dual Dell 1950 with 4 gb of ram no problem if they only run the MS office suite, but if they were running say Great Plains with the FRx drill down viewer the amount of concurrent users would drop. Obviously it would drop in a Cirtualized solution but would the usage between the 2 be comparable or would the non vitruyalizxed solution previal

Thu, Jun 14, 2007 Anonymous Anonymous

Nice puff peice, are you aware that Citrix already has addressed applications that don't behave well in a multi user or TS environment. The Application Isolation Environment (AIE) has been out since the release of Presentation Server 4.0 and AIE v2.0 was released with Presentation Server 4.5. This has eliminated the need to add more servers as you explained and allows all application servers to run all applications.

Sat, May 26, 2007 Rob Anonymous

This article just touches the surface on the combination of Citrix and VMware. VMware also allows you to virtualize Windows XP and deploy to thin clients utilizing RDP. But then, how do you manage the applications? By using published applications or streaming the applications from Citrix Presentation Server, now managing a single Windows XP VM is possible. But then, it does beg the question. . .why didn't I just buy Windows XP enabled thin clients to begin with and run the applications off of Citrix? All is all, a true Citrix solution will always offer better ROI. Many people complain they can't get an application to work off of Citrix. . .that is an old argument that doesn't fly anymore because of application isolation.

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.