A reoccurring challenge I experience is clients selecting the best application/desktop delivery method to suit their business and technological needs. My engagements are roughly split 50/50 between XenApp and XenDesktop, though only a handful of my XenDesktop clients truly needed XenDesktop. The rest could have made due with XenApp only.
What’s the Difference?
Before continuing I want to make sure we’re all on the same page as to the primary differences between XenApp and XenDesktop. XenApp is primary utilized to deliver hosted applications to users. XenApp is Windows Server based only, so it will primarily be installed on Windows Server 2003, Windows Server 2008, or Windows Server 2008 R2. XenApp is a shared solution meaning a single XenApp server is utilized to provide access to hosted applications for multiple users. All of these users share the same physical resources (CPU, RAM, etc.). XenApp does have the ability to deliver a desktop to users. However, this will be a shared desktop and will be a Windows Server desktop rather than Windows XP, Vista, or 7. There are configuration options to make the desktop appear more like a Windows Desktop OS, though it is still a Windows Server OS in the background subject to all the same concerns of application compatibility and vendor support.
XenDesktop is used to deliver a Windows Desktop (XP, Vista, or 7). The key differences between the desktop delivered via XenApp and XenDesktop is that the XenDesktop desktop is a true Windows XP, Vista, or 7 Desktop, and the desktop instance is not shared between users. This means every user receives their own instance of Windows; basically their own little sandbox.
The choice of whether to use XenApp or XenDesktop involves a multitude of factors, all of which need to be thoroughly investigated to reach the best decision. Some of the key decision points are reviewed below.
Application or OS Compatibility
Perhaps the oldest challenge associated with XenApp is application or OS compatibility. Most applications are developed to function in a Desktop OS rather than a Server OS. Typical challenges include applications not being multi-user aware, hard coding paths, and 16 bit applications. Some of these challenges can be worked around by modifying the installation package or introducing application streaming, though 100% application compatibility is a myth.
This is typically a good scenario for XenDesktop. XenDesktop delivers a true Windows Desktop that is not multi-user. It is true that some application compatibility concerns could remain, such as installing a 16 bit application in a Windows 7 64 bit Desktop, though these concerns are greatly reduced with XenDesktop.
One of the first subjects I broach with clients is the applications they intend to utilize. If a client tells me they want to use XenApp 6, which is Windows 2008 R2 only, I ask if their application vendors will support them on a 64 bit Windows 2008 environment. The usual reply is that the client has tested the applications and found they work.
Whether or not the application works isn’t the question. The question is will the application vendor support the environment. If an application vendor won’t support the environment then it isn’t an option. In truth this depends upon the importance of the application. If the application is rarely used or isn’t business critical then perhaps you proceed, though if the application in question is business critical then you should not put yourself in the position of losing vendor support.
Some applications, while perhaps functional in a Windows Server OS, are far too resource intensive to host in a XenApp environment. This is a situation in which XenDesktop can offer two broad options:
- Host the application in a standard virtualized Windows Desktop OS backed by a bit more horsepower.
- Host the application in a blade PC environment, which will allow access to more resources than a virtualized OS.
Local Workstations (Do you need them?)
There are circumstances in which users may not require access to a full hosted desktop. This is usually the case if the user primarily works through a thick client or if the user works in a call center environment in which they require access to a limited number of applications. In this case it is better to deliver those applications via XenApp rather than deliver a full desktop.
The greatest selling point of XenApp over XenDesktop is user density per server, which directly impacts cost. Let’s use a server with 8 CPU cores and 146 GB RAM as an example. We’ll assume a virtual environment to allow virtualized instances of Windows 7 or Windows Server. The exact hypervisor doesn’t really matter. With XenDesktop I will likely achieve 80 – 160 desktops, depending upon how many VMs I can achieve per core (usually 10-20). Sometimes the number will be less and other times it will be higher depending upon the application load.
With that same hardware I can likely easily install seven virtual instances (perhaps more depending upon software utilized) of XenApp. The user density will depend upon a 32 bit or 64 bit OS, though we should be able to achieve anywhere from 210 – 420 users on that same hypervisor.
This quick example shows that a typical XenDesktop environment will require more hardware than a XenApp environment.
I’m frequently asked what the better solution is: XenApp and XenDesktop. My answer is always the same. Both technologies are great. There really isn’t a right or wrong answer. In the end it’s about delivering the tool that best fits the technical and business needs of the environment.