Living Up to the Software-Defined Storage Hype

ioFABRIC's Vicinity passes its test run with flying colors.

Imagine, if you will, a storage startup that has decided to live up to the hype of Software-Defined Storage (SDS). Instead of merely adopting the buzzword for marketing purposes, they decided to play for all the marbles: ingest any type of storage, emit any type of storage, anywhere at any time. At first blush, it sounds too good to be true; but is it really?

The startup in question is ioFABRIC. ioFABRIC is readying version 2.0 of its software for general availability: toying with the idea of appliances, adjusting its licensing and otherwise making the moves required to go from early-stage startup to serious storage vendor.

The basic premise of ioFABRIC's Vicinity is simple. Vicinity data nodes consume whatever storage you assign to them. This storage could be physical disks, flash or RAM on bare-metal nodes upon which Vicinity is installed. It can be virtual disks, SAN or NAS attached to the fabric, or even cloud storage. Given time, ioFABRIC will enable Vicinity to ingest object storage as well.

The data nodes connect up to a manager node. Storage, once ingested, becomes part of the Vicinity's storage fabric. Storage administrators carve up the fabric and then serve it up to relevant systems for consumption. These systems can be the bare metal nodes on which Vicinity is installed, virtual hosts onto which a Vicinity VM is installed, or any other server or workload in the datacenter; even if no Vicinity software is installed on those systems.

Storage administrators start by setting up tiers of storage, predominantly defined by Quality of Service (QoS) settings. Maximum and minimum throughput and latency are set. The number of replicas are configured, and a name for the tier is assigned.

Administrators can then carve up the storage into whatever sized volumes they want and assign a given storage tier. That volume can be made available as iSCSI, NFS or converged storage, with more presentation options to be added soon.

When a workload is connected to the fabric, Vicinity identifies the nearest data nodes that can deliver the required storage and keeps the primary copy of the data on those nodes. Vicinity will use a combination of cloud storage, magnetic disk, flash and RAM to ensure that QoS requirements are met.

Workloads with low latency and high throughput will probably be given RAM and/or flash resources. Workloads where latency and throughput don't matter will likely be punted up to the cloud. Vicinity will try to store hot blocks on faster media and archive off cold blocks to slower media. All of the above can, of course, be access via an API for the DevOps crowd.

This is what SDS was supposed to be. It's what we were promised by the hype all those years ago. After years of bitter disappointments, I didn't believe it was possible until I tested it.

Positive Early Returns
I have tested Vicinity in my lab, using bare metal nodes, hyperconverged nodes and fabric-attached nodes. The version of the software I worked with was iSCSI only; NFS and cloud connectivity were still in beta at the time of my testing.

The short version is: it works. Vicinity does what ioFABRIC claims it does. I've built and rebuilt the fabric in my lab, and it just keeps on working. I'm still not entirely sure I believe it, but the results are there, and it's hard not to believe the proof in front of me.

It's almost impossible to benchmark Vicinity, because how fast it goes depends entirely on the resources you feed it, how you architect the fabric and how you manage your QoS. Left to its own devices, the default settings seem to adequately handle all the real-world workloads I throw at it, assuming the fabric has rational amounts of resources available to it.

Vicinity's only true weakness is that ioFABRIC hasn't integrated it yet into the management interfaces of the various virtualization platforms, making it less easy to use than competing solutions for hyperconverged-only use cases. On the other hand, Vicinity can do way more than hyperconvergence alone.

Grand Promises
ioFABRIC is young, and the promises of Vicinity are grand. That said, it is precisely because the promises are grand that the company is worth investigating. If Vicinity has all the ingestion and emission capabilities for the storage you need, they're worth serious consideration. In the long run, I think most administrators would like to have a working all-in-one solution to storage.

About the Author

Trevor Pott is a full-time nerd from Edmonton, Alberta, Canada. He splits his time between systems administration, technology writing, and consulting. As a consultant he helps Silicon Valley startups better understand systems administrators and how to sell to them.


Virtualization Review

Sign up for our newsletter.

I agree to this site's Privacy Policy.