By Amar Kapadia, Senior Director Open Cloud Strategy, EVault
Last week EVault‘s HQ was buzzing with activity as we prepared for, hosted and took stock of “The Great OpenStack API debate” meetup.
Speaking as objectively as someone who works at EVault can this was one of the most heavily attended OpenStack meetups I’d been to. Not only was the debate popular with industry insiders but it also caught the attention of SiliconAngle and Tech Target.
Since the debate concluded a lot of attention has focused on “who won”? In my opinion that matters less than digesting the compelling arguments made by both speakers. Below are some points that caught my attention:
A system offering the lowest level API possible is superior to a system attempting to offer a higher-level API. This approach ensures that different higher-level APIs can be bolted on as needed by the customer. Randy made a good point that Rackspace has put certain things in the Nova API that prevent EC2 compatibility. Simplifying the API to remove this “poisoning of the well” as the speaker stated, sounds like a good thing to me.
- Both speakers also agreed that just API compatibility doesn’t guarantee interoperability. APIs could be identical, but if the behavior of systems is different, it doesn’t help. Specifically with AWS API compatibility, this is a problem that can’t be solved since Amazon has no incentive to participate or help.
- Randy and Boris differed in how they characterized customer pain points. Randy saw customers valuing EC2 API compatibility for hybrid clouds. Conversely, Boris said that if customers truly care about compatibility across clouds, they should use a cross-API library rather than relying on one single API. Boris further stated that he’d not witnessed the behavior Randy described in their customer base.
- There was very little discussion about any other OpenStack project; Swift came up briefly to illustrate the point that it does have a low level API and it indeed allows AWS S3 compatibility through a higher level piece of software.
Net-net, I think Randy’s point about a low-level API on top of Nova that does not preclude EC2 API is a good thing. Constituents that care about EC2 compatibility could then build that layer above the low-level API. However, Boris’ counter-point questioned the priority given that there’s a lot to do.
Given my focus on Swift, I really can’t comment on this but I’m pleased to note that Swift actually does follow this philosophy. Furthermore, EVault is active in the Swift3 effort to provide an AWS S3 compatibility layer on top of Swift. At least in the storage use case, we see value in offering both the Swift API (allows innovation) and S3 API (allows interoperability with existing applications).
Continuing the Debate
Given attendance on the night we suspect there’s still an appetite for many who attended and others who couldn’t to continue discussing these and other aspects of the debate. If you count yourself among those who want to engage further on this issue we welcome you to join us on Twitter #OpenStackAPIDebate. See you there.