Windows – Configuring existing Citrix XenApp farm to also works as a Windows RDS farm

citrixfarmrdswindowsxenapp

We're looking into providing a Citrix XenApp 6.5 farm and Windows Server 2008 R2 RDS farm for the users using the same server resources. Please notice that, why/why not, isn't really the question here.

  • Would it be possible to host both Citrix farm and RDS farm functionality on the same servers.

Just reading about it I'm not aware of any problems, but that's almost the case with all things technical, it's not until you actually implement it that the issues starting to arrive. Has anyone actually done this?

Today the infrastructure consists of:

  • 2 servers holding the Citrix Web Interface and Citrix Secure Gateway roles
  • 2 servers holding the Citrix Licensing/RD Licensing
  • 2 servers holding the Citrix Data Collector role
  • 20 servers holding the Citrix Host-Mode role

The idea is to add the Windows RDS roles onto the existing Citrix XenApp servers:

  • 2 servers holding the Citrix Data Collector and RD Connection Broker roles
  • 20 servers holding the Citrix Host-Mode and RD Session Host roles

The RDS farm should not be available from outside the company network, towards the RDS farm end users would only connect to the desktop from the thin client. The thin client will have the RDP client preconfigured for the RDS farm if they should use that. In all other scenarios the Citrix solution would be configured for the end user.

Probably some scenarios (and hundreds more) to think about:

  • How would the two different solutions load balance users between servers as they probably not aware of each other
  • Will Citrix have issues with licenses as users can, in theory, connect both through the Citrix and the RDS
  • Will RDS have issues with licenses due to the scenario above

Appreciate any input/experience on the subject of the matter. Will edit the post to add more details if needed/down the road.

Best Answer

This is implemented and tested for Windows Server 2008 R2, it's however not extensively tested. There are major licensing issues with this setup.

It's possible to have Citrix farm and RDS farm functionality on the same servers. This implementation is done with DNS round robin, connection broker load balancing, redirection with ip address. Maintenance on servers require to logon with mstsc /v:IP /admin to get the correct server, or remotely manage with admin tools. At the moment the RD Connection Broker is a s.p.o.f.

  • Licenses

Issues has been seen that if there are no Citrix licenses available, this also affects the RDS farm and user can not logon there either, this could probably however just be an configuration issue (not been investigated). The RDS servers are "per user". Regarding Citrix this is configured for concurrent.

This means that each RDP session towards a server also running the Citrix application will also take a Citrix license. There are therefor no purpose off trying to run CTX and RDS on same server and use RDS for saving licenses for those users that don't need CTX functionality
  • Sessions

Citrix uses ICA protocol, RDS uses RDP protocol. You'll need to configure for both if you for example don't want new users to connect to the server due to maintenance.

They won't be aware of each other regarding sessions, meaning, a user (the same) connecting to the Citrix farm and then to the RDS farm will get two separated sessions.

They won't be aware of each other regarding load balancing, but Citrix will however be aware of the server load based on the configuration, take that in account.

RDS is also somewhat, ineffective, then load balancing based on the Connection Broker service.

  • Applications

RDS farm (2008 R2) cannot be selective with what applications and such is available per server, therefore only add those servers that are exactly the same as the Citrix servers. For example only servers that delivers a whole desktop and all have the same applications.

  • Certificates

For the RDS farm you'll need to handle the certificates (a certificate containing both the farm name and each server within the farm) if you don't reconfigure RDP for RDP Security Layer.

Extending this answer/Corrections to this answer is encouraged.