For years, organizations deploying VDI for the first time have felt the sting of the most common issue that plagues virtual desktops: inadequate performance from shared storage. The storage infrastructure that has worked well for decades when used for servers is found to be dramatically lacking when virtual desktops are deployed to it; for that reason, VDI has received many black eyes (and in some CxO offices, a permanent bad reputation) and that has been very difficult to overcome.
Fortunately, the available options for shared storage are multiplying, with VDI driving a good portion of that change. An organization looking to deploy VDI today has all-flash array options, de-duplication offerings, hyper-converged (scale-out) systems, and even local storage aggregation products available – all of which can not only increase performance of VDI, but lower the cost as well. Although the price point of an individual virtual desktop can be endlessly debated and is largely dependent on the performance requirements of the end user, it is now a safe assumption that a virtual desktop can be made to perform as well as, or better than, a physical machine at a reasonably competitive price.
Obviously, that means VDI performance issues are behind us, right? Unfortunately, the answer is no – at least for organizations looking to run hundreds or thousands of virtual desktops. The hurdle of “slow storage” was so large and so overwhelming for VDI deployments that it was often functionally impossible to see if there were other bottlenecks in the system. The problem these organizations encounter, once storage has been “solved”, is that suddenly mass events, such as anti-virus scans and updates, inventory scans, and software distribution have all the IOPS they can handle, so they begin competing for the other parts of the shared infrastructure: network, CPU, and memory.
What happens when 150 persistent virtual desktops, all hosted on the same physical VDI host, are told to download and install a 70mb patch, and there is no disk I/O contention? One hundred and fifty instances of a software delivery agent spring to life, churning against the vCPUs assigned to the virtual desktops. The patch is retrieved. The patch is expanded. The patch is installed. Post-installation cleanup occurs. And don’t forget the reboot. The performance problem is no longer the disk, but it still very much exists; one bottleneck has been removed only to reveal another.
As you can imagine, the great benefit of virtualization – oversubscription – absolutely cannot deliver even close to adequate performance to these virtual desktops all clamoring for cycles at the same time. Often, the result is an end user experience that ranges from slow to unusable. Desktops that should update in a minute or two are so starved for resources that they take 30 minutes or more, during which time they have nearly zero cycles to dedicate to the work of the user. Ultimately, this turns into hallway chatter: “VDI is awful.” “I want my desktop back.” “This is the worst technology I’ve ever used.”
How do you avoid this? In my latest research document, “Selecting the Right Application Delivery Model for Virtual Desktops” (available to Gartner for Technical Professionals clients), alternative ways to deliver applications (and updates, and patches) to persistent virtual desktops are reviewed in detail. By comparing options such as Server-Based Computing, Application Virtualization, and Application Layering to traditional, physical-focused application management tools, I hope that organizations will be able to see and avoid this issue before it happens, or remediate the problem if it has already been encountered.
Like most technology, none of these solutions are one-size-fits-all. However, among the options discussed, I believe most will find a solution that will reduce or eliminate this bottleneck. And good news – once you have solved storage and solved application delivery, the performance hurdles of VDI finally begin to get smaller. Don’t lose hope!
Which application delivery approach are you currently using for your VDI implementation, and how well is it working for you? Let us know in the comments.