Defining Software-Defined Storage

Salvatore DeSimone
Vice President & Chief Technology Officer, Emerging Technologies

In an age when more data—and more kinds of data—is being generated than ever before, Software Defined Storage gives enterprises a path to effectively address this explosive growth.

Of course, as marketing machines have engaged in force the last several years it has become increasingly difficult to understand what, exactly, is meant by Software Defined Storage. So in order to better understand how Software Defined Storage can help, let’s define the term in more detail.

It’s not just about software.

Perhaps the most important thing to understand about Software Defined Storage is that it’s not just about software. After all, traditional storage arrays have always embedded sophisticated software stacks. And storage managers have always used software to perform management tasks like moving files and provisioning volumes. Furthermore, extracting software from a traditional array and re-packaging it as a software product does not mean you have Software Defined Storage. So what’s the deal?

The fundamental concept behind Software Defined Storage is the intelligent application of distributed computing techniquesto the design of storage systems. If you combine the power of distributed computing with the use of commodity hardware plus innovative storage optimizations for space efficiency, performance efficiency, manageability, and scale, then you have the essential ingredients necessary to cost-effectively manage explosive data growth: (1) elastic, scale-out, software storage systems designed to run on commodity hardware, (2) with in-place, multi-protocol data access, (3) with built-in geo replication mechanisms, and (4) all wrapped in a simplified and far more scalable management experience.

Software defined storage isn’t just about software. It’s what software can do.

The net effect for enterprises is capital and operational cost savings due to a more flexible, more agile, and more scalable storage management experience, and a simpler and more modern consumption model for application teams.

This is Software Defined Storage.

It’s about elasticity, scale, and simplicity—with no compromises.

When we talk about elastic scale-out, we are referring to the ability to incrementally add capacity to a storage system simply by adding more commodity nodes. As demand increases, such an elastic storage system will simply and predictably grow to meet changing demands. Contrast this with traditional storage arrays which, when the limit of a single system is reached, require you to add more systems each of which is managed independently. This then introduces management complexity such as having to migrate data between systems or having to develop complex provisioning logic to determine on which system to place new workloads. The scale-out approach of elastically expanding one logical system is a simpler way to address rapid data growth.

While elastic scale-out gives a mechanism to store more quantities of data than ever, multi-protocol access addresses the issue of storing more kinds of data—and to efficiently access that data in-place from a variety of applications. A multi-protocol storage system is one that provides access to the same underlying data through one or more protocol interfaces. The use of multiple protocol interfaces is appropriate for storingand processing unstructured data—audio streams, social data, log files, telemetry, and so forth—that makes up so much of the explosive data growth. Such platforms can easily accommodate data ingest workflows utilizing network-friendly protocols such as REST, while simultaneously allowing frameworks such as Hadoop and Spark to analyze this data in place using access protocols, such as HDFS, optimized for streaming data processing.

Elastic scale-out and multi-protocol are key capabilities for new storage systems designed for software defined, but what about my existing storage estate? Is software defined applicable to environment? The answer is yes, but in a different way. Rather than solving problems by introducing a new storage infrastructure, the final element of a Software Defined Storage ecosystem solves problems through management and automation capabilities that, to an extent, allow you to manage a traditional storage environment as if it were software defined.

This is accomplished by applying the tried-and-true software defined management concepts of abstraction, resource pooling, and policy-driven automation to traditional storage environments. Such management components—typically referred to as Software Defined Storage controllers—automate many complex storage management processes for traditional infrastructures: provisioning, protection, migration, and data re-purposing to name a few. This make makes it possible for IT to lower operating costs for their existing storage estate while at the same time improving service quality and reducing delivery time.

Sometimes hardware is included.

At its core, Software Defined Storage systemsare designed to run independent of hardware. But that does not mean it must be acquired as a software-only solution. While larger enterprises may readily go out and buy storage software and construct their own Software Defined Storage systems, this may not be a practical option for other companies. To meet the broad needs of storage consumers, Software Defined Storage may be optionally bundled with commodity hardware in an appliance form factor: this gives all the benefit of the software defined stack but with a purchasing experience closer to a traditional array.

So if the question is can you acquire Software Defined Storage in the form of software or as part of a hardware appliance, the answer is “yes”—because you should be able to choose the option best suited to your needs.

EMC’s suite of Software Defined Storage solutions address your growing data network.

It tackles the toughest data center challenge.

Software defined storage is one element of the software defined data center. The other two are software defined compute (think: virtualization or containerization) and software defined networking. But storage is the last to emerge—in part because it is the most complex. Designing a system that reliably stores your data with scale-out, multi-protocol access, geo distribution, in-place analytics capabilities, and with a simple management experience is a very hard problem. This is why it has taken storage vendors time to deliver on the promise.

With Software Defined Storage, enterprises can create giant geo-distributed pools of storage that grow as large as necessary with very little effort on the part of IT and its users. The economic benefits are unprecedented, too, as commodity-based platforms increasingly provide the foundation for next generation storage, replacing more costly purpose-built storage arrays.

And it all starts with understanding what we mean when we talk about Software Defined Storage: it’s an approach to storage system design using the principles of distributed computing that delivers elastic, scale-out, multi-protocol, and geo-distributed capabilities all with a simplified management experience. This is how we will all store more data, and more kinds of data, than we have ever done before.

Learn more about EMC’s Software Defined Storage Solutions.