The scale is staggering
14 years ago I was running a group at TIBCO that was bringing TIBCO to the Internet. Yahoo!Finance was built on the TIBCO pubsub infrastructure. At the time Yahoo was the biggest cloud/internet company and the finance pages were the most popular pages on the companies web site other than search. The hits were astronomical even at the time. It was the fever time in the tech internet industry and everyone was following the stocks of the new internet players. Many people including myself had written programs that leveraged Yahoo’s web site as an API to build applications for stock analytics, portfolio analysis and to embed in their own websites. I know that Yahoo was getting 100 million hits to the web site a day or more but probably few of those were really applications making calls. There weren’t a lot of other APIs in the Internet at that time. I would guess that there were 10^9 a billion “pseudo-API calls”/month back then. This is the kind of traffic that a small startup would get today for its API. 🙂
Since then the number of APIs available in the cloud has been doubling every 13-18 months. the best estimate I’ve seen is about 16,000 public APIs available today and 80,000 private APIs. My best estimate is about 10^15-10^16 API calls/month. This can be arrived at by several methods which gives some solidity to the estimate. Some examples of the volume of API calls is Foursquare which reports 2.2×10^9 calls / month doubling every year.
|Per Month||Per Second|
|Ebay API calls on cybermonday||300,000,000,000||115,741|
|Total API calls in the cloud||4,320,000,000,000,000||1,666,666,667|
As an example of how pervasive APIs have become a small startup called Mendeley which provides a way to search for scientific papers gets 100,000,000 (10^8) API calls / month. There are 1.5 billion smartphones in the cloud and statistics show that users are spending more than 80% of their time on apps and browsing on their phones. They are spending 2 – 4 hours/day. Each app uses a number of services and a guess would be that each phone makes 10-100 calls / minute to the cloud on behalf of the apps the user is using. Most smartphones now operate apps in the background and many are making API calls 24 hours a day. It would be a fair guess that the average smartphone is making 20,000 API Calls / day.
Another way to look at this is the average user of android phones in the US market is about 1GB data/month. 20,000 API calls/day would mean each API call was using 2k of data which would be a typical small message size that would be about 1GB of data / month. If those users are spending a lot of time watching videos on their smartphones it might mean fewer calls but I believe these numbers are rough estimates in line with a good swag at what the numbers must be.
More and more the most interesting applications, the most valuable applications are leveraging numerous cloud services for data and for services in general. Foursquares API is used by Instagram, Evernote, Waze, Path and Vine among many others. Twitter claims 15 billion API calls/day and Facebook and Google are in that range as well. While these numbers are staggering these represent a small fraction of the API calls a phone or other services are making in the cloud to other services. The oft quoted statistic is that Salesforce now makes as much revenue from APIs as they do from their application.
Just to give you another perspective this is about 100 billion API calls / minute across the cloud. It’s a staggering number and represents a tremendous change in the way we think about how applications work and operate. Traditional applications are not dependent on outside APIs very much and rely on databases as the main way they interact with other applications and is the primary way they get data. That model is very quickly turning into something uninteresting. Almost any interesting application today will utilitize GPS APIs for location information, map sites, venue information from numerous sites, APIs for storing or accesing data blobs, APIs for weather, stock, news, advertising, social sites, payment sites.
You may be sitting on a goldmine of information that could be generating billions of API calls. Foursquare didn’t even pay attention to its APIs potential until it hit 1 billion API calls/month.
This is proof that what I am saying that open source and APIs are redefining how we build applications and the migration to a new Platform 3.0 for building applications. This change has come upon us amazingly fast but the reasons are clear and compelling. You can make serious money by leveraging this new model and even if you start small you could rapidly grow to a billion calls/month if you can scale. For many of these public APIs they use the API itself to collect information that is then used to increase the value of the API. So, the APIs become self-sustaining.
How do you become part of this game and begin to participate?
7 Steps to become an API Player
1) Think if you have legacy services, existing data stores or some idea for data collection based on your customer base, existing services or a natural outgrowth of the core competence of your organization? Come up with a conservative business plan and start small with low initial costs.
2) Jumpstart building an API Management platform. Assume the following:
a) You will be successful
b) You will need to modify the API frequently
c) You will have to support multiple APIs simultaneously
d) You will have to scale the API rapidly
e) You will have to impose tiers of service for different users
f) You will collect data on who is using your APIs, how are they using them, what are they doing with your APIs and what is taking the most time, what is causing the most load on your services?
g) That you will want to have a social store where users can find your APIs easily, use them easily and build a community around your APIs.
h) Cut your teeth by making sure to use APIs internally for your internal purposes and use others APIs to get familiar with how APIs are best used … Making APIs easy to use is the most critical factor in adoption
3) Implement a facade pattern around your APIs right away to isolate the lifecycle of the services from the lifecycle of the APIs.
4) Find prospective users of your API to give you pointers on the data to include and the interface, users who will be willing to tolerate change
5) Use professional API management software immediately because it comes with all the things you will need to prepare and handle success. Thinking you can build your own API management platform like google did or netflix is crazy. Products such as WSO2 API Management give you all you need to scale, socialize, manage and be successful with your APIs like the big boys from day one and WSO2 is open source, so your costs are minimal.
6) Iterate rapidly as you learn how your customers are using your services and what complaints they have and features they like, however, support old APIs because you can’t force your customers to change their applications on your schedule.
7) Consider an Ecosystem PaaS solution to provide more stickiness to your APIs, provide more learning and more control over how people use your APIs.
APIs are the way we will build almost all software in the future
This is an unstoppable force. The numbers are staggering at 100 billion API calls/minute and growing very fast. The opportunity is staggering but it is clear that whether you participate in it or not virtually everything will be in the cloud as data and services in the next 10-20 years. It will take a long time to move all on-premise infrastructure to the cloud and all applications but it’s a foregone conclusion that everything new will be done according to a platform 3.0 model.
Platform 3.0 is built on the idea that the current cloud based model of software development is the right approach. This means leveraging cloud services as much as possible to keep costs low, to leverage other services as much as possible so you can iterate rapidly and provide lots of functionality fast. It means using bigdata to learn quickly and respond quickly to what you learn and a social open transparent approach that acknowledges bugs and problems quickly and fixes them quickly too.