Defining Software-Defined Storage
September 17, 2013
There's been a lot of talk lately about the software-defined data center. As Network Computing's resident (or is that pet?) storage guy, I'll leave software-defined networking, including most recently VMware's NSX and Juniper's Contrail, to the networking experts. However, software-defined storage is a hot topic for me.
Today, vendors use the term "software-defined" to describe an incredibly broad range of storage products--many of which strain credulity. Some vendors have realized software-defined storage is fashionable and have slapped the moniker on some very hardware-defined products.
- Forrester Study: The Total Economic Impact of VMware View
- HP Newsletter with Gartner Research: Maximizing Your Infrastructure through Virtualization
One of my jobs as an analyst is to build a taxonomy that lets my team at DeepStorage and me classify various storage products and services into recognizable kingdoms, phyla, genus and species.
Once we've organized the marketplace this way, we can compare products in the same group--for instance, all-flash arrays--and compare how different classes of products can address a common set of problems. It's hard to discuss the relative advantages of server-side SSD caching versus hybrid arrays until we've defined what a hybrid array is.
[Which vendors will win in a software-defined storage world? Howard Marks says disk drive manufacturers. Get his reasons in "Why Software-Defined Storage Is Good For Seagate." ]
Given all the marketing dust being kicked up around all things software-defined, I thought it would be useful to classify what, to us, makes storage software-defined. You're welcome to disagree with my classifications in the comments section at the bottom of this article.
Software-Defined Storage is Software
That software-defined storage (SDS) is software should be should be pretty obvious, but the contents of my inbox make it clear some folks think they can call a product SDS because there's a Xeon processor inside that runs an operating system.
Frankly, every storage system built in this century gets most of its functionality from software. If we stretch "software-defined" to include products that include proprietary hardware, then 95% of all storage products would qualify as SDS, and we would no longer be talking the genus SDS but the much larger storage kingdom.
If your product requires any hardware that customers can only buy from you, with the grudging exception of a licensing dongle or NVRAM module, it's not software-defined. That means that an HP P6000 Lefthand storage system isn't really software-defined, but the same software running as an instance of the StorVirtual VSA is.
We have to draw the line somewhere and here it is. If it comes wrapped in tin it might be storage that's defined by its software, but it's not Software-Defined Storage.
Sure, there are software virtual tape libraries, and you can turn a rack full of servers into an object store by running Swift Stack, but SDS is a new-school replacement for the traditional SAN or NAS.
Neanderthal Software-Defined Storage
I thought long and hard about whether software storage targets--such as StarWind, OpenFiler or even Windows Storage Server--should really be considered Software-Defined Storage, complete with capital letters and italics. On the one hand, they are primary storage as software. On the other hand, since a NAS appliance is just a file server wrapped in tin, I'd be including Novell NetWare as SDS. Such a new term shouldn't include such old software.
This is when I realized that these software targets are the Neanderthal SDS, a different species: Storage SoftwareDefinus OldSchoolus. So when Andy Banta, a well-known storage engineer, tweeted he'd been doing software-defined storage for 18 years, he was using the term loosely to mean the Genus Storage SoftwareDefinus.
VSAs are the Cro-Magnon
The next step in the evolution of SDS is the virtual storage appliance. By running in a virtual machine under a hypervisor, VSAs can abandon the hardware that old-school products needed, making them for the first time fully software-defined.
Even more importantly, VSAs consolidate the storage management function into the compute layer of the infrastructure. The VSA runs on the same servers as the compute workloads, eliminating the need for dedicated storage hardware and therefore reducing cost.
The problem with VSAs is that too many of them are just ports of old-school software. More evolved members of the species, Storage SoftwareDefinus Virtualum, add functionality like using SSDs to create hybrid storage pools.
Modern Software-Defined Storage
The latest step in the evolution of SDS is the ability to create consolidated storage pools across all the servers in the cluster. While the many VSAs will synchronously replicate between two instances and spread the replicas across the cluster, they operate at the volume level. This limits the maximum size of a volume to the storage in a single server.
Products in the species Storage SoftwareDefinus Virtucalis Scaleoutus--from VMware's vSAN and EMC's ScaleIO to Maxta Storage Platform--distribute data across the nodes in smaller blocks creating a true single pool of storage.
With this taxonomy in hand, I'll devote subsequent blogs to discussions of how software-defined storage will influence your data center and the storage market.
[Get insights into the pros and cons of flash storage at Interop New York with Howard Marks' session "SSDs In The Data Center."]