Which Hosted Virtual Desktop Do I Use?

This question has come up quite a few times in the past week, so I thought I would try to add some clarity. It all comes down to people looking to move to XenDesktop 5 from XenDesktop 4. Most of the XenDesktop 4 implementations are using Provisioning Services for single image management. When you create your XenDesktop 5 site, you need to add your XenDesktop 4 virtual desktops into XenDesktop Studio so it will be part of the new site. But you have five options (Existing, Physical, Pooled, Dedicated and Streamed). Which one do you use?

Existing… Right?

Nope. It will work, but it wasn’t meant for Provisioning Services desktops.





When you select “Streamed”, Desktop Studio wants the Provisioning Services address, as shown:

You select the Device Collections you want to be controlled and managed by Desktop Studio. This allows you to migrate certain groups of desktops at a time.

This is why it is always a good idea to keep the XenDesktop 5 Reference Architecture in mind because it is shows what imaging solution is used or the Hosted VDI desktop:

Daniel – Lead Architect
XenDesktop Design Handbook


Do You Have a Virtual Desktop Operations Team?

I got asked an interesting question the other day, “What is going to be the biggest challenge for desktop virtualization in 2011?” A lot of thoughts went through my head, many of them technical. But one that kept coming back wasn’t… Operations.

Think about what we are doing with desktop virtualization. We are creating an enterprise solution that relies on almost every technology silo within an organization:

  • Storage
  • Networking
  • Servers
  • Desktops
  • Applications
  • Security
  • Databases

Like any technical solution, it will change over time to include more users, more resources and more functionality. Who will be making these new design decisions? What if you run into an issue with the environment that requires a change to the design? Who is going to make that decision? You might say whichever silo it belongs to will make the decision, but I think that is wrong. If the networking team makes infrastructure changes, couldn’t that impact the speed of delivery of other components required for a successful desktop implementation (application data servers, storage servers, even virtual desktop VLANs)?

What I think is required is a virtual team consisting of architects from the different discipline areas. This team must meet regularly to go over escalated issues requiring a change to the underlying infrastructure. The team should also be responsible for the future direction and growth of the desktop virtualization solution. Transforming the desktop isn’t all about implementing virtual desktops; desktop virtualization is about changing the way desktops are managed and maintained. Even if you virtualize the desktop and do nothing else, you will still run into new issues that make desktops the bane of IT.

As you are doing your virtual desktop design, don’t forget that you must design more than the technology.

Daniel – Lead Architect
XenDesktop Design Handbook

Planning the XenDesktop 5 Database

With XenApp and previous versions of XenDesktop, the database was just the storage repository for static information. We really didn’t spend much time thinking about the impact of the database on production environments. The databases were small. They databases didn’t have a big impact on the underlying system. So what about XenDesktop 5’s SQL Database? Let me just say that the database is now the King.

What happens if you don’t plan your database appropriately? How about this:

  1. You run out of disk space
  2. You have a XenDesktop environment that fails
  3. You have poor enumerating and launching performance

I’m not trying to be an alarmist, but I want to make sure that everyone doing a XenDesktop 5 design spends enough time focusing on the importance of the SQL database instead of brushing it aside like we all did in previous versions.

Let me give you some stats to help you understand how the database might impact you. First, you must understand that the database contains all of the information about the XenDesktop site. It knows who is logged in, where, how long, resources in use, desktop states, etc. Anytime something changes within the site, the database is updated. Plus, in order to validate that the previous information is correct, there is a constant heartbeat within the environment. This helps provide a better fault tolerant infrastructure. But this comes at a price. Let’s run through a few examples:

  1. A XenDesktop site with 20,000 defined desktops will consume 250MB of space within the database.

This isn’t very large and shouldn’t bother us too much… right? True, the database is small, but what about the transaction log?

  1. Ten defined desktops in a site are idle for 24 hours will consume 14.5MB of space in the transaction log

Now that is interesting. Multiply this by 20,000 desktops and your transaction log for 24 hours (idle) is 29GB!!!! Hopefully that caught your attention. But all is not lost. You can use the “Simple Recovery Method” in your database configuration to keep the file small, but you do lose the ability to do SQL Mirroring. If you want to mirror, just do more frequent full backups of your database, which will also help to keep the transaction log small.

The point is you don’t want to be caught off guard with a SQL Server out of disk space. You can manage the transaction log, but you have to be smart about it.

If you want to know more, check out the Planning Guide: SQL Database in the XenDesktop Design Handbook. This is a great article you want to be aware of.

Daniel – Lead Architect

Hosted Shared Desktops or Hosted Virtual Desktops?

This is probably the most common question I get when going through a virtual desktop design… Should I use the hosted shared or hosted virtual desktop model? For once, this isn’t an “It Depends” answer. This is a “Yes” answer. You will mostly likely need them both. For those of you who aren’t sure what the difference is, it is pretty straightforward:

  1. Hosted Shared Desktops: A published desktop on XenApp. Users get a desktop interface, which can look like Windows 7. However, that desktop is actually being shared by every user on the server. Although we can configure restrictions and redirections to allow users to have a smaller impact on each other, there is still a risk. Many users to one desktop.
  2. Hosted Virtual Desktops: A Windows 7/XP desktop running as a virtual machine where a single user connects remotely. One user’s desktop is not impacted by another user’s desktop configurations. Think of this as one user to one desktop. There are many flavors for the hosted virtual desktop model (existing, installed, pooled, dedicated and streamed), but they are all located within the data center.

The big reason why people want to figure out if they need a hosted virtual desktop is because of scalability, which equates to money. I can get 100-200 concurrent users on a Hosted Shared Desktop model and maybe 50-100 concurrent users on a Hosted Virtual Desktop model with the same hardware. Seems like a no brainer, go with Hosted Shared Desktop.

Unfortunately, it isn’t an either/or answer. It is more of a 70% one way, 20% another way, and 10% a third way.

To do it right, you have to start by understanding your users. Citrix calls it User Segmentation Analysis, but it essentially means gathering information about my user groups to understand what they need to do their job. If you do this, you will see that the decision isn’t nearly as difficult as you expect. Here are a few examples and how I would align the groups with the most appropriate virtual desktop model (and I’m mostly looking at the application aspect, but we would also want to look at user location, mobility and end points):

Group Description Recommendation
Group 1 Users are mostly within one or two applications all day. This application is the main line of business application. Their performance is based on speed and accuracy. Hosted Shared Desktop
Group 2 Users have a core set of applications they require to do their jobs. Oftentimes, these users must be able to modify system-level settings like environment variables, or install their own applications Hosted Virtual Desktop (Dedicated)
Group 3 Users focus on content creation utilizing Microsoft Office and Adobe Photoshop. They users also browse for content and graphics online via a browser. Hosted Shared Desktop
Group 4 Users utilize a few applications that consume significant amounts of CPU resources when doing certain activities (video rendering or code compiling) Hosted Virtual Desktop (Streamed to Blade)
Group 5 Users utilize a certain application that requires admin-level privileges Hosted Virtual Desktop (Pooled)

I prefer to start with the most scalable solution first, as long as it meets the user requirements. That is the key point… user requirements. Many users need additional functionality or capabilities that are not suitable for the hosted shared desktop model. Once you reach these users, you need to figure out how to provide them with the most appropriate desktop.

In the end, there is a balancing act that goes into the design. If I have a small group of users that can utilize 3 different models, and 1 of the models is already in place, then it only makes sense to have those users use that model. It simplifies the infrastructure and makes it easier to manage.

Daniel – Lead Architect
XenDesktop Design Handbook