Popular clouds like Amazon AWS and Microsoft Azure are console based orchestrators, enabling people to spin and administer the needed infrastructure themselves. They also come with a variety of features and add-ons, making the end solution very attractive.
Quite often, due to their scalability, these clouds appear like a massive computing resource, where performance limits are hard to reach.
One common performance issue people face relates to disk or storage performance.
During various tests, AWS or Azure have been seen, for example, doing thousands of IOPS and hundreds MBps of disk throughput at low latency. So one should expect that these environments may be the best place to run high performance virtual servers like SQL servers, which generally demand high IOPS and throughput at low latency.
The storage story: capacity and IO, these two are “not very good friends”
When it comes to storage, there will always be a concern that IO will be exhausted before space. From a business perspective, this will result in a waste of resources. Due to the automation introduced by the cloud consoles and the power the customers have to provision at will, if left without rules and caps, the entire environment will become oversubscribed with degraded performance as a result, leaving cloud providers struggling to deliver the IO without adding more unused capacity.
It is either the IOPS count or throughput that kills the storage. The throughput, if the storage is network based and not local, will also affect the network switches requiring fast switches with big buffers when throughput increases and bursts. Read More