If your company is in the market for desktop virtualisation, two solutions you’re likely to be considering are Citrix XenApp/XenDesktop and Microsoft RDS 2012R2. Having installed and used both systems for some time and watched them becoming technically mature, there are several key differences which potential users should consider.
Both Citrix XenApp/XenDesktop and Microsoft RDS 2012R2 can deliver an effective published desktop/published application or VDI solution. Citrix Published Desktop/Published Application can be provided either by installing Citrix Receiver on the endpoint device or using an HTML 5 enabled browser. The latter currently provides fewer features and is not switched on by default. For Microsoft Published Desktop/Published Application the main software is Microsoft RDP client. Although there are other ways to provide these applications, these are generally not supported by Citrix and Microsoft.
Both vendors use three core components:
- A web interface as the primary access mechanism – Storefront for Citrix and RDS Web Interface Server for Microsoft
- A session host, where the published desktop/applications are run
- A session broker (Microsoft) or Delivery Controller (Citrix) to provide load balancing connections to the session host(s) so that the end client is delivered to the least busy host.
Before making the comparison, let’s clarify the different ways to provide VDI.
- A published desktop is usually (but not exclusively) accessed via a website and uses some form of client software to present the user with a desktop running on another machine that, if configured correctly, looks as though it is running on the user’s client device.
- A published application also uses software on the client device to connect to software running remotely on another computer, and appears to the user to be running from their client device.
- Virtual Desktop Infrastructure (VDI) is the ability to create a Windows desktop and present it to the user as if it was running on their own device, when it is running on a virtual machine hosted elsewhere.
Licencing for Microsoft RDS is based on Windows Client Access Licenses (CALs), which can be purchased either Per User or Per Device. Per User enables an individual to several different devices to access the Published Desktop/Applications, while Per Device enables a single client device to host multiple users. A Per Device licence may be the cheapest option for hotdesking, but if a single user has multiple devices licences can be consumed very quickly.
Citrix requires Microsoft CALs plus a licence for either XenApp or XenDesktop. Each licence has three versions (Advanced, Enterprise and Platinum), depending on the features required.
A second aspect to consider is that Microsoft RDS cannot host a Published Desktop and Published Applications on the same server. Although this can be solved by updating a registry setting, it is not supported. This means if you have a small implementation and require one Published Desktop and one Published Application you have to provision a minimum of two servers and hence require an extra Windows license for the second server, increasing costs.Citrix, in contrast, allows a Published Desktop and Published Applications on the same server.
The two vendors both support a range of clients. Some third party vendors have also taken the Linux distribution of RDS and Receiver to implement into their Linux-based thin clients.
Installing two web interfaces for either system requires load balancing. Microsoft has a Network Load Balancing (NLB) role installed on the underlying OS, so if one server fails the NLB directs new traffic to the server(s) that are still available. However, we have found that Cisco switches require additional configuration when used with Microsoft NLB.
The alternative is a hardware load balancer, such as Citrix Netscaler or F5. These can intelligently load balance the web servers and do not cause problems with network switches. There is an additional cost, but the Netscaler can also be used to provide remote access, as discussed later.
User roaming profiles
An important part of having multiple servers is the ability for the user to have the same experience from any session host. This is provided using Roaming Profiles and Redirected Folders.
Microsoft’s version of Roaming Profiles has evolved into a very stable solution. Profiles come as part of the operating system and are most commonly invoked through a GPO. Citrix utilises Universal Profile Manager (UPM), which is part of XenApp/XenDesktop, is installed by default and is also invoked using a GPO. UPM can stream portions of the profile to the session hosts, speeding up logins, and can stream sections of the profile that are no longer being used back to the profile store, making logout faster.
Published Desktops/Published Applications support working in different geographical locations. In the Microsoft offering the user is not presented with a website but fills out a section on the RDP client for the RDS Gateway address, the server(s) address(es) and the application. With the Citrix solution the user is presented with a website on the Citrix Netscaler (see earlier section on load balancing). When they have logged on it displays the applications for which they have permission.
We all know how WiFi signals can drop out when working remotely, so how does each solution handle interruptions?
With Microsoft RDS, the session drops and RDS will try and reconnect up to 20 times. If these all fail the system marks the session as disconnected and the user will be unable to reconnect to that session. If the network has high packet loss or high latency, performance will suffer.
With Citrix XenApp/XenDesktop, the session drops and the receiver will try and reconnect. When the network connection is back up the user will reconnect to the same session, whatever the length of disconnection. It is therefore advisable to set a timeout via a GPO for idle or disconnected sessions to avoid reconnecting to a crashed session. Citrix also offers Thinwire technology for high latency networks and Framehawk for high packet loss networks.
Single Image Management
Single Image Management is the ability to create a single image and deploy it to all servers in the environment, making tasks such as rolling out Windows updates and installing new applications easier and faster.
At present Microsoft RDS does not have this functionality. Citrix offers two methods:
- Machine Creation Services (MCS) first creates a Read Only disk on each storage area. It then creates an identity disk, which give the machine a unique ID and stores various other parameters, and a differencing disk. As the base image is read any changes needed will be redirected to the difference disk. No additional servers are required as it is handled by the Delivery Controller.
- ProVisioning Services (PVS) also creates a Read Only disk and a differencing disk but can use RAM on the hypervisor as a cache. We have seen IOPS measured to about 50,000 - 65,000. This is therefore a good solution if you have a slow SAN as it can offload some of the IOPS into RAM, then when the RAM is full it will trickle the overflow to disk.
Session Pre-Launch and Session Lingering
Session Pre-Launch is the ability for the session hosts to pre-launch a session on the server. This reduces overall login time i.e. time from when the user clicks on an application to being presented with the application in a ready-to-go state. Session Lingering can be used to close down a session fully after a predetermined time. This means if a user logs out of a session it will still be running in the background, so if they launch a new session within the predetermined time the lingering session will be reconnected, also reducing login time.
Neither of these are possible with RDS. With XenApp/XenDesktop both are possible and fully customisable, provided the user’s machine is on the same network with connectivity to the Citrix infrastructure and has Citrix Receiver installed.
CAD through a VDI desktop
If your VDI desktops need to run a high end graphics card to fully utilise a CAD software package, you will need the Citrix solution, as Microsoft’s VDI solution cannot map a dedicated GPU onto a VDI desktop. Citrix has been working with NVidia to provide VDI desktops with a dedicated GPU called a GRID card which can map a GPU into a VDI desktop, providing a Virtual GPU (vGPU). There are some prerequisites e.g. specified servers are required to host the VDIs and they must run on either VMWare 6.0 and above or XenServer 6.2.0 with SP1 and above.
Which is best for your needs?
Both solutions have their pros and cons. If your company is looking for a cost-effective solution for internal access, Microsoft RDS 2012R2 could be a good choice. If you require internal and external access and features such as streaming profiles, single image management and vGPU to a VDI desktop then consider Citrix XenApp/XenDesktop.
Jason Bass, Technical Director, EACS