Saturday, June 1, 2013

An API by any other name

Amazon S3 and OpenStack Swift have emerged as the two application programming interface (API) “standards” that cloud and object storage providers have centered around. Nearly every vendor has released or is in the process of developing an interface to their storage platform according to one or both of these APIs. Even tech giant Google provides a fairly comprehensive compatibility API to Amazon’s S3. But what do these “standards” really mean?

Unfortunately, it just means customers have to ask a lot more questions. How do you handle large files? What is a large file in your system? How is metadata updated? How is authentication handled? What about storing content in multiple regions? Is the underlying S3 compatible platform from EMC, Scality, someone else? Is your Openstack API from Swift or Ceph? Even within the same platform, there are differences. Is the storage system running OpenStack Swift with the Essex or Grizzly release? Think it doesn’t matter? Guess again…

We spend a great deal of time with cloud storage service providers, object storage vendors, and our customers working through compatibility issues. At least at the moment, the only thing “standard” about different implementations of these APIs is the name. Learning the differences has been anything but straightforward. For completely unknown reasons, some cloud storage providers are reluctant to disclose which underlying storage platform they’re using. Some object storage vendors are requiring secret handshakes to get the internal compatibility matrix to these API “standards”. 

There’s absolutely no shame in being different. Anyone who’s worked with any of these APIs at length knows there’s good and bad in all of them and frankly, supporting only a subset of one can actually be a benefit. Understanding the differences is the only way customers can make an educated decision on adopting your service or platform.

Our industry has long since given up on tempering Marketing’s zeal to claim all things to all people. We get it, at Internet speed and today’s competitive environment; being caught with yesterday’s capabilities is a real risk.  And besides most towns do look the same at 39,000 feet, but you still need to pack a very different bag if you’re landing in Albuquerque vs. Anchorage. With more and more adaptations of these “standards” coming out almost monthly, every organization owes it to customers and prospects to clearly disclose what their implementation really means. Trust me, everyone will thank you for it.

No comments:

Post a Comment