DCIG recently released two Buyer’s Guides on Hybrid Storage Arrays – the DCIG 2015-16 SME Hybrid Storage Array and the DCIG 2015-16 Midsize Enterprise Hybrid Storage Array – that examine many of the features that hybrid storage arrays offer. Yet what these Guides can only do at a high level is reveal how certain features are implemented on hybrid storage arrays without getting into any real detail in terms of how they are implemented. One such feature is Quality of Service.
The availability of Quality of Service or QoS as a feature on hybrid storage arrays is one that DCIG views as critical for these arrays to possess. As they are often deployed in highly virtualized environments and will need to support mixed application workloads, QoS gives organizations the flexibility to prioritize workloads on the hybrid storage array to provide predictable and controllable levels of performance for these various workloads.
While this concept is fairly straightforward to articulate, it is surprisingly difficult to successfully execute upon in a manner that satisfies every situation that organizations are likely to encounter in their environment. This is illustrated by the 13 different ways that QoS is implemented on the 27 hybrid storage arrays that were evaluated in its 2015-16 Midsize Enterprise Hybrid Storage Array Buyer’s Guide.
Of these arrays, fully 30% of these 27 hybrid storage arrays that DCIG evaluated offered no QoS functionality whatsoever. Translated, 13 different QoS options were available on the remaining 20 or so hybrid storage arrays. In other words, it can be said with a high degree of certainty that nearly every vendor takes a slight different tact when implementing QoS on their hybrid storage array.
Despite all of the differences between how QoS is implemented on these hybrid storage arrays, there are some similarities in how QoS is made available. Consider the following chart that shows the five most common ways in which QoS is available on midsize hybrid storage array models (DCIG defines midsize as those hybrid storage arrays scaling up to but not including 1 PB of capacity.)
The most common way that QoS is implemented on hybrid storage arrays is by auto-balancing I/O across all VMs, volumes or LUNs with just under 60% of arrays supporting this option. This QoS technique ensures that I/Os from all attached applications are serviced equally to provide some guarantee of performance. The drawback with this technique is that it treats I/O from all applications as equal and fails to prioritize and service I/O from higher priority applications over lower priority applications. While this approach is better than not having QoS at all, it may not meet the needs of organizations that need their hybrid storage array to handle the workloads of dozens or even hundreds of applications with varying priorities.
Predefined service levels goes a step further in the direction toward making sure that I/Os of higher priority applications are serviced ahead of lower priority applications. By providing Gold, Silver and Bronze service levels and assigning each VM, volume or LUN to one of these service levels, I/Os from applications in the Gold service level are serviced and given priority over those with lower service levels. However here again, certain issues can arise. Specifically, I/Os from lower priority applications may not be serviced in a reasonable amount of time as I/Os from higher priority applications crowd them out.
This challenge has given rise to a number of QoS features that take various approaches to ensure even I/O from lower priority applications are given attention in a timely manner. QoS features such as Minimum IOPs, Maximum IOPs and Max Response Times take different approaches to take care of these I/Os from lower priority applications.
The Minimum IOPS QoS feature does it best to ensure that a performance-intensive though lower priority application always gets a certain amount of array resources to maintain a minimum number of IOPs. The Maximum IOPs feature tries to accomplish the same task though it takes a slightly different means. It allows a lower priority application to essentially run unchecked in terms of generating IOPs until it reaches a certain maximum threshold. At that point, this QoS feature on the hybrid storage array begins to throttle and limit the number of IOPs to the predefined maximum number.
A third way hybrid storage arrays attempt to ensure even IOPs from lower priority apps are serviced is to use Max Response Time. In this scenario, I/Os from lower priority applications are put into a queue where they must wait up to a certain length of time (say 5-10 milliseconds) before they are serviced. Since a growing number of hybrid storage arrays service I/Os in 1 millisecond of time or less, this technique frees the hybrid storage array to potentially service up to 10 I/Os from a higher priority application before it services the I/O from a lower priority application.
The big takeaways for organizations evaluating hybrid storage arrays are two-fold. First, if you expect your hybrid storage array to host dozens or even hundreds of VMs, selecting a hybrid storage array that supports QoS becomes almost a necessity. Second, the more QoS options that are available on a hybrid storage array, the better the odds are that you will be deliver the level of QoS that the various applications hosted on the hybrid storage array need.
To get more information and see how many QoS options are supported on each hybrid storage array, end-users may register and download the latest DCIG 2015-16 Midsize Enterprise Hybrid Storage Array Buyer’s Guides at no charge by following this link to the DCIG Analysis Portal. I also take a look at QoS and other features on Hybrid Storage Arrays on this webinar that I recorded yesterday with NexGen Storage. You may view that webinar by following this link.