Quality of service is a critical enabling technology for enterprises and service providers that want to deliver consistent primary storage performance to business-critical applications in a multitenant or enterprise infrastructure. For a broad range of business-critical applications, the important metrics are consistent and predictable performance. Unfortunately, neither consistency nor predictability are easily achievable with traditional storage arrays. The type of applications that require primary storage services typically demand higher levels of performance than are readily available from traditional storage infrastructures. However, simply providing raw performance is often not the only objective in these use cases.
QoS features exist in everything from network devices to hypervisors to storage. When multiple workloads share a limited resource, QoS helps provide control over how that resource is shared and prevents the noisiest neighbor (application) from disrupting the performance of all the other applications on the same system. QoS features, like rate limiting, prioritization, and tiering, are effective only when the scope of the problem remains small. When storage is deployed at scale, these techniques quickly fail. In fact, these features are all “bolt-on” technologies that attempt to overcome limitations in storage architectures that were never designed to deliver QoS in the first place.