As CEO of Molten Technologies, an independent virtual desktop specialist, I often find myself enthusing about VDI, especially as a service, vs the traditional fat-client PC model and I have heard every push-back in the business (and some that ought not to be). In this series of articles, I will expose the most common and a few of my favourite rarer ones.
Here is a verbatim quote from a potential client, “VDI has limited use here because the user-experience sucks”. This is not, I hasten to add, a client who had experienced Molten Technologies’ service, but it is not an uncommon VDI experience. I would love to be able to say “this used to be true, but we have all left that far behind us”. The truth is closer to “it no longer needs to be true” with an unspoken dollop of “but it still might be unless you engage the right skills in setting up your VDI capability”.
There is absolutely no reason why a well set-up VDI service can’t be faster and a more pleasant user experience than an equivalent PC. Indeed, because of the natural pooling of resource (something that the PC world has been trying to emulate with limited success for years) and because the OS will be running in a data centre where it should have much better connectivity than the average office, it is likely to be cost-effective to make it even more performant. I use our own hosted virtual desktop solution all the time and it opens Outlook, for example, in three seconds, as compared to about a minute on my laptop (see our YouTube demonstration here).
First of all, let me be clear that I am not going to push a particular supplier’s solution here. I make no secret of the fact that I have my favourites, but in this instance there are a wide range of choices that will work fine. However, you will need to follow some basic rules and avoid some pitfalls.
1 – IOPS, IOPS and more IOPS
“IOPS” stands for “Input/output Operations Per Second” and refers to the speed at which storage can respond by writing to disc (“Inputs”) and retrieving from disc (“outputs”). The PC has a local hard-drive dedicated to the machine and over the years PC operating systems (you know who I am talking about) have become very “chatty” with their local drive because they can get away with it without a performance impact (some might call this laziness on the part of the OS designers). Translate that same behaviour into a server architecture in the data centre, where the storage is likely to be on the network rather than local and where the hardware isn’t designed to deal with the sort of “lazy chattiness” of a PC and your IOPS will become an instant bottleneck. There are many ways to optimize your IOPS, starting with the use of specialist storage that can hold the most common calls cached in local memory. This works because the OS might be chatty with the disc, but it’s “conversation” is tedious and repetitive, so most of it never really needs to go to the storage at all, because it is the same as the last request. It may also make sense to use storage that can “de-duplicate” across the desktops. This means that if two virtual machines both hold an identical copy of “Word” the application will be stored once with a pointer to both machines. Given the size of the OS and the applications, most corporate desktop estates can save about 80% storage on the desktop image, because they are all storing the same thing.
2 – Image is everything
Your average desktop image and its management processes are intended for a PC, possibly a laptop PC, and there are a number of areas where it can be optimized for use in a virtual machine which remains permanently in a data centre. For example, the anti-virus can now be run at a server level rather than on each virtual machine, which is dramatically more efficient (if you are going to run it on each machine, make sure it is staggered and at night). Patching can also be done at night, or whenever the machines are not being used, rather than at the point the user first logs-in; ditto with the virus scans. Think about the fact that your virtual machine is always on, always connected and never leaves your corporate network and you will find a number of opportunities if you think hard enough and with a sufficiently open mind.
3 – Know your customer
This sounds obvious, but is remarkably often omitted. Is the end-user going to need video and two-way audio? If so, then make sure you are using a remoting protocol that can cope with these demands. Old-fashioned RDP cannot do two-way at all and makes video look dreadful on all but the fastest networks. RDP 7 is a load better and there are a host of other options out there. Consider how to best balance ubiquity (there is some version of RDP on almost everything out there from iPhones and Android to MacBooks and Windows NT), cost (some of the options can get expensive) and user need.
If the user is going to run very memory-hungry applications intensively then make sure they are allocated more “power”. This isn’t hard to get right and there are tools to help you monitor actual usage so that you can continue to optimize it over time.
4 – Networking
As you move your “PC” from the desk in front of you to the data centre, your networking requirements change significantly. This will provide you with some opportunities for increased performance (e.g. put it in the same DC as some big, data hungry application and it will run like a rocket for the first time ever). However, it may also create some challenges (e.g. if you moved your file-store into the office for better performance, it may now get worse, unless you move it back into the DC with the virtual machine). The end-users will typically require less bandwidth to their local machines than they would have done for in a thick-client environment, but may be more sensitive to latency. For most office networks, this will not be a problem, but is different from what we are used to. For example, a strong 3G signal may give a better experience than a poorly set up WiFi.
These are just some examples, the bottom-line is that if you have the right skills and experience on hand to help you think through your virtual desktop implementation, it can be a performance dream. If you employ a generalist to “slap it in” it could become a nightmare. There is no reason for your user-experience to “suck” and there are opportunities that may enable you to make a performance improvement over thick-clients.