
Rise and popularity of the APIs
An Application Programming Interface (API) provides a standard interface or contract to consume its services over the internet. The API defines the structure of the input and output and remains constant over the life of an API version.
APIs are the contract between the client layer and the enterprise. They are consumer-oriented, that is, designed by the client, and they abstract the service implementation details from the client.
Coming back to the advent of social consumer companies, creating new applications meant not starting from scratch. For example, if my application needs to use geographical maps, I can make use of the Google Map APIs and build my application on top of that. Similarly, instead of building my own authentication model, I can make use of OAuth and use Google, Facebook, or Twitter as some of the OAuth providers.
This entire model of making a repeatable but often complex functionality available as a reusable service led to a model where the developer started building the applications using these pre-existing APIs, which in turn led to increased developer productivity and evolution of the modern day applications or mobile applications economy.
Companies started to look to see if they could monetize the APIs, which meant multiple companies were writing/publishing APIs that provided similar functionalities. This led to the democratization of the APIs allowing anyone and everyone access to features/functions.
This whole democratization of the API meant, suddenly, every process or functionality could be provided as a set of APIs that could be orchestrated or choreographed to build new features or functions. What took months or years earlier, now only takes weeks or days. All this productivity means shorter development cycles, allowing rapid iteration to provide new and innovative features.
Today, all kinds of APIs are available: from social companies such as Facebook, Google, and Twitter to enterprises such as Salesforce, NetSuite, and PaaS/IaaS providers, such as AWS, Azure, Google Cloud Engine (GCE), and so on, that all provide functionality from provisioning a VM to a database instance, to AI providers such as Watson, AWS AI, and Azure ML.