Virtual Desktop Infrastructure (VDI) is a growing area of interest in today’s enterprise. VDI originally gained traction among organizations where information security was paramount since VDI centralizes information in the data center instead of having it distributed among the desktops. Another popular VDI use case was in call centers, where every employee gets an identical desktop and applications with no need for customization.
Today, VDI is seeing lots of interest because of two new capabilities it enables, BYOD and desktop mobility. BYOD is “Bring Your Own Device” and refers to the growing need to support users bringing their tablet computers and personal laptops into the office, yet still needing access to corporate resources. Being able to run a virtual desktop on these devices is an attractive fix. Desktop mobility is important in today’s world of nomadic workers who may be in the office, at home, at Starbucks, at a client site, or elsewhere while using any available computing device they can find. VDI provides a solution for these workers to always access their desktop and applications no matter where they are or what device they have.
However, for VDI to really expand, it needs to support two very significant demand sets. The first set of demands are from knowledge workers who are used to having control over their desktop environment (to personalize the desktop and install applications they need) and will not tolerate anything less if their desktop is virtualized. The second set of demands are from IT, who need to be able to continue to manage hordes of desktops using familiar tools and methodologies. Both of these mandate a Persistent Desktop VDI model whereby each virtual desktop is a self-contained and complete version of what would be on a physical desktop. Unfortunately, with today’s prevailing storage technologies (disk or flash) the Persistent Desktop model is very hard to deploy as it places high loads on storage performance and capacity. Storage vendors publish many VDI reference architectures, but often guide toward the “Linked Clone” or non-persistent desktop model, which presents limitations end-users in their desktop flexibility as well as to administrators, who must learn complex new tools and procedures to manage non-persistent desktops.
Buried in these reference architectures are many hidden assumptions. Your storage vendor wants you to believe that you can deliver a great VDI user experience using planning assumptions that are based around the limitations of their arrays, rather than the demands of persistent virtual desktops and their applications. XtremIO says, “enough!”
Here are a few gotchas you should ask your VDI storage vendor about:
- Was your reference architecture performed with Persistent Desktops? Most vendors publish only non-persistent desktop reference architectures because they can’t handle persistent desktops.
- How many IOPS/desktop are you assuming? Storage vendors plan for somewhere between 8 and 25 IOPS/desktop for two reasons. First they’ll claim that it’s the average load on a SATA drive in a typical low-end desktop machine. Second, because if they plan for anything more their arrays become so large and complex that VDI itself becomes economically non-viable.
Let’s tackle these in order. First, the user experience on a Windows 7 desktop with a SATA drive is less than stellar. More and more people are using devices that deliver the flash user experience – iPhones, iPads, MacBook Airs, ultrabooks, etc. I have a MacBook Air at work, a Dell laptop with an SSD at home, and a Dell desktop with a SATA drive at home. Guess which machine I don’t like using any more. If you have a PC or Mac with an SSD in it, run the performance monitor sometime while you perform normal tasks. I’ve done this and routinely see IOPS peak above 1,000. So while my average IOPS over the course of a day may correctly be somewhere between 8 and 25, my IOPS demands when I need them (when I am doing something) are many times higher. Windows 7 and MacOS will both use as many IOPS as they can get because they assume that they own the underlying storage device. In a shared storage environment like VDI, the IOPS demands on the array become amplified and the ability of each desktop to peak above what it could have on a local disk are accentuated.
Now think about your storage vendor. Hard-drive based arrays are just conglomerations of the same hard drives in desktop machines. Worse, in many array designs the entire performance of the array isn’t available to any given virtual desktop. Rather the desktop can only access a RAID group that it happens to reside on. This RAID group might only have six drives in it and it is being shared with many other VDI users. Thus the ability to burst to high IOPS levels simply isn’t there. So storage vendors have lots of incentive to describe IOPS loads over long periods of time because the averages are much lower than the peaks. Since successful selling of VDI storage requires keeping the cost of a virtual machine inline or lower than a physical machine, storage vendors artificially lower their IOPS planning assumptions in order to keep costs in line. This is one of the reason many VDI projects stall or fail. Storage that worked great in a 50 desktop pilot falls apart with 500 desktops.
- How many IOPS can any single desktop burst to? If a virtual desktop can’t leverage the entire array’s worth of drives for performance aggregation, it should be a big red flag.
- What happens when I need to add more virtual desktops? If you need to buy more arrays with more points of management things are going to get ugly. What you want is a system that can not only expand to meet your needs, but that also allows existing virtual desktops to gain in performance as the system grows.
- What are the recommended desktop OS settings? Many times recommendations will be made to change dozens of registry parameters, or to disable Windows services like indexing, desktop search, the Recycle Bin, file system time stamping, and more. That’s not a virtual desktop. It’s a crippled desktop. These services are turned off because they cause more I/O to the storage array. Insist that the desktop OS is fully functional and that your storage system will handle the load.
- How will your storage help me reduce my non-storage VDI infrastructure costs? Vendors typically do not allow virtual desktops to suspend when inactive because the load on the storage of having to write 2GB of memory state to disk is simply too high. And it has to be read back from storage when the machine resumes. This not only takes a long time, but it hammers the storage array and adversely impacts the user experience for the active virtual desktops. This precludes server over-subscription. If VDI storage could handle the suspend/resume workload without negatively impacting user experience (suspend/resume has to complete within seconds without hurting I/O to active desktops) then fewer servers are needed to support the environment since many desktops will be sleeping at any given time due to people away from their desks, in meetings, out sick, on vacation, etc. If the storage doesn’t enable cost reductions elsewhere in the infrastructure, think twice.
- What is the virtual desktop provisioning model? Think about the act of rolling out 100 new desktops. If you initiate a copy from an existing 60GB desktop OS template, you’re going to create 6TB of new data. That might take a while. It also might crush your storage array from servicing existing desktops. Be wary of answers geared toward non-persistent desktops. That’s cheating.
- Does your storage perform real-time, inline deduplication? If deduplication doesn’t exist or is done through post-processing, the array will be ineffective in a VDI deployment at scale. VDI data deduplicates very well and deduplication drives storage costs far lower.
XtremIO storage is like magic with VDI. It allows for a flash user experience to be widely deployed, but even better it drives the cost model of VDI into the mainstream. When VDI can be deployed because it delivers an awesome user experience, makes economic sense and because it delivers new capabilities (not just because compliance regulations mandate it), the interest level in the technology will broaden substantially. We believe XtremIO storage is a catalyst that will broaden the appeal of VDI and accelerate its adoption because we don’t make any hidden planning assumptions. We just deliver an easy-to-use and scalable VDI storage solution that happens to make the user experience better than a physical desktop, even for the persistent desktop deployment model.