What is software-defined storage?
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 that’s 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.
How does software-defined storage work?
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.
What are the benefits of software-defined storage?
- 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.
What can you do with software-defined storage?
Get more out of your container applications by running persistent storage within them; or get more out of your storage by running SDS within containers.
Support private, public, and hybrid cloud architectures with the agility and scalability they require.
Analyze huge lakes of data quickly and securely for better business insights.
Eliminate a discrete storage tier and combine with virtualized server instances across your organization.
Store, back up, and retrieve petabytes of data flexibly and reliably.
Expand your rich-media storage every day—because you’ll always need more.
What do you need to run software-defined storage?
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).
What software-defined storage isn't
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.
The future of software-defined storage
As the Internet of Things, mobile connectivity, social media, and enterprises grow, so will the need for more storage (“This is enough storage,” said nobody—ever). This is a consistent point of customer pain, encompassing challenges like supporting rapid capacity growth, forecasting use, achieving cost savings, and staffing sufficiently. As storage needs grow, customers will look to cut manual management and increase automation. SDS allows enterprises like yours to put storage volumes to work without worrying about how well those volumes integrate with other systems. With its inherent freedom, openness, and cost-effectiveness, SDS helps you do so much more, with a whole lot less.
A software-defined file storage platform to handle high-capacity tasks like backup and archival as well as high-performance tasks like virtualization. It works particularly well with containers and media streaming.
A software-defined object storage platform that also provides interfaces for block and file storage. It supports cloud infrastructure, media repositories, backup and restore systems, and data lakes. It works particularly well with Red Hat OpenStack® Platform.
The OpenStack word mark and the Square O Design, together or apart, are trademarks or registered trademarks of OpenStack Foundation in the United States and other countries, and are used with the OpenStack Foundation’s permission. Red Hat, Inc. is not affiliated with, endorsed by, or sponsored by the OpenStack Foundation or the OpenStack community.