The when and why of VDI

Everyone and their spouse seem to be caught up in the hype surrounding VDI. And they all want to implement it. It is perfectly fine to be interested in the latest fad and try to learn and be part of contemporary things, as long as you are not ignorantly following them.

VDI is a great technology and all companies should learn about it and evaluate it to see if it fits their needs. But to jump in and implement it without the least bit of knowledge about it, may be naïve and risky.

Unfortunately, it is this particular kind of naivety that I encounter frequently at this point in time. People rush in to implement VDI thinking they will save money and also outsmart the laws of physics. Well, obviously, it doesn’t work this way.

The first misconception is that VDI is about saving money. It is not. VDI is about saving you from administrative burden. VDI was created to make the administration of the users’ desktop computing environment easier. You have to pay good money to implement VDI and this good money is spent with the notion of achieving greater manageability of the users’ desktop computing environment. Now, if this greater manageability leads you to saving costs overall, that’s a bonus, but it is not something that VDI promises to do.

First fact: VDI is not about saving money; it is about achieving greater manageability of the users’ desktop computing environments.

With VDI, the users’ desktop images are running in the datacenter. They are deployed as VMs in the datacenter and do not leave the datacenter. The administrator also does not need to leave the datacenter in order to service them. The users connect to their desktop VMs via the network.

Of course, since the desktop operating system images run in the datacenter, this requires the datacenter infrastructure to be pretty beefed up. Pretty beefed up. Your average server might not do. Your average server might not be able to support more than a few users’ sessions, if at all. And your network may need to be pretty beefed up too. So be careful. Are you sure you have the compute, storage and networking capacity for all these images and sessions? If you do, then good for you. If not, then VDI might not be right for you.

Second fact: You cannot adequately implement VDI unless you have a pretty beefed up datacenter infrastructure.

Imagine having desktop operating system sessions running concurrently on your servers and users accessing them over the network using RDP. Do you realize what that will do to your servers and network? Do you realize the sheer capacity needed to pull this off? I am tired of walking into companies and seeing users’ sessions crawling because someone though implementing VDI without careful planning was a good idea. Of course VDI is a good idea. Thinking that you will outsmart the laws of physics is not a good idea. Thinking that by using an old server (that just happened to be lying around) to hold users’ desktop sessions in order to solve your financial and administrative problems is not a good idea. What will happen (and I see this frequently) is that a) each and every user that is not using VDI will pray that her turn will not come to use it and b) each and every user that is using VDI will endure much suffering.

Although rushing to implement VDI without proper planning may not be as disastrous as a meteorite hitting earth or as Linsday Lohan behind the wheel of a car, it too can cause damage by reducing the performance of users’ sessions and can lead to user frustration and lost productivity. Although VDI was never meant to be a trap, it can certainly transform into one if implemented inappropriately or in an unsuitable environment. Not all environments are appropriate for VDI. There are even cases where some departments of an organization should implement VDI and some should not. So, whether VDI will prove useful depends not only on the particular organization but also on the particular department.

Some administrators think that it might be easy to run users’ sessions in the datacenter servers. Well this is easier said than done. The compute, storage and network capacity needed to provide adequate user experience might be out of your financial reach. Even if you can afford it, should you? Well, there are two approaches to solve the capacity problem. Either you do not implement VDI and the users’ workstations are used for their compute, storage and networking abilities, or you implement VDI and all this work is done by the servers and the network. Sometimes it is best to have a centralized model, sometimes it is best to decentralize compute and storage, especially when it is too difficult or expensive to centralize it. It depends on the particular situation and the particular company. A traditional client-server environment uses the workstations CPUs, hard disks and NICs for business purposes, so the servers are left to provide their regular services. In contrast, a VDI environment uses the workstations’ (or thin clients’) resources for RDP. The servers are used not only for regular services but also for the users’ sessions. So, you have to acquire more servers in order to implement VDI. If you can, then your server environment will be more complex, but you will get rid of many trips to service individual desktops. You decide.

Ok, now let me answer some frequently asked questions:

Should a company implement VDI? That depends on its particular needs. With VDI, it can have all the desktop images stored in the datacenter and all sessions running there. VDI is a great concept from an administrative point of view. Not all companies need it, though.

Is it costly to implement VDI? Yes, very. (The alert for shamelessly unscientific answers is going off right now: beep, beep, beep…)

Will I save money in the long run if I implement VDI? Not necessarily. You may save administrative burden, though. That’s the point of implementing VDI.

Is it easy to implement VDI? No. You need more expertise to implement VDI than to implement a traditional user environment.

Who are better at partying: the Olsen twins or the Hilton sisters? I don’t know how this question got here but I will try to answer it as best as I can. You cannot compare pioneers who excel in their field with one another. The Olsen twins as well as the Hilton sisters are unsurpassed and they have earned and deserve our awe and admiration. In the previous list we should not forget to include Tara Reid and Lindsay Lohan, the latter having her second honorable mention in this blog post.

My servers are already virtualized. Why shouldn’t I virtualize my users’ desktops as well? By all means, do so if you want to. Just be sure to adequately provision your infrastructure. Be sure to understand the demand VDI will place upon your infrastructure.

Who is better: Jenny McCarthy or Carmen Electra? Come on, admit it now, this question is not about acting, is it?

Why should I implement VDI? If you want or need your users’ desktop images to reside in the datacenter as VMs and your users’ sessions to run in your datacenter servers, then VDI is the way to go. It is great for security, compliance and administrative purposes. The VMs lay secure in the datacenter and are not scattered around the company. They can be created, recreated and serviced easily. Thus, VDI is a great solution.

Why shouldn’t I implement VDI? VDI is difficult to implement. Are you willing to acquire the necessary expertise? If yes, then keep reading. If not, you might want to rethink about VDI. Also, VDI needs a really powerful datacenter infrastructure. Do you have it or are you willing to acquire it? If yes, keep reading. If not, again, you might want to rethink about VDI. In addition, you have to think whether VDI is the most appropriate technology for your company. Other approaches exist and/or are being invented as we speak.

What other technologies exist besides VDI? What are their pros and cons? This question might need a blog post on its own. I will try to answer it as briefly as I can.

First of all, there is of course the normal, traditional client-server environment. Each user PC is used to run the user’s operating system and applications and communicate with the servers for the services (data) they provide. The use of the workstations’ computing capacities alleviates the need for an extremely powerful server infrastructure. But this is a decentralized model that leads to having workstations that may be scattered all over the workplace.

Then we have Remote Desktop Sessions. This model was known as Terminal Services in ancient times (a few years ago). Each user is using a remote session which resides in a Remote Desktop Session Host server. Many sessions can reside in such a server and they are a lot lighter in terms of required server resources than VDI’s full-blown desktop sessions. But their strength is also their weakness. Remote Desktop Sessions are not full and completely separate desktops and might not provide full compatibility with all applications.

And of course, VDI provides a completely separate client desktop for each user.

But there is also an array of technologies centered on the concept of a VM running in the client. There are three options. 1) The VM’s VHD file can be used to boot the user’s workstation. 2) VMs can run in type-2 client hypervisors. 3) VMs can run in type-1 client hypervisors, which are now emerging. Those techniques may provide more options now and in the future. For example, a client workstation can run a VM that can contain the user image and hold the user session. The VM can be serviced as an operating system, but also as a single file as well. This provides many administrative benefits.

Also, no matter which one of these infrastructure implementations one chooses, she may alter the game by additional techniques like choosing the appropriate model for software distribution, user profile management and folder redirection. PowerShell scripting, Group Policy, RemoteApps, App-V, System Center, cloud services and third party tools and solutions can be used to mitigate any or all problems a particular infrastructure may have and to further enhance and ease its administrative procedures.

Are there any other VDI providers other than Microsoft? Of course. There are several, but it is beyond the scope of this blog post to provide a list or a comparative analysis. Just note that Cirtix and VMware are two of the biggest contenders in this space and they each provide their own enhanced VDI communication protocols in place of RDP. Also they have put more resources into providing better user experience for video streaming and access over WAN links, two of the biggest challenges VDI has always faced.

Why is VDI an inappropriate solution for cash-strapped departments or companies? VDI is not always an inappropriate solution, even in cases of financial difficulty. It is certainly an inappropriate solution when the infrastructure that will be used for VDI is not powerful enough. If such an infrastructure exists, then VDI might be a suitable solution that can easily provide ease of administration and, perhaps, also considerable reduction in administrative costs.

VDI is unsuitable for datacenter environments that cannot handle its compute, storage and networking demands. VDI sort of reminds me of the old comedy sketch about The Lord and Noah. That sketch presented in a humorous way Noah’s discussion with God, with Noah constantly responding with the word “Right”. At the end, God instructs Noah, to collect all of the animals by two’s, male and female, and to put them into the ark, because He is going to destroy the world. When Noah asks how God is going to do that, God responds by saying that He plans to let it rain for 4.000 days and “drown them right out”. Noah then suggests: “Listen, do this, you’ll save water: let it rain for 40 days and 40 nights and wait for the sewers to back up”.

My advice to cash-strapped companies would be something along these lines: “Listen, do this, you’ll save money, user frustration and the provisioning of new powerful (i.e. expensive) servers: let your servers handle your current services and wait for the CPUs of the PCs to back up, by handling the users’ desktop OS sessions and the applications that run on top of them.”

I would like again to point out that there are a lot of options and VDI is just one of them. It is great option if you have the need for it, you are knowledgeable about it and you have a powerful datacenter infrastructure. Knowledge can always be acquired; I am not so sure about one’s ability to acquire an adequate datacenter infrastructure though. Solutions are emerging now though, that leverage the cloud to provide VDI cloud services. It is a space definitely worth watching as to how it progresses and how well it will be accepted. The cloud may save the day for those that need VDI but, either cannot shell out the cash needed to upgrade their datacenter infrastructure, or do not want to implement and manage VDI themselves.

In conclusion, the most important thing to note is that there are many technologies to choose from. An appropriate technology exists and can be found for almost any environment.

Advertisements

About Dimitrios Kalemis

I am a systems engineer specializing in Microsoft products and technologies. I am also an author. Please visit my blog to see the blog posts I have written, the books I have written and the applications I have created. I definitely recommend my blog posts under the category "Management", all my books and all my applications. I believe that you will find them interesting and useful. I am in the process of writing more blog posts and books, so please visit my blog from time to time to see what I come up with next. I am also active on other sites; links to those you can find in the "About me" page of my blog.
This entry was posted in Administration. Bookmark the permalink.