Editor's note: this is a "Sponsor Post" by one of our long-term sponsors. These posts are clearly labeled as such, but we also want them to be useful and interesting to our readers. We hope you like the posts, and we encourage you to support our sponsors by trying out their products.
Cloud computing has arrived. You can scarcely open a computer magazine or business journal without coming across an article about this transformative new approach to providing web-based services. Cloud computing is undoubtedly shifting the landscape. But what many observers miss is that, while cloud computing has arrived, only through APIs will its full business potential be realized.
A (Very) Brief History of Cloud Computing
A few years ago, Google capitalized on the idea of using huge clusters of cheap computers and building software with a high fault tolerance, so that when its machines would go down, the overall system would still function properly. Amazon used the same approach, with a twist. The company's vast, distributed architecture lent itself to a standardized provisioning of computing resources. As the provisioning process became more standardized, and it became easier for Amazon to roll out new services, the company started selling on-demand access to its massive, distributed computing infrastructure.
The rest is history. And more cloud computing providers have appeared, each with its own approach. GoGrid, for example, offers flexible server specifications and interconnection options. Salesforce.com provides an application infrastructure with database, security, workflow, and other capabilities already in place. Ning emphasizes simplicity, giving its users the ability to roll their own social networks without any programming knowledge.
Without APIs, There Is No Cloud Computing
Cloud computing is not simply another type of application service provider (ASP) offering. The ASP and hosting providers of years gone by offered a set of software services from within a walled garden. These services were tied to specific hardware and software configurations.
In contrast, cloud computing draws its strength from its connections to the outside world, through APIs. These 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 flow in and out of the cloud.
- Application Functionality APIs, which enable the functionality that end users interact with, such as shopping carts, wikis, and widgets.
Control APIs: The Key to Cloud Computing Flexibility
Nearly all cloud services allow (or even require) deployment and configuration through APIs. When you use Amazon's EC2 service, you are using the EC2 API to dynamically configure virtual servers. When you use Google's App Engine, you are using an API to run your web applications on Google's infrastructure. These control APIs are integral to the capabilities of all cloud computing providers, performing functions similar to those of a conventional data center dashboard. In fact, some observers believe a significant reason for the failure of Sun's network.com cloud (which has been taken down) is that it could not be controlled through APIs and therefore lacked the flexibility that developers expect from cloud services.
At first, control APIs were limited to individual cloud providers, but that is starting to change. GoGrid has made its Mashery-powered control API available under a Creative Commons Share Alike license, so that other cloud providers can use and modify it to suit their needs.
Data APIs: Essential Conduits for All Cloud-Based Applications
This is an exciting development, but the real magic in cloud computing happens when data interchange APIs move between clouds. The web itself provides the underlying infrastructure, while applications, data, and services are delivered via interconnected clouds.
We are now starting to see some of the benefits of cross-cloud applications. For example, Lasso2Go, an impressive contact information service, makes use of Amazon and Salesforce.com's clouds, as well as the APIs for the iPhone and other devices. The Amazon data interchange APIs have been merged with other data interchange APIs, enabling a seamlessly integrated cross-cloud application.
In a completely different market, soundpushr demonstrates the power of APIs. Using APIs from Amazon, Flickr, the Hype Machine, Last.fm, and YouTube, soundpushr gives music enthusiasts the ability to search for and instantly find music, videos, and photos of artists they like. The search tool does not use bots to crawl the web. Instead, it connects directly to data sources in the Amazon and YouTube clouds, as well as ones at Flickr, the Hype Machine, and Last.fm.
Application Functionality APIs: The Final Layer
Application platform APIs provide functionality beyond data access. For example, they give Ning the ability to provision configurable social networking sites from an array of centralized services. But application platform APIs can do more. The social shopping site Kaboodle leverages the Shopping.com API to provide product information, and then adds its own social networking features. The possibilities for application functionality integration are already being explored, and as more APIs become available, we can expect even more exciting combinations.
A Thrilling Future
Over the last six months, we have seen an amazing transition in Web 2.0. Organizations ranging from retail giants like Best Buy to content providers like the New York Times to service providers like Netflix to powerful institutions like the World Bank are opening their content and services to developers and partners.
We are witnessing a revolution. Content and services that were previously trapped in systems that required great effort to get pushed out to the web are now part of a much larger set of connected cloud eco-systems. Information, functionality, and services can now be delivered at the point and time that users want it. And APIs are the foundation that makes this all possible.
If you enjoyed this post then check out Mashery.com, the leading provider of API management services.