What is Software-Defined Storage (SDS)?

These days anything seems to be software-defined, and even the Wikipedia articles sound like a horrible mashup of marketing buzzwords. So what does software-defined storage (SDS) or software storage really mean?

Let's take a step back and see why the IT industry got so excited about moving things to the software layer. Marc Andreesen's famous quote, "Software is eating the world," is an excellent summary of what has happened in the past 15 years.

Traditional storage consisted of having lots of specialized hardware in data centers: storage appliances, fibre channel networking for storage, ethernet for data traffic, load balancer appliances, firewall appliances, and so on. Each was tuned for its specific purpose with custom hardware components, such as RAID controllers or expensive fibre channel switches.

However, over the last 10-15 years, many standard hardware components became fast and cheap:

  • x86 CPUs are fast and have many cores
  • Ethernet runs at 100GBit, and more
  • Flash storage became an affordable mainstream.

Fast and Cheap Servers Enable Software-Defined

These high-speed, standard servers with massive network bandwidth and lots of fast storage suddenly enabled us to do things in software instead of relying on custom hardware or specific storage devices. Nowadays, the server’s software defines its role rather than custom hardware like an expensive RAID controller or an InfiniBand adapter.

The same server can also be a web server, an HTTP load balancer, a storage server, or a compute node - it all depends on the software You install on the server. Even better, you can switch the role of a server from one day to the next just by putting new software on it, and then your web server might turn into a storage server because your workloads have changed.

The Power of Software-Defined Storage

Google has demonstrated how to take advantage of a fully software-defined infrastructure, both in terms of massive scale and cost-efficiency. The benefits of software-defined storage (and other software-defined infrastructure) are the following:

  1. Download and install
    One of the most significant benefits of software is that you can download and install it on your hardware in minutes: Instant gratification and a lack of complexity. Who wants to speak with sales, wait for hardware to be shipped, racked, and stacked just to try a different storage product?
  2. Standard hardware can do many things
    You can use your servers for anything. Planning becomes easier because you can just buy standard servers and later decide what to use them for. Buying additional servers when you need more storage capacity or computing performance is also quick and easy and can be done in minutes. Having servers that can do many things yields better resource utilization because you don’t waste your storage resources.
  3. Standard hardware is cheaper
    Standard components are always more affordable because they are mass-produced. In addition, you can buy a larger number of standard servers to get better discounts. When you have software-defined storage, you benefit from the aggregated performance of your servers; for that reason, there is no need to purchase the most expensive hardware. In this case, the software does the hard work, not the hardware.
  4. Standard hardware is easier to manage
    Managing x86 servers is part of everyday life for admins and hardware ops. When you standardize on x86 servers instead of a zoo of hardware appliances, your life becomes easier, and you can manage more hardware with less effort. If your hardware is in a remote data center (think edge computing), managing custom appliances might not even be an option.
  5. Independence from specific hardware
    As we mentioned before, software-defined storage does not rely on custom hardware; so you can use cheap standard hardware. On top of that, your software-defined storage can have different features such as data protection, storage management, scalability, etc., Independently of what hardware you use.

Software-Defined Storage - Best Long-term Solution

With traditional storage presenting several limitations such as complex accessibility and maintenance, data silos, and lack of flexible scalability, software-defined storage is proving to be a better and more efficient solution for storage infrastructures.

Software-defined storage provides you with a unified system that can be accessed from different interfaces, making it very accessible. Having a unified storage system also means that it is easier to maintain because you don’t have to manage other storage devices. If you want to learn more about unified storage, check out our next article: What is Unified Storage?

As we mentioned before, adding new servers to software-defined storage is simple and undisruptive. That is one of the reasons why it’s easier to scale with software storage.

This is NOT Software-Defined Storage

Marketing has abused the term for so long that some vendors have come up with rather strange explanations why their appliances are "software-defined." Just because there is software running on your storage appliance doesn't make it software-defined. If you can't get the storage system as software to download and install on any x86 server, it simply is an appliance because you miss out on all the benefits software-defined storage offers.

The rather strange explanation that the product's development team is "mostly software" doesn't fare any better: When customers have to wait for a physical appliance to be delivered, it can't be software storage.

Also, you might often hear that storage virtualization is the same as software-defined storage; but this is far from true. Storage virtualization refers to putting a layer on top of the real storage system so that many devices can share their capacity to make it seem like it’s one device.

Software-defined storage is not just a layer on top of the system, but it’s the storage system itself, which lets you use any hardware or server that you’d like and build very large storage infrastructures.

Beware of Pseudo Software-Defined Storage

This one is a bit more difficult to spot. Some vendors claim that they are software-defined because they don't offer an appliance. However, their storage usually requires a very specific hardware configuration, often with rather exotic hardware. Again, with these pseudo, appliance-based solutions, you miss out on almost all benefits of real software storage.

Quobyte - Real Software Storage

We built Quobyte from the ground up to be hardware-agnostic so you can deploy the Quobyte distributed file system on any x86 server. Our Free Edition gives you the opportunity to download and install and use real software storage. If you want to learn more about Quobyte, check out our features like scalable performance, deploy anywhere or policy-based data management.

Leave Us Your Feedback!
Leave Us Your Feedback About This Article: