Software-Defined Storage: Freedom Wrapped in Sheet Metal
A few months after we started Qumulo in 2012, VMware bought Nicira, a hot software- defined networking company, for $1.25 billion. As always, whenever a company without products in general availability fetches that kind of money, it attracts attention.
Within six months, my good friend, Datrium’s Brian Biles, had refined the nascent Wikipedia entry for software-defined storage (SDS) to this:
“Software-defined storage (SDS) is a marketing theme for promoting storage technologies that is currently lacking consensus. It is a reaction to the interest in the software-defined networking in the network product market, and Nicira's high-value acquisition.”
A marketing theme indeed! Five subsequent years of effort have failed to top Brian’s description, but the world has settled on a few broad definitions for SDS:
- It’s about the ability to provision and manage logical storage entities on top of physical entities.
- It’s about the ability to combine many physical storage entities into a single virtual one.
- It’s about the physical storage entities being standard hardware.
#1 and #2 are interesting, but in the file world they amount to virtual filers and scale-out. Let’s focus on #3 here.
Storage with Standard Hardware
Before NetApp radically simplified the world by creating storage appliances, people were building file servers out of Sun workstations and chains of SCSI disks. So #3, building storage with standard hardware, is as old as storage.
Building custom hardware for storage was actually a great innovation, because it solved some key problems. First, storage systems needed to acknowledge writes quickly, and NVRAMs helped solve that problem. Second, fault-tolerance was required, but ethernet wasn’t fast enough to tie together multiple controllers, so storage started using fabrics like Infiniband to tie machines together. Storage worked better -- particularly faster -- with custom hardware.
Building custom hardware is expensive though. It takes expensive people, processes and supply chains to keep the flow of custom hardware coming, and, worse, the hardware becomes obsolete every 24 months or so. So vendors (and their customers) can’t just pay once for custom hardware. They have to pay over and over, for every product they offer.
Custom hardware was the status quo when storage systems only scaled up. But then scale-out happened. People realized that scale-up – the provisioning of ever-bigger single machines to scale performance – wasn’t keeping pace with our data-defined world, and folks started building systems comprised of tens, hundreds or thousands of machines, all working together, acting like a single machine (#2, above). That solved the scale problem in a new, cheaper way.
Since the scale-out revolution started 10 or 15 years ago, two fundamental advances have made the advantages of custom hardware largely irrelevant: NAND flash and modern Ethernet.
First, mobile phones happened. One area of technology is often the beneficiary of economies of scale in another, and this was the case for mobile phones and storage. When the first iPods and then iPhones specced NAND flash in, they created a ramp of demand and supply that led to rapid price declines in flash. Flash became an alternative to the proprietary NVRAM that helped speed writes in storage systems.
Second, the cost and performance of Ethernet caught up with custom, proprietary fabrics like Infiniband, eventually making Ethernet the majority technology connecting machines together as data centers grew larger.
So, flash and Ethernet made it possible to use pure standard hardware. Why would we want to do that?
- SDS sets you free from paying for a storage vendor’s endless low-volume hardware R&D treadmill
It costs serious money to build custom hardware, and, as a customer of storage, you bear the brunt of that cost because your vendor needs to amortize its R&D across a relatively small customer base. SDS lets you buy higher-quality, less-expensive hardware from vendors whose R&D costs are amortized across enormous fleets.
- SDS gives you freedom of choice
Channeling Bill Joy, no matter where you work, most of the best hardware in the world isn’t made by you. But if you want to use hardware-centric storage vendors’ software, you have no choice in hardware. SDS lets you choose from the broad range of innovation happening across server hardware.
- SDC frees you to negotiate
With custom hardware, once you’ve chosen your storage software, you’re compelled to buy hardware from a single vendor. SDS allows you to choose between multiple hardware vendors.
But the biggest reason that custom hardware is a dead-end doesn’t have to do with physical hardware. It’s cloud.
- SDS frees you from any single cloud or data center
Going all-in on on-premises would worry me. Going all-in on one cloud would, too. When you use hardware that works in only one environment, that’s what you’re doing. Most of the great compute services in the world aren’t in your data center, or your cloud. You can’t afford to pick one. SDS liberates you from just one operating environment, giving you a common way to deal with data, no matter where you compute.
Today, SDS saves you money, optimizes your workloads, gives you back your negotiating leverage and lets you run your applications in every data center and cloud on the planet. It makes you the beneficiary of the phenomenal economies of scale happening across IT, rather than stranding you in a low-volume, expensive hardware backwater that your storage vendor prefers.
People talk about modern appliances as “software wrapped in sheet metal.” SDS is freedom wrapped in sheet metal. It sets you free. Not bad for a marketing theme.
Peter Godman is founder and CTO of Qumulo.