1xpert - Fotolia


Choosing between scale-up and scale-out all-flash arrays

Eric Slack of Storage Switzerland compares scale-up and scale-out arrays in this tip, and explains the use cases for each.

Flash is added to storage systems in a number of ways in order to increase performance, especially IOPS. Caching and tiering maximizes the use of flash by combining it with traditional disk drives. But for some workloads, these methods can create performance inconsistency when the desired data is still on disk and flash performance is needed. For these situations, all-flash arrays can be a better idea.

All-flash arrays come in scale-up and scale-out configurations. This tip will look at the differences between these two architectures and how to decide between them when choosing an all-flash array.

Scale-up refers to an architecture that uses a single (or dual redundant) controller feeding an expandable amount of storage media. This was the original enterprise disk array design that's supported the movement from DAS to SAN storage for almost 20 years and is still used by most array vendors today. However, as arrays expanded and capacities grew, scale-up architectures hit a bottleneck, since all I/O went through the same controller. And the total performance of these controllers was limited since they were designed to support spinning disk drives that could handle only a couple hundred IOPS each.

Scale-up systems could also be inefficient, as users found themselves hitting the performance maximum of the controller long before they hit the capacity maximum of the disk drives it could physically support.

Scale-out architectures use a topology of modules or nodes, each of which has storage capacity and a controller, enabling performance to scale as the capacity of the cluster grows. They also allow I/O to pass through multiple controllers, reducing the bottleneck of the scale-up's "monolithic" architecture. However, at the low end, they can be more expensive than scale-up systems since a minimum of three nodes are typically required. They also require high amounts of parallelism to achieve their reported performance numbers.

Scale up all-flash

Scale-up all-flash systems run all I/O through a single set of controllers, like disk arrays do. But all-flash controllers are designed to support the much higher IOPS rates that flash can generate, so performance bottlenecks aren't as much of an issue as with scale-up disk arrays. Also, flash storage densities (gigabytes per rack unit) are much higher than spinning disk, so a scale-up all-flash array is less likely to run out of capacity than a disk array.

Finally, flash systems are not typically used for capacity-centric environments like archives and unstructured data. Their primary use case remains virtualized infrastructures (server and desktop), as well as database environments.

Scale-out all flash

Scale-out all-flash arrays put a controller and storage media into the same modular configuration as scale-out spinning disk systems do, giving them the ability to scale the capacity of the system to the highest levels available. This distributed controller architecture also enables the system to support more workloads since each module can process I/Os independently.

How to choose

Generally, scale-up offers the greatest single-volume IOPS, making it better for environments that need the highest level of performance for a limited number of workloads or application servers. For many companies, this is a large virtual server environment or a cluster of database servers. But given the high levels of performance and storage density available from flash, scale-up all-flash systems are appropriate for more and more use cases. Several scale-up flash systems are actually reporting half-petabyte capacities while maintaining full performance.

Scale-out generally appeals to companies that still expect their demand for all-flash capacity to outgrow even the considerable capacities available from current scale-up systems, or that need the distributed connectivity that scale-out affords. One example that encompasses both these requirements is hosting environments where large numbers of client systems are sharing the flash array in a multi-tenant fashion. In these situations, maximum flexibility is required to stay ahead of an often-dynamic demand curve. That would be the flexibility to add capacity, processing power and connectivity, a characteristic that scale-out all-flash arrays certainly have. Several scale-out flash companies have focused on this market by adding specific multi-tenant functionality to their software.

Scale up and out

Companies typically buy flash products in response to a specific performance problem with an application that is especially critical. For this use case, a scale-up system may be fine. Again, flash is typically a "point product," bought to solve a specific performance problem, and a scale-up system is easy to implement.

However, if the product becomes a regular production array and users get more comfortable with its operation, they typically look for other applications to accelerate. This means adding more workloads to the system and increasing the number of physical connections as well as overall capacity. In this scenario, if the company can see itself adding enough systems and needing enough capacity, a scale-out all-flash system may be a better fit.

There are products out now that can actually scale up and scale out. Users can add capacity to a single system, then cluster multiple systems in a scale-out fashion, providing the best of both worlds.


As flash gains penetration in the marketplace, companies are finding a need for shared flash storage products that don't rely on caching or tiering. To address this need, more vendors are coming out with all-flash arrays, in both scale-up and scale-out configurations. In general, scale-up all-flash arrays will fit a broader range of use cases than scale-out arrays will, and there are more products to choose from. But for the use cases that really need the flexibility to scale potential capacity and performance dramatically, scale-out all-flash arrays may offer a better product, especially if there are plenty of parallel workloads.

About the author:
Eric Slack is an analyst at Storage Switzerland, an IT analyst firm focused on storage and virtualization.

Next Steps

The movement to 100% flash SSD storage has begun

Enterprise flash storage grows up

Debating performance vs. function of all-flash storage arrays

Dig Deeper on All-flash arrays