What are the differences between storage scalability and elasticity?
Storage scalability is commonly measured in terms of capacity and performance. Capacity scalability is how much capacity the storage system can address, manage and support with acceptable performance. There are several storage systems that can address a lot of capacity as long as acceptable performance isn't a requirement. There are others that can address, support and manage even more capacity while maintaining acceptable performance regardless of the scale. Performance scalability is the storage system's ability to scale performance with or without capacity in the form of IOPS and/or throughput. These are terms most storage pros are familiar with.
However, elasticity is a relatively new storage concept. It originated with grid technologies, server virtualization and the cloud. It refers to the capability of a storage system to adapt to variable workload changes by allocating and deallocating resources as required by each application. That allocation and deallocation occurs in real-time and is based on defaults or pre-established policies -- without human intervention. The key issue is the ability to respond to both increased and decreased demands as they're happening autonomically. This is especially important for storage compute, storage memory and storage caching.
Storage resource demand is, for the most part, a lumpy, non-linear process with imperfect predictability -- there are always ebbs and flows. Not all applications require peak performance all the time. Some applications may require peak resources at the end of a quarter or during the early morning hours. Others may not require peak resources except during a specific quarter during the year, such as retail. Elasticity allows the system to respond to the "lumpiness" of the demand cost-effectively. When a storage system does not have elasticity, the storage admin must plan for the worst and build out that storage system for the very peak of demand for all applications concurrently. Doing so enables smooth operations during peak demand, but it does require overprovisioning and buying excessive processing, memory, cache and capacity. This is extremely inefficient and costly.
Finally, if a storage system is elastic, then the feature is built into the software. If the elasticity is in the hypervisor -- VMware VSAN -- it's also built-in, but with more limitations.
Dig Deeper on Storage architecture and strategy
Related Q&A from Marc Staimer
Network File System and Common Internet File System/Server Message Block were designed to work with any operating system, but NFS remains dominant in... Continue Reading
Latency in object stores that stems from a large amount of metadata means the technology is better suited to non-transactional data. Continue Reading
Eventual consistency in object stores can be an issue because object storage is spread over many nodes and up-to-date data may not always be ... Continue Reading