VDI – Because A Desktop Is A Terrible Thing To Waste!
What is VDI? Virtual Desktop Infrastructure (VDI) is defined as a desktop-centric service that hosts user desktop environments on remote servers and/or blade hosts, which are accessed over a network using a remote display protocol. A connection brokering service is used to connect users to their assigned desktop sessions. For users, this means they can access their desktop from any location, without being tied to a single client device. Since the resources are centralized, users moving between work locations can still access the same desktop environment with their applications and data. For IT administrators, this means a more centralized, efficient client environment that is easier to maintain and able to respond more quickly to the changing needs of the user and business. Here are a few things that VDI brings to the table:
- True Desktop OS e.g. Windows 7
- Isolated Desktops
- Streamed and Non-Persistent
- High-Definition User Experience
- Federated Desktop
- Anywhere Access
- Bring Your Own Device (BYOD)
The three main players, excluding all of the niche companies, are Citrix with XenDesktop, VMware with Horizon, and Microsoft with Virtual Desktop Infrastructure.
VDI Deployment Models
There are a number of ways that VDI can be deployed on a network. In an Enterprise Desktop Deployment all of the firm’s users are migrated to the VDI system and no one uses a local workstation. This is the most complete form of a VDI deployment and it is also the most costly and requires the most planning because it has to work all the time or users will be left with no way to work.
In a Hybrid Desktop Deployment approach specific task workers or remote office locations will use the VDI system and everyone else will work from tradition desktop workstations. A hybrid deployment allows the firm to get a lot of bang for the buck. It’s an easy way to bring remote offices onto the network without expensive networks and provides a way for some, but not all employees to use a traditional desktop for those instances where the VDI system was not configured to be robust enough for all jobs or perhaps was not built with full redundancy.
In a Remote Access only approach a VDI system is used only for remote access by employees. This is a more cost effective means of implementing a VDI system as you do not need a lot of redundancy or as much computer power as you would if you had users that depended on the system as their only access to the network.
VDI Ready for Prime Time
Over the years VDI vendors have put a lot of emphasis on making their systems look and feel like a real physical workstation. With the addition of the HDX Protocol from Citrix, PCoIP Protocol from VMware, and RemoteFX from Microsoft, VDI systems are able to carry complex data streams in a small bandwidth making VDI look and feel closer and closer to a physical workstation. With the latest round of protocols you can now view large documents and PDF’s without the paging effect that has plagued many previous VDI systems and terminal servers. You can use Flash-based websites and hear rich media (sound / video) without stuttering or frame by frame effect making for a high quality user experience.
The Value of VDI
The real value of VDI is both what it can deliver to the end user and what it can deliver to the IT organization. Some of the values that VDI brings to the table are:
- Virtualize and Centralize the Desktop
- Simplify Application Updates and Deployment
- Deliver a Firm Standard Desktop with Anywhere Access
- Reduce IT Cost of Ownership
- Disaster Recovery
A Look Under the Hood
No examination of VDI would be complete without looking at what’s required on the back end. The first and most important aspect of any VDI implementation is the storage. Storage is used to house and serve up the desktop to the user and everything that’s done on a VDI system will come down to the performance of the storage. That’s why you need to ensure that you have a storage system that can handle the input/output requirement of your users. Storage is often measured in IOPS (input/output operations per second). The higher the IOPS the more throughput the storage can handle. You need to ensure that you have sufficient IOPS capacity to allow all of your users to logon and work at the same time. In addition, you need to calculate how many IOPS you would need to boot up all of your VDI desktops at once if you had to. Knowing this can make the difference between a successful VDI implementation and a failure.
Next up is your server hosts. Not only do you need hosts with sufficient processing power, but you also need to ensure that you have enough hosts to run your environment in the event that one host fails. Let’s face it, servers sometimes crash or fail, so you need to make sure that your environment can tolerate the failure of at least one host, otherwise, you will eventually be in a position of not being able to sustain your user base.
You will also need to calculate how much bandwidth your desktops are going to need and where that bandwidth is coming from. If all of your users are on the local area network you probably don’t need to worry, but if some of your users are connecting across the Internet or a wide area network you need to make sure that you have sufficient bandwidth for them to do their jobs. How much bandwith you need varies based on a number of factors but can range anywhere from 60 kbps to 200 kbps per user or more.
Planning and Delivery Methods
When planning out your VDI system make sure you start your planning around the user experience. Obviously, you want a “good” user experience, but what defines “good”? You need to know and understand that so you will be able to accurately assess whether or not your system is performing acceptably. You will also want to assess your applications. Will they work well in a virtual environment? How will you handle delivering these applications? Will you bundle the applications? Will they all be installed on a single image, will you stream some of them from an application server, or perhaps create multiple images for different types of users? These are all questions that you will need to answer prior to rolling out a VDI system.
You will also need to think about desktop control, as in profile management and desktop policies. Why is desktop control so important? It’s important because it contributes to the overall performance and the look and feel your system. Suppose you don’t control a user’s desktop and over time their profile grows to 2 GB. How will that affect their login time? If you don’t know then you haven’t done enough research. Or what about the case where you don’t have any desktop control and every time a user logs in they need to reconfigure their mailbox, colors, background, etc. I doubt your users will be too happy. You will want to have all of this in place for your users so their experience on VDI will be identical to their experience on a physical workstation. Only then will they be happy and your VDI implementation a success!
Next, you will have to choose a product e.g. Citrix, VMWare or Microsoft, or another vendor. Your product selection will have a significant impact on the design and delivery of your VDI. Along with that you will need to plan what infrastructure you will need to support the expected user base. How many hosts, what kind of storage, how are you planning to deal with redundancy?
No discussion of VDI would be complete without at least mentioning some of the “gotchas” of VDI. The first is cost. In almost every situation a VDI implementation will cost more than a traditional physical desktop deployment. You will need to build ROI on the value add that VDI provides in the form of anywhere access, BYOD, etc. Second, VDI is a more sophisticated technology that requires more expertise to support and maintain. You need to ask yourself if your firm already has that expertise or if you want hire it or partner with a vendor to get it. Third, VDI is not 100% malware free. In the age of every more sophisticated malware user profiles can now become infected with viruses like Crypto-Locker. Even though you may have a VDI system that recreates itself on each reboot the persistent profile can still do you in. Fourth, with the rise of cloud apps like Office 365 you need to be aware of how those apps will perform in a VDI environment. For example, if you have Office 365 and a non-persistent desktop you will likely not be able to use Outlook in cached mode, which will significantly affect performance. Fifth, you need to plan for outages more rigorously than in a traditional environment. If you lose a workstation in a normal environment you have one user down and you just replace the desktop, but what happens when you lose a critical piece of a VDI system, do all of your users go down? Obviously, not if you planned and deployed properly, but doing that requires a lot of thought and effort on your part.