APIs and API First design
In this post I want to discuss what API first platform design means and why so many organisations are adopting this approach for their technology stack.
Yes, this post is about the value APIs bring and the cost organization has to pay for it.
First, lets take a look at history and why APIs became critical part of technology platforms.
Apple rediscovered the smartphone with iPhone release in 2007.
Adoption skyrocketed. Digital interactions through smart apps skyrocketed. There was no turning back.
The business use of small screenless computers and sensors followed the case. We now call them Internet of things.
Below graph shows the number of smartphones and IoT devices in comparison to standard desktop computers.
What one thing all these new devices have in common?
They all rely on APIs to be present for most of their functionality.
What exactly was different before?
What challenges did all this rapidly growing adoption brought to the technology and businesses?
Lets take a look at the average online business company before the smartphone revolution.
Their underlying technology looked similar to this.
Pre smartphone technology stack was only sharing generated HTML content and and views back to the Internet browsers.
Large, monolithic technology architectures were working just fine.
There was not much client side segmentation as well.
With smartphones gaining consumer adoption, online commerce interaction with business started to change.
In the new smartphone powered world – mobile applications needed the data. Generating and sending only HTML views to smartphones was not enough.
Mobile applications took control over the functionality as well. Listings, checkout flow, payments, notifications and others.
Suddenly, existing technology stack had to externally share much more than HTML representation markup – it had to share data as well.
And as mobile app adoption grew – the amount of data to be shared and its sensitivity grew as well.
What about APIs?
The most convenient way to expose all this data to applications was via external APIs or Application Programming Interfaces.
REST APIs became de facto technology standard for sharing underlying platform data with external 3rd party apps.
Enterprise technology stack has accumulated yet another layer – API Management.
What is API first?
API first platform design comes with mobile first technology design pattern.
Number of internet visits and number of online customers arriving from smartphones is larger than from desktops.
API first and Mobile first design principles mean that before building the underlying platform and applications we have to spend time defining how the business interactions will look on mobile clients, and what data / information we have to expose via external APIs.
By applying API first pattern, organisations can often increase their mobile application delivery cadence, as well as improve underlying technology platforms – by abstracting the complexity behind API gateway technology layers.