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:
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.
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:
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.
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.
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.