Software-defined storage (SDS) is a storage architecture that separates storage software from its hardware. Unlike traditional network-attached storage (NAS) or storage area network (SAN) systems, SDS is generally designed to perform on any industry-standard or x86 system, removing the software’s dependence on proprietary hardware.
Decoupling storage software from its hardware allows you to expand your storage capacity as you see fit, when you see fit, instead of scrambling to add another piece of proprietary hardware. It also allows you to upgrade or downgrade hardware whenever you want. Basically, SDS puts enormous flexibility in your hands.
Here’s the gist. Let’s say you have a bunch of different x86 servers. Each has a different storage capacity, and each needs a different kind of storage software to work. SDS allows you to remove the storage capacity on these inflexible pieces of hardware and put it all in a place that’s infinitely flexible—and scalable. With SDS, you can grow your storage capacity nearly instantly, making it cost effective as well as flexible and scalable. But that doesn’t make SDS a cloud (more on that later).
SDS is part of a larger ecosystem called hyperconverged infrastructure (loosely defined as software-defined everything) where all software is separated from all hardware. That division grants you the freedom to choose which hardware you purchase and how much storage you really need.
In most cases, SDS should have:
- Automation: Simplified management that keeps costs down.
- Standard interfaces: An application programming interface (API) for management and maintenance of storage devices and services.
- A virtualized data path: Block, file, and object interfaces that support applications written to these interfaces.
- Scalability: The ability to scale out storage infrastructure without impeding performance.
- Transparency: The ability to monitor and manage storage use while knowing what resources are available and at what costs.
Old-school, traditional storage is monolithic. It’s sold as a bundle of hardware (often industry standard) and proprietary software. But the usefulness of SDS lies in its independence from any specific hardware.
SDS does not separate the storage itself from the hardware. Rather, SDS is merely a layer of your technology stack—one that provides many services using industry-standard servers instead of proprietary hardware. Basically, SDS abstracts the things that control storage requests, not what’s actually stored. It’s a software layer between the physical storage and the data request—allowing you to manipulate how and where data is stored. SDS controller software provides storage access services, networking, and connectivity. The most important characteristic of SDS controller software is that it makes no assumptions about the capacity or usefulness of the underlying hardware.
- You can choose the hardware that will run your storage services. The SDS you choose doesn’t have to come from the same company that sold you the hardware. You can use any commodity or x86 server to build an SDS-based storage infrastructure. That means you can maximize the capacity of your existing hardware as your storage needs grow.
- It’s cost efficient. SDS is distributed and scales out instead of scaling up, allowing you to adjust capacity and performance independently.
- You can join many data sources to build your storage infrastructure. You can network object platforms, external disk systems, disk or flash resources, virtual servers, and cloud-based resources (even data dedicated to workloads) to create a unified storage volume.
- SDS can adjust automatically based on your capacity needs. Because SDS doesn't rely on hardware, automation in SDS is, well, automatic—in the sense that it can pull from any storage volume it’s connected to. The storage system can adjust to data needs and performance without administrator intervention, new connections, or new hardware.
- The sky’s the limit. Traditional storage area networks are limited to the amount of nodes (devices with assigned IP addresses) they can use. SDS, by its very definition, is not similarly limited. That means—theoretically—that it’s infinitely scalable.
SDS can run on any industry-standard servers and disks—and that’s the point. Unlike other types of storage, SDS depends more on its own software than the hardware it sits on. SDS assumes that the hardware underneath—regardless of that hardware’s cost or age—will eventually fail, and so it plans for that failure by distributing workloads across the infrastructure.
This also means SDS can run both on the server’s standard operating system and in a virtual machine (VM). Some SDS products can even run across containers, which allows users to manage applications and storage services through 1 interface, regardless of the infrastructure that container lives in (bare metal, virtual, or cloud).
SDS is not storage virtualization
Both SDS and storage virtualization involve abstracting something from storage hardware, but the concepts aren’t the same. Storage virtualization allows the capacity of many storage devices to be pooled so it looks like all the storage is sitting on one device. SDS, in contrast, abstracts the storage services, or storage software, and separates them from the device itself.
SDS is not a cloud
Clouds are pools of virtual resources that can be accessed on demand through self-service portals, facilitated by management and automation software. SDS shares many of these qualities, so it’s easy to think SDS is a cloud. But SDS is merely a layer that helps feed data into a cloud, working within a cloud environment to provide unified storage. That said, SDS does have cloud storage features, like networked access and management and automation software that allows you to quickly scale and provide metered service—features that almost put SDS in the same family as cloud storage.
SDS is not NAS—per se
It’s not that SDS isn’t attached to a network. It still requires some type of networked connection, just like any enterprise storage system. It’s just that NAS organizes and shares files while SDS controls the storage volume itself. NAS can be deployed on top of an SDS layer (Red Hat® Gluster Storage is essentially a NAS interface), but SDS separates the hardware’s physical storage volumes from the control system.
SDS sounds good, right? As your storage needs evolve, SDS allows enterprises like yours to put storage volumes to work without worrying about whether those volumes integrate with other systems. Red Hat Data Services solutions are all built on open source, meaning you have legions of developers, partners, and customers working together to solve your challenges. Our technology—used daily by Fortune 500 companies around the globe—draws on decades of open source knowledge and expertise. With its inherent freedom, openness, and cost-effectiveness, our storage solutions help you do so much more, with a whole lot less.