Decoupling storage capacity from performance
ACME Widgets has a storage performance problem
ACME Widget’s data center setup (2 EMC arrays – 800 x 24 10K SAS per array – RAID 6 – 600 GB Fast Cache per array) gives them 16K IOPS. But their requirements are rapidly growing and ACME’s sys admin is facing increasing pressure to deliver quality services to the internal team and external partners in a cost effective way. Their storage performance requirements have already jumped up to 22K IOPS and promise to touch 36K IOPS in about two years.
ACME needs to revamp their data center with a limited budget, and they need to do it quickly. What should their sys admin do? We’ll see below, how they begin their search with two commonly known solutions, only to find them sub-optimal, and finally decide to revamp with a software defined solution using an in-server cache.
Adding spindles to increase performance.
Since ACME already uses spindle based storage it’s natural to explore solutions that will help them utilize existing IT investments. A common solution is to add more spindles. If 24 spindles with raid6 yield 16K IOPS then 36 spindles with the same configuration will typically yield 24K IOPS. More spindles results in more heads; more heads lead to a greater number of parallel moving parts and more parallel moving parts translate to better performance.
It’s not unusual for an admin to view this solution favorably. After all, it protects existing investments and produces more IOPS. But there’s a caveat. With spindles comes capacity. More spindles…. More capacity. While excess capacity is not an issue, most data centers don’t have a capacity problem; they only have a performance problem. The excess capacity is largely redundant.
Besides excess capacity, adding spindles brings with it a few more problems. It also increases power consumption because of increased moving parts. If ACME decides to go this route, not only will they end up with redundant storage, they will also have to shell out more dollars every month to the power company.
Replace spindles with an All-Flash array
Any logical person will think, as did ACME’s sys admin:
if we can’t add spindles then let’s replace them with something faster.
All-Flash arrays are being projected nowadays as an effective solution for performance problems. They provide IOPS in the range of hundreds of thousands; they prevent the problem of excess capacity; they reduce power consumption; and occupy less space on the data center racks.
Who can argue against that this list? Probably a CFO can. Because IOPS in the range of hundreds of thousands come with a price tag in about the same range. And while no one dislikes a fat pipe, how many people really need it? With a present requirement of 22K IOPS and a projected requirement of about 36K IOPS after two years, ACME will have close to 200K IOPS simply idling away for a fairly long time.
As a technology Flash, is still rapidly changing in terms of pricing and evolution. It’s usually not a good idea to invest heavily in a such a technology, especially when it’s not needed. Anyone who can differ an All-Flash upgrade will benefit a lot by pushing it further a few years.
The correct solution is to add performance without excess capacity
Both the solutions we have discussed above are sub-optimal. One creates redundant capacity and the other redundant performance. One reason these approaches don’t work is because they tightly couple capacity with performance, which are in reality independent factors, and should be managed as such. In an ideal world, we should be able to increase performance in an iterative way without touching capacity.
This is exactly what our solution, PrimaryIO APA, does. At PrimaryIO we decouple performance from capacity with a software defined solution which works in tandem with an in-server cache. The software defined layer, which works with VMWare’s VAIO API, identifies the active IO data set and caches it in the in-server SSD cache to improve performance without changing anything in the storage array.
It also works in a graded manner by giving you exactly the amount of performance you need with the ability to increment as your requirements evolve. If you need more performance all you need to do is increase the cache size. If you add more servers, they too can be installed with SSD caches, allowing the performance to scale-up with the infrastructure.
PrimaryIO APA will allow you to scale your performance as easily as you change the temperature on your air -conditioner to match the environment. Our solution is simple, economical, non-disruptive, and iterative.
Does it sound interesting? Is this exactly what your data center needs? Contact us at firstname.lastname@example.org to find out how we can help solve your performance problems.