VDI shops have many storage options to keep up with the demands of their workloads, including all-flash arrays, hybrid storage systems and flash-based caching.
It can be difficult to determine which storage system is best for your organization. Any array that supports VDI must be able to handle daily boot storms and heavy write operations. An all-flash array can deliver excellent performance, but it also comes with a hefty price tag. Other systems are cheaper, but they might not meet performance requirements.
It's important to consider the long and short-term expenses of a flash array, or any storage system. The product you choose might be a cost-effective strategy today, but what about a year from now? Three years from now? No matter what, you have to do your homework before deciding, which includes learning the benefits and downfalls of your options.
It can be difficult for traditional hard disk drive (HDD) systems to handle boot storms and heavy read operations, especially where too many desktops rely on the same disks. That's where all-flash arrays come in. They can deliver the high rates of fluctuating IOPS that are necessary to support VDI workloads. Designed with IOPS in mind, all-flash arrays can achieve maximum read IOPS that range from 200,000 to 9 million, far surpassing anything that HDD arrays can deliver.
Without the mechanical limitations inherent in HDD, an all-flash array can support thousands of virtual desktops, rather than hundreds. But the huge performance comes at a price, and to offset the cost, IT teams often load more desktops on an array than is practical. You should also consider the resources it takes to implement and migrate to the new system, and train the administrators who will run the operations. Additionally, there are future costs of replacing flash memory; it will inevitably wear out.
Another issue to contend with is that some all-flash storage does not support enterprise features such as snapshots, so you might need to implement additional validation processes. That said, you can use flash storage in conjunction with technologies such as deduplication or desktop layering to mitigate storage costs.
Hybrid storage systems
The high costs of all-flash arrays lead many organizations to hybrid storage options, which let you use some of the systems you may already have in place. A hybrid system can support both HDD and solid state drive (SSD) arrays, which makes it possible to gradually introduce flash.
Hybrid storage systems support a tiering process that stores frequently accessed data on the SSD arrays and the "cold" data on the HDD arrays. Hybrid systems can differ in how they approach the tiering process and how effective that approach might be, but many options still deliver surprising performance improvements over HDD alone; the amount of data that users access regularly often represents only a small percentage of the total.
With a hybrid system, you must also contend with some of the same challenges that come with all-flash arrays. You must have the resources to implement and support a new system, and you should be prepared to replace flash components that wear out. Plus, you add a layer of complexity to your storage system that is not there with SSD or HDD alone.
You could also implement flash caching on the front end of your existing HDD systems. Unlike all-flash and hybrid systems, caching does not use flash to persist data to disk. It maintains a temporary copy of the most active data in flash memory to fulfill requests faster.
A flash cache might handle read or write operations, or both. For read operations, the caching mechanism uses predictive algorithms to determine which data to copy into cache. It often bases the decision on data that has been recently read multiple times, so it can require a few days to warm up before it can determine the best data to cache.
Caching for write operations is generally used to buffer incoming writes to optimize them before committing the data to disk. This tends to be most suited for data bursts, rather than for sustained writes that can fill up the cache and undermine its benefits.
The biggest advantages of flash caching are that you don't have to do a costly upgrade, and only a small percentage of the stored data actually needs to be cached. But adding flash caching also adds another layer of complexity to your storage. You must ensure your system is optimized to write to flash -- so you don't incur unnecessary wear -- and you must make sure the correct data is cached to maximize performance. If the flash cache is not properly tuned to meet your specific VDI workloads, it might provide little benefit.
It's possible to implement the caching mechanism on the server, rather than on the storage system's front end. With server-side caching, the flash device is connected to the server's local PCI bus. The most-accessed data is then copied to the server cache, which helps avoid the network latencies associated with other storage systems. This type of caching tends to focus on read operations, but also frees up the storage network to focus on writes.
Compared to all-flash and hybrid systems, server-side caching is a relatively inexpensive approach to boosting VDI performance. It also tends to be easier to implement than the other options, and it causes fewer disruptions in operations. You don't have to migrate data to a new array, or coordinate data between different types of arrays. Plus, server-side caching usually results in lower latency rates than the other flash-based options.
Server-side caching relies on algorithms to determine what data should be cached, and if those algorithms are not in sync with your VDI software, the data cached might be less than optimal, which wastes important flash resources. In addition, server-side caches are not orchestrated across the server tier, which can result in the same data being cached in multiple locations.
Storage for VDI: Direct-attached vs. shared
Choosing among VDI storage options
What to look for in a VDI storage system