Virtual Desktop Infrastructure (VDI) is a technology I have a long history with. It was originally “invented” on Wall St. in the mid-2000’s and embraced by VMware® as another compelling workload for the vSphere® platform. It wasn’t until years later that VMware EUC products and technologies matured and grew to the mainstream portfolio status it enjoys today.
However, running desktop workloads on servers in virtual machines always had some limitations and not just the maturity of graphics remoting protocols. When customers first heard about VDI, there was an implicit expectation of great cost savings akin to server virtualization. That never materialized. Au contraire, despite some great vertical use cases and operational benefits in Financial Services, SLED and Healthcare, virtual desktops usually cost more than physical desktops. To make the numbers work, pressure was high to reduce costs. Hence higher VM densities per server and various strategies to lower storage costs became prevalent.
Storage costs for VDI had two dimensions:
- Capacity – desktop images are big (thank you, Microsoft) and instead of inexpensive PC disks, we were now talking about more expensive shared SAN or NFS infrastructures for the PC images.
- Performance – VDI environments drive storage differently than server workloads – interactive latency is far more important than throughput, economics drive higher consolidation ratios and desktop workloads are prone to time synchronized IO spikes.
One technology that arose to mitigate these storage costs and make the price per virtual desktop more palatable was non-persistent (aka floating or stateless) desktops. Persistent or full-clone desktops are comprised of an entire virtual PC image and can more or less be managed with existing PC life-cycle management (PCLM) tools. Conversely, non-persistent or linked-clone desktops comprise a gold master image that serves as the boot image for multiple desktops and is disposable. How did non-persistent desktops address VDI storage cost problems? By dramatically shrinking the capacity requirements. But disposable, non-customizable desktops, while sometimes useful, are too constrained for many mainstream use cases and require different management tools and strategies than traditional PCLM.
Enter image management technologies that make linked-clone desktops more usable and manageable, such as layer-based image management and persona management. Needless to say, all these additional requirements and technologies made VDI deployments confusingly complex. (Not the topic for this post, but as the enterprise becomes increasingly heterogeneous between Macs, mobile and SaaS applications, I’d make the observation that I expect the perceived business value of well-managed legacy Windows desktops to be decreasing and becoming more optional.)
But storage didn’t stand still with the VDI opportunity; array-based data deduplication arose and matured as an approach to address the capacity cost problems of dedicated full-clone desktops. Initially, NetApp® was a popular choice because of its ASIS background dedup and FlexClone® technologies. More recently, in-line dedup from hybrid and all-flash storage arrays such as Pure Storage and EMC®’s XtremIO can deliver even higher consolidations than the VMware linked-clone technology does and without all the image management compromises.
While I was at VMware, I observed the pendulum swing several times back and forth between these 2 basic models of desktop images and management; cost-effective, reusable pools of stateless desktops vs. feature-rich, stateful dedicated desktops. Different partners firmly advocated for one approach or the other based on what problem their technology solved while customers were evenly split between the two models depending on environment and use case. Frequently the customer outcome eventually came down to the desired image and resource management strategy, not the storage design.
What about performance? Performance expectations, in particular those surrounding interactive latency, weren’t standing still either. Besides cost, the other big impediment to VDI deployments was end user experience; and nothing ruins a VDI user experience more than jagged, high latency interactive response time, regardless of whether the root cause is remote graphics protocol latency or slow storage I/O. VDI users tend to become vocal when their productivity is impacted by frequently having to wait for a lagging window to catch up.
Time and again I saw successful proof of concepts failing once the deployment grew beyond the initial pilot scale due to end user complaints about performance that were directly caused by undersized storage performance in the name of holding down costs per desktop. Meanwhile, expectations continue to grow. My MacBook Air is all SSD, not hard drives and has much lower I/O latency than my older laptops did. That peppiness has become the new normal and is what I would expect/desire from a virtual desktop. The bar has been raised! How do we cost effectively meet that level of expectation?
So what is the solution to meeting all of these VDI storage requirements?
Flash technologies, primarily contained within hybrid and all-flash arrays, can mitigate performance problems with VDI. When trying to balance cost, performance and capacity (which are all real VDI requirements) inline dedup is close to a must for the cost/capacity part of the equation, although initially VMware VSAN® is trying to make a go without it. Another attractive strategy that cost effectively maximizes use of existing storage assets is to separate storage performance from capacity and optimize them independently. The cheapest capacity is likely the storage you already own!
When looking to optimize VDI user experience at low cost, leveraging existing storage coupled with a storage acceleration platform can be a highly attractive approach to consider. Infinio, my current company, has an ideally suited technology for this use case. Like other storage acceleration solutions, our software provides additional performance to existing (or newer, capacity-optimized) storage. And our unique ability to make use of nominal, highly optimized amounts of deduplicated memory offers a solution that provides maximum VDI user experience at the lowest cost.
Choosing the proper storage for VDI deployments can be complex. I hope to have clarified some of the tradeoffs in optimizing both user experience and cost per virtual desktop.