Scale-out storage is a network-attached storage (NAS) architecture in which the total amount of disk space can be expanded through the addition of devices in connected arrays with their own resources.
In a scale-out system, new hardware can be added and configured as the need arises. When a scale-out system reaches its storage limit, another array can be added to expand the system capacity. Scale-out storage can harness the extra storage added across arrays and also use added devices to increase network storage capacity, adding performance and addressing the need for additional storage.
Before scale-out storage became popular, enterprises often purchased storage arrays much larger than needed in order to ensure that plenty of disk space would be available for future expansion. If that expansion never occurred or requirements turned out to be less than anticipated, much of the originally purchased disk space went to waste. With a scale-out architecture, the initial investment can be more modest to begin with because it's not necessary to foresee long-term need -- if the storage requirements increase beyond expectations, new arrays can be added as needed, essentially without limit.
Vertical vs. horizontal scalability
Scalability is the capacity for some type of system to continue to function properly when it has been changed in size or volume in order to meet a user need. In some contexts, scalability refers to the ability to meet higher or lower demands as required. In a storage context, however, rescaling usually refers to adapting to respond to a demand for increased capacity. There are two main approaches to achieving that.
The older scale-up approach is an example of vertical scalability. Vertical scalability is the ability to increase the capacity of existing hardware or software by adding resources to a physical system - for example, adding processing power to a server to make it faster. In the case of storage systems, it means adding more devices, such as disk drives, to an existing system when more capacity is required.
On the other hand, horizontal scalability is the ability to connect multiple entities so that they work as a single logical unit. In the case of scale-out storage, there could be many nodes, separated geographically.
The limitations of scale-up storage
Traditional NAS is sometimes referred to as scale-up NAS because storage capacity can only be upgraded (scaled up) by adding additional systems to an existing architecture. A scale-up system consists of one or two controllers, known as NAS heads, which have access to pre-set amounts of CPU and memory and a pre-determined number of drive slots. Devices in scale-up NAS share system resources and the control function does not increase along with the storage capacity, which means that performance tends to degrade as more storage is added. Once the NAS system reaches its limits, capacity and performance can only be increased through the addition of a new, separately managed system.
Scale-out storage architecture
In the diagram above, the scale-out system illustrated only includes a single added cluster. In reality, clusters can be added almost without limits as requirements dictate.
Each device (node) includes storage capacity, which may be in the form of multiple drive spindles, and may have its own processing power and I/O (input/output) bandwidth. The inclusion of these resources means that as storage capacity increases, performance also increases.
Scale-out NAS grows by adding clustered nodes. These are often x86 servers with a special operating system and storage connected through an external network. Nodes may be connected for intercommunication through a high-speed backplane or a network. Users administer the cluster as a single system and manage the data through a global namespace or distributed file system (DFS), so they don’t have to worry about the actual physical location of the data.
See a brief history of data storage and an introduction to scale-out storage in Peter Larson's video: