October 31, 2014

Is SolidFire out in Left Field, or Are They Playing a Whole New Ballgame?

Solid State Storage Arrays Series

All-SSD cloud storage is not nuts. Here's why!

When I say “cloud storage”, you probably think of Amazon S3: Big, slow, cheap, and distributed. That’s probably why the people I talk to about SolidFire usually start shaking their heads and denouncing the company. After all, who would be crazy enough to create an all flash storage array for cloud storage applications? But maybe it’s not so crazy; maybe SolidFire is simply playing a different ballgame.

Different Species of Cloud Storage

Amazon’s S3 has become ridiculously successful. Just about everyone in the IT industry has heard of it, and many have put it into practice in a variety of ways. This very website uses Amazon S3 to store images and media files, and high profile users abound including Dropbox and even (perhaps) Apple iCloud!

Amazon S3 is bulk distributed storage with a web based interface. This makes it incredibly useful for web apps but almost unusable (directly at least) for conventional applications. Leveraging S3 for a regular desktop or server application requires a gateway like Nasuni, Panzura, or JungleDisk. Even applications in Amazon’s own EC2 cloud server environment must be written to the S3 API or require a gateway to access S3.

But cloud servers don’t boot from S3, Nirvanix, or Rackspace Cloud Files. They boot from another type of cloud storage entirely, with a conventional SCSI block interface. This is known as EBS (elastic block storage) at Amazon, and most web applications hosted there use a mix of EBS and S3 for storage.

Just like conventional IT applications, web applications require a good amount of random I/O performance from the block storage they use. This website, hosted on Linode.com, peaks at hundreds of IOPS just for Apache and PHP script processing. Most web hosts, including Amazon EC2, only offer meager I/O performance, yet larger websites and other applications require many thousands of IOPS!

There is yet another type of “cloud storage” used for applications at service providers: Database management systems like MySQL store much of the content that we access on a daily basis. Most web developers host their MySQL database on whatever block storage happens to be available. But the slow RAID sets typically used by web hosts struggle to keep up with the I/O demands of database servers. I use a separate database server for a number of websites, and it requires ten times the IOPS of the web environment, often more than a single internal disk can manage.

Large-scale sites typically use special high-performance storage for databases. Some have turned to conventional enterprise storage arrays, others use high-performance PCIe storage, while some use special database appliances. Regardless, meeting the I/O requirements of the databases that underpin massive Internet sites is a terrible challenge. It’s this other kind of cloud storage that SolidFire seeks to provide.

SolidFire: The Other Cloud Storage

If you’ve read this far, you can see that there is an opportunity for innovation in storage for cloud applications and servers. Although API driven cloud storage solutions like Amazon S3 get all the press, supporting the demands of “everything else” storage is an unsolved problem. And that is the use case that SolidFire is looking to address.

SolidFire CEO, Dave Wright, also created JungleDisk, which was acquired by Rackspace a few years back. Wright saw firsthand the challenges of building out massive cloud server environments and deploying cloud applications in his time at Rackspace. I saw the same challenges from a different perspective while working at Nirvanix, and I believe that Dave is onto something here.


Watch Dave Wright present SolidFire’s solution at Tech Field Day 8

The SolidFire storage solution is a scalable all-SSD cluster for web applications. SolidFire Storage Nodes present a 10 Gb iSCSI target to cloud servers, with all the resources of the cluster available to many servers. SolidFire’s Element operating system includes in-line deduplication, compression, and thin provisioning to make the most of the SSD capacity and keep costs under control. And Element also allows service providers to guarantee I/O performance with minimum/burst/maximum SLA’s to customers.

The idea is that a cloud provider could deploy SolidFire for block storage and offer much higher I/O performance than conventional disk-based alternatives. We’re talking five million IOPS in a cluster of 100 SolidFire nodes – that’s a tremendous amount of performance for shared networked storage and would make for a truly unique cloud computing environment. 10 Gb iSCSI connectivity is exactly right for this market, and the fact that the SolidFire team includes lots of folks from LeftHand bodes well for their ability to deliver. They’re still in “Early Access” mode now, but I’ll be watching as they go GA!

SolidFire makes me drool. Server performance is bound by three factors: CPU, memory, and I/O. I’ve never had an issue with CPU performance in web hosting. Memory is a serious issue, however, since most shared hosting is sized according to the amount of RAM available. And most hosted server implementations need lots of RAM to keep from swapping because I/O is so ridiculously constrained. Most hosting providers are seriously I/O-bound and it leads to overuse of (and overcharging for) RAM.

A service provider that could offer serious I/O performance, and guarantee it, would easily earn a long, hard look from me and customers like me. SolidFire would be a massive differentiator in a crowded market, and we’d be willing to pay a premium for it.

Stephen’s Stance

After fighting to get reasonable performance for my own meagre web applications for years, I’m thrilled by the prospect of SolidFire’s completely-different kind of cloud storage. Although other solid-state storage vendors are quick to dismiss SolidFire’s market proposition as Quixotic at best, they will surely change their tune if and when it is adopted by service providers. I look forward to watching the scramble to offer solid-state cloud storage to service providers once that happens!

Disclaimer: SolidFire sponsored Tech Field Day 8, which I organize, and will present at my upcoming Solid-State Storage Symposium. But no one can pay for a post on this blog, and this was entirely my own idea. I really am this excited about this particular product and market segment!

  • http://twitter.com/DmitriKalintsev Dmitri Kalintsev

    Hi Stephen,

    Would it be possible to contrast SolidFire’s product with other solid state storage verndors’ offerings? Where does SF seriously stand out? What are the features that are likely to be attractive to service providers?

    Cheers,

    — Dmitri

  • http://blog.fosketts.net sfoskett

    Cool things SolidFire is doing:
    – The scale-out architecture for iSCSI is unusual in storage generally and SSD specifically
    – Global dedupe across all nodes if very, very cool (if this works!)
    – QoS per LUN is super nifty too
    – Multi-tenant reporting, monitoring, config (REST!) is useful to the target market

    In other words, SolidFire would be cool WITHOUT being in the service provider space. The fact that they’ve focused on a needy niche is doubly cool.

  • http://twitter.com/DmitriKalintsev Dmitri Kalintsev

    Great, thanks! These features do look attractive indeed. Would be interesting to see how the pricing stacks up, too.