APIs and API First design
In this post I want to discuss what API first technology 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.
It has also spun the business use of small screenless sensors and computers which we now call Internet of things.
In the below graph you can see the number of smartphones and IoT devices in comparison with standard desktop computers.
One thing all these new devices have in common?
They all rely on APIs for most of their functionality.
What exactly was different for technology landscape?
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.
Most common way for the consumers to buy online was by using the standard desktop browsers.
Technology strategy for companies was to only share the HTML content and generated content views back to the Internet browser (see the above picture).
Large, monolithic technology architectures were working just fine.
There was not much client side segmentation as well.
With smartphones gaining adoption, consumer interaction with business started to change.
In the pre 2007 diagram we see that even though consumers were accessing e-commerce properties over the Internet, the full control over technology and application business logic and data stayed with the business.
In the new smartphone powered world – mobile applications needed the data.
Displaying only HTML on smartphones was nought enough.
Mobile applications were controlling 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.
For mobile applications to work – business technology systems had to share the data.
In most cases the sensitive data as well.
What about APIs?
With all this historic context we can talk about what external API or Application Programming Interface actually means for business technology.
The internal data from business owned technology domains has to be shared externally for mobile (and IoT) apps to work.
And most common industry practice is to share this data via external APIs.
What is API first?
So what API first technology design actually means?
Based on the trends we discussed above, Internet of everything will be consuming more data and will require more APIs to be exposed publicly.
For businesses who are earning money by providing services via all these channels – technology strategy is to build / renew their technology stack with API first mindset.
Start from thinking about external APIs as business products before implementing new backend system functionality.
Technology teams should clearly define the needed interfaces before starting deliver the actual technology systems. This is a big cost and time saver for organization.
API first means we now have to consider the readiness to expose sensitive data to the public environments in order to support business challenges arriving from the smart device adoption.