The Web has come a long way from a collection of Web pages to repositories of programmable data freely flowing from one site to another through APIs (Application Programming Interfaces). But it is difficult to keep track of all of the thousands of APIs out there. Wouldn’t it be great if there was a Google Analytics for APIs?
Today, Sonoa Systems is taking the first step towards building just that with the public beta launch of Apigee. (Developers can sign up for it here). Sonoa built the service around its massively scalable API router. Apigee offers Web developers and publishers a dashboard for managing both the APIs they provide to others and the ones they consume for themselves.
Easy to understand charts and graphs can tell a Web developer which one of five APIs is messing up his mashup or a bigger Website when an overzealous developer is making too many calls to its API and threatening to bring the whole thing down. “The way we see APIs is like the dark matter of the Internet,” says Brian Mulloy, the general manager of Apigee. “We know they are out there, but we are not directly observing their behavior.”
For a developer whose Website is a mashup of five APIs, Apigee would monitor each one for response time, error rates, and number of requests being put through (to make sure the developer is not hitting the limit). In the illustrative screenshot below, the example is for a fake app called “PhotoTwitty” which is a mashup of APIs from Twitter, Twitter Search, Flickr, Google, and 4PayPrints. All five have to work in order for PhotoTwitty to be up and running.
Big sites with popular APIs have a different problem. They set limits so their servers don’t crash, but sometimes all it takes is one or two heavy users to cause a meltdown. Just because an API providers set limits doesn’t mean they enforce them. Apigee lets sites throttle API limits with simple sliders and once the limits are hit, any individual API user cannot exceed them.
If enough APIs start going through Apigee’s proxies and its users allow the data to be shared anonymously in an aggrgegate fashion, then Apigee could eventually create an Alexa-like service as well with public data for API usage and uptimes.
The downside to using Apigee is that it introduces a latency into the whole system. Mulloy estimate sthat this latency is only 200 to 300 milliseconds, which is is acceptable for most apps, but starts to become noticeable for real-time apps like Twitter. For URL Shorteners, for example, 300 milliseconds can mean the difference between an acceptable and unacceptable lag. But that’s the price you pay for visibility into your APIs.
You may also be paying Apigee, which wants to charge up to $100 a month for anyone monitoring more than 10,000 API calls an hour. Below that, the service is free. Competitors include Mashery and 3Scale.