Without APIs, there is no cloud computing
If APIs enable cloud computing, what happens when it comes to portability? Will anyone voluntarily let me off of their cloud? We need standards to support functions such as portability.
An application-programming interface is one of the key technical facilitators of cloud computing.
Besides the obvious usage of an API to access services like Amazon Simple Storage Service (S3), third-party applications that add graphical user interfaces to cloud services such as Amazon Elastic Compute Cloud (EC2) and Twitter also take advantage of APIs to access the services.
API-hosting provider Mashery makes the claim in a recent blog post that "without APIs, there is no cloud computing." And while that sounds a bit self-serving, it's probably true, at least in the current state of how we interface with cloud providers.
According to Mashery, cloud APIs fall into three general categories:
- Control APIs, which allow cloud infrastructure to be added, reconfigured, or removed in real time, either by human control or programmatically based on traffic, outages, or other factors
- Data APIs, which are the conduits through which data flows in and out of the cloud.
- Application functionality APIs, which enable the functionality with which end users interact, such as shopping carts, wikis, and widgets.
APIs will be forced to evolve as cloud offerings split into ultrasimple services (like S3 image hosting) and more complex services (such as failover from an internal cloud to EC2.) More importantly, APIs will need to support multiple clouds and service provider failures, which are sure to increase.
But, beyond APIs, we need standards to support basic functions, such as portability.
For example, what happens in the case of application portability, as we saw with the recent demise of Coghead? An API might help things along, though providers have little motivation to provide such a "leave now" function. But they should have such motivation, as Phil Wainewright wrote earlier this week:
I believe that it can only enhance the attractiveness of cloud platforms, if customers know they won't be locked in (and therefore can minimize the risk of being locked out when a provider unexpectedly shuts down).
Cloud and platform-as-a-service application portability are sure to be big issues this year, as the economy continues to be a question mark. I highly, leaving customers to fend for themselves. APIs are nice, and open standards are necessary.
You can follow me on Twitter @daveofdoom