Saturday, October 18, 2008

The Significance of the Cloud Proxy

There is a dirty little secret about the current spate of cloud computing storage offerings out there today. Yeah, they are a powerful alternative to buying your own disks and filers or SANs, but to use them--pretty much any of them--you need some development skillz. Not "deep and ugly" systems programming skills, mind you, but certainly these basics:
  • Ability to read a REST API specification
  • Ability to build a URL to meet said specification
  • In almost all cases, ability to write a script or program that hides building said URL from humans using the storage service
This is fine if you are hiding the use of a cloud storage service behind the facade of some application or other. However, what if you want to make "infinite" storage available to the masses? How do you let your everyday Windows or Mac user simply connect their system to a cloud storage drive?

The easiest way for desktop OS users to access traditional shared storage today is by mounting a shared network drive, through whatever mechanism is provided by the OSes basic file system interface. Once the drive is mounted, it behaves just like any other network or local drive, with the same commands to navigate, augment and utilize the file system as any other file system. Why couldn't getting access to storage in the cloud be just that easy?

Enter a new offering from Nirvanix, announced a couple of weeks ago. Nirvanix CloudNAS is basically a simple program that you install on the "pizza box" of your choice. However, what that software does is huge, in my opinion. Basically, it provides a simple proxy to the Nirvanix Storage Delivery Network, their brand name for their cloud computing storage service. This proxy offers three incredibly common and appropriate standard interfaces for desktop users to utilize: CIFS, NFS and FTP.

So now, with one of these pizza boxes installed inside your firewall, with the appropriate secure connections (I would hope) to the Nirvanix cloud through said firewall, any user can locate the "network drive", mount it in their local file system, and start using it from ANY application that already recognizes the OS file system--which is anything that reads and/or writes files--to utilize that drive. No programming, no "learn this new interface", just a shared drive mapped to your "N:" drive (or some such thing).

This is a concept near and dear to my heart, as a similar approach towards content repository access is offered from my employer, Alfresco. Say you have 1000 MS Office users out there, and you want to carefully track certain documents which they are maintaining:
  • You could give them some sort of plug-in to install into each and every application, but that would cost you--especially of you have dozens of different applicable applications.

  • You could give the users a new web application that they would use to "upload" documents to the repository outside of the existing application interfaces, but that would probably lead to much confusion and misuse.

  • You could use Alfresco's CIFS interface to mount a shared drive on each user's desktop, with an agreed upon folder structure for the documents being edited, and simple instructions to maintain the document on the "Alfresco" drive.

In other words, Alfresco and Nirvanix are using CIFS, NFS and FTP (as well as WebDAV in Alfresco's case) to "instantly" integrate any file system aware application with their respective offerings.

I loved this concept when Alfresco explained it to me, and I may love it even more in Nirvanix's case. With one simple announcement, they've completely differentiated themselves from Amazon S3, in that this is now a data center friendly (not just a developer friendly) cloud storage service. Almost any user in the enterprise can quickly and easily be connected to the cloud, and near infinite storage is at their fingertips. Best of all, the software download is free.

(Truth be told, the reality is probably less sexy than the vision. Latency will certainly be a concern, as will the availability of Nirvanix services over the Internet. While I am positive about the vision, I would sure as heck do my due diligence before implementing a project that relied on CloudNAS.)

There are a lot of smart people thinking about cloud computing these days. I expect to see this "proxy" concept copied by several other vendors. I could see a Google AppEngine "proxy" that hosts the development bits and automated "push" of final bits to the Google cloud. I could see a "hybrid" cloud management proxy, perhaps from someone like RightScale or Cassatt or one of the new Cloud OS offerings, that manages application and service provisioning both intra- and extra-enterprise.

These are the innovations that I think are most exciting these days. Not a new API, or a new "do it yourself" network service, but integrations into the "traditional" IT technologies in ways that are as transparent as possible to end users and system administrators alike. Good luck to Nirvanix. I think they have something here.

Update: InformationWeek has an excellent article covering five "good deals" for the use of cloud storage, and three "risky propositions". Cloud NAS is listed as one of the good deals.