Last week on the Citrix blogs, Cris Lau announced that the Excalibur tech preview is available for download. I hope by now, many of you have downloaded and have installed the Excalibur tech preview in your lab. Besides hands-on evaluation, we know many of you also want to learn about new features, capabilities and changes in this release. So, over the coming weeks, architects, like myself, along with engineers and product managers will be sharing with you interesting topics on Excalibur.
To start, I want to kick off with a blog about FlexCast 2.0. For those not familiar with Citrix FlexCast delivery technology, you can learn more about it here (http://flexcast.citrix.com/). FlexCast 2.0 enables our customers (administrators) the simplicity and flexibility to deliver applications and desktops from servers and desktop OS’es from a single Excalibur infrastructure. This means there’s no need to have one management and delivery infrastructure for XenApp, and a similar, yet separately managed, infrastructure for XenDesktop. In Excalibur, two key components make FlexCast 2.0 possible: the Delivery Agent and the Delivery Controller. In this blog, we’ll look at the Delivery Agent and how it compares to XenApp and XenDesktop today.
FlexCast 2.0 Delivery Agents
Excalibur accomplishes this feat by supporting two types of Delivery Agents: one for Windows Server OS machines and one for Windows Desktop OS machines. As shown in the diagram below, both Delivery Agents communicate with the same set of Delivery Controllers and share the common management infrastructure in Excalibur:
This is fundamentally different from the way XenApp 6.5 and XenDesktop 5.6 currently work. Although each product has separate roles for machines running as controllers versus workers (a.k.a. Session Hosts in XenApp 6.5 and Virtual Desktop Agents in XenDesktop), neither controllers nor workers in the two products shared a common implementation. Deploying a mix of VDI desktops and shared hosted desktops required setting up an IMA-based XenApp controller infrastructure and an FMA-based XenDesktop controller infrastructure, with separate databases and separate management consoles.
Excalibur changes this by offering a single controller capable of operating with workers (a.k.a. Delivery Agents) on either server or desktop operating systems—you can even mix and match the two within a single site to deploy desktops and apps hosted on both.
Benefits of the Delivery Agent
While the Excalibur Delivery Agent for Windows Server Machines is extremely similar to concept of Session Hosts in XenApp 6.5, it also offers some notable improvements and benefits:
- The Excalibur Delivery Agent for Windows Server Machines is designed from the ground up for dynamic provisioning with Machine Creation Services and Citrix Provisioning Services. Unlike XenApp, the Delivery Agent communicates only with the controllers in the site and does not need to access the site database or license server directly.
- Delivery Agents do not need to run the same version or OS as the controllers. This simplifies the process of upgrading sites, and allows Excalibur to support six different Windows operating systems all within a single farm: Server 2008 R2, Server 2012, XP, Vista, 7, and 8.
- While the XenApp session host-only mode disabled functionality and offered performance benefits over XenApp controllers, it consisted of the same installed services and same binaries as the controllers. The Excalibur Delivery Agent for Windows Server Machines is lighter weight, and only consists of the components needed for hosting sessions. It does not share any common installed components with the controllers.
Delivery Agent Install
Unlike XenDesktop 5.6, where the VDA consisted of a single XdsAgent MSI, the Excalibur Delivery Agents now consist of a collection of individual component MSIs, such as the ICA protocol stack, profile management, and Personal vDisk. Most of the components are common across both Delivery Agents while others are OS-specific. The Excalibur installer automatically detects the operating system, and offers to install the appropriate components based on the OS on which it is running:
The biggest difference between the two Delivery Agents is the ICA protocol stack. For desktop machines, Citrix ships a single-user ICA stack (internally known as PortICA) which allows only one ICA session at a time. This version connects users to the machine’s console session, similar GoToMyPC or other Remote Access products for a Desktop OS. It also includes additional HDX features such as USB and Aero redirection, which are only available on a single-user machine. For server machines, Citrix includes a multi-user ICA stack, which extends Windows Remote Desktop Services with the HDX protocol. This is the same ICA protocol stack developed for Citrix XenApp, just with a different management interface to make it compatible with Excalibur controllers.
Delivery Agents for Apps and Desktops
First, a number of customers and partners have noted that the tech preview requires separate workers for apps and desktops. I want to set the record straight that all Delivery Agents are capable of hosting both seamless applications and published desktops using HDX. So, the limitation you noticed in the tech preview is temporary, and a result of the UI and SDKs not yet being updated from VM Hosted Applications.
Those of you who used the VM Hosted Applications (VMHA) feature in XenApp will find the new Delivery Agents a welcome change. Instead of requiring separate consoles and management infrastructure for apps delivered from server machines versus desktop machines, applications can be delivered from either type of Delivery Agent in Excalibur. You can host the majority of your apps on a server OS for higher user density, then run any legacy 16-bit apps or those that are not Terminal Services compatible on a desktop OS. Excalibur provides the same management and end-user experience, regardless of how the app is hosted.
Configuring the Delivery Agent via Policy
Like XenApp servers and XenDesktop VDAs, Delivery Agents in Excalibur are configured via policies. Any combination of Active Directory GPOs, the Studio console (HDX Policy), and Local GPO settings can be used.
It’s important to note that because of differences between the ICA protocol stack installed on server versus desktop operating systems, not all Citrix policy settings will apply to all Delivery Agents. As mentioned earlier, some features such as USB redirection are only available on a Desktops OS. Likewise, features such as the Enhanced Desktop Experience only apply to a Server OS. As shown in the screenshot below, policy settings can be filtered by Single-Session (Desktop OS) and Multi-Session (Server OS) settings:
Also, note that applying a setting to the wrong type of Delivery Agent won’t hurt anything—it will silently be ignored by the Delivery Agent if it doesn’t apply. You can use this to configure a single policy that applies to both types of Delivery Agents.
More to come…
I hope this gives you additional insight into the Excalibur Delivery Agent. Next time, we will talk about the Delivery Controller. Stay tuned!
And we want to hear from you… if there are Excalibur topics you’re interested in, please let us know!