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.
Traditionally, we had 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, and flash storage became an affordable mainstream.
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. Now, 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 changed.
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:
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.
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.
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.