Moving from a SMB Virtual Desktop Solution to Enterprise Scale

I recently got a great question on Facebook about when to add additional XenDesktop controllers and Provisioning services servers as the environment expands. As I’m long winded, I thought a blog entry makes more sense than a Facebook comment.

First, your initial design should plan for the future. I recently had a customer conversation that had a similar situation.

The initial implementation was going to be around 500-1000 desktops, think SMB type architecture (which is shown in the XenDesktop Design Handbook by the way). But over the next 1-2 years, that architecture would expand to include 3000+ desktops.

My advice is to plan for the 3000+ desktops now and architect accordingly. That way we don’t have to re-do our infrastructure that has been in production for a year. Chances are higher that you will screw something up or forget to do something. Do it now and be done with it.

But let’s say the future plans were never as grand. In fact, the virtual desktop implementation was only supposed to support 500 users. And because you did such a fabulous job and the users are happy, the organization has decided to expand the infrastructure. At what point do you add additional XenDesktop controllers and Provisioning services servers. Again, if you know the environment is going to grow, just do it now instead of waiting. What value do you get by waiting if you know you will need it?

OK, if you really want to get into the fun details, think about it this way… We are concerned with fault tolerance and scalability:

  • The XenDesktop controller scalability is based on the boot, logon and logoff storms. The greater the storm, the less scalable the solution is. On average, a 2 controller system should be able to support 3000-4000 desktops. BUT (and this is a big but), if one of those controllers fails your scalability will drop fast. That’s why it is good to have 3. Three controllers should be able to support the 3000 desktop load even in the event of failure of one of the DDCs. Also, make sure you configure them appropriately and avoid the defaults. This means separating functionality across the three controllers.
  • The Provisioning services scalability is essentially based on the NIC setup. On average, a single 1Gbps NIC should be able to support 500 desktop streams. If you add another NIC, you get more streams. BUT (another big but), we need to focus on fault tolerance. If one server fails, those streams will failover to another server. The more streams you have, the longer it takes. Most organizations limit their servers with 3-4 NICs supporting roughly 1,500 streams. And remember, you need to have N+1 setup, so that if each server can support 1,500 streams and you need to support 3,000 streams, you need 2+1 servers for fault tolerance.

I hope that helps to answer your question, and it was a good one. Thanks

Daniel – Lead Architect

6 thoughts on “Moving from a SMB Virtual Desktop Solution to Enterprise Scale”

  1. Daniel,

    I agree with planing now. The challenge organizations face is that VDI is not yet proven. With that said it’s difficult to invest in the infrastructure required to deploy 3000 virtual desktops without knowing if and when you might get there. Think of it this way if they made the investment up front companies will be paying several thousand dollars per concurrent user for a POC which they may never grow. The alternative is to purchase a $700 PC. The risk of making a poor financial decision is too great. The companies I am talking to are looking for horizontally scalable solutions which allow them to grow on demand.

    Keep in mind the major expense will not be Xendesktop but the storage required to support it. Depending on the storage vendor organizations choose they may very well get locked into a controller which supports a finite amount of IOPS. Look at the price difference between an EMC NS-4 and a DMX-960 the 960 will get you to the 3000 mark but will cost a boat load up front.


    1. I would say you comment is true for the 3000-5000 user organizations who are going beyond a pilot and doing a full implementation with a subset of users. Many of the large-scale enterprises are building out environments that start at 5000 desktops so they are starting with maximum scalability in mind.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.