The application programming interface, more commonly known by its acronym “API,” may seem kind of old hat. History lessons typically date the API – and especially the Web API – to circa 2000 and the earlier days of online giants like eBay and Salesforce.com. But tech historians also note that APIs really go back much farther than that, long before the modern Web.
So why are APIs still so often misunderstood?
One possibility: While some of the principles remain the same, APIs have certainly evolved since then and continue to do so. They’ve also gone through multiple cycles of hype, not just in the Web 1.0 and Web 2.0 days but more recently, such as when the phrase “API economy” became popular in the tech lexicon several years ago. That term remains somewhat in vogue today, but interest in APIs is getting re-stoked because of the central role they occupy in cloud and cloud-native development.
As Gordon Haff, technology evangelist, Red Hat, recently told us: “Cloud-native is really just a shorthand for modern application and infrastructure practices. It’s the recognition that businesses across essentially all industries are increasingly reliant on software that can be brought online quickly, adapt to changing marketplace requirements, and run on infrastructure that’s attuned to both rapid changes in demand and new workload types. Think of it as the inverse of the big monolithic application running on a big iron server that evolved on a timescale of years.” (Read also: What are cloud-native applications? by Gordon Haff.)
Within that picture, APIs form critical connective tissue in a microservices architecture, for example.
As a result of this interest in cloud-native, microservices, and APIs, IT pros are likely going to need to be able to explain to others just what an API is and does, sometimes in plain terms that people outside of a software team can understand. That’s harder than it may seem, so we enlisted several experts to help. Let’s start with their clear-cut definitions of an API.
[ Read also: How to explain cloud-native apps in plain English. ]
What is an API?
Barry Walker, software architect at CYBRIC: “An API is a documented way for developers to share pieces of functionality. It’s meant to give developers an easy and standard way to build functionality without having to write all of their own code.”
Bhanu Singh, VP of engineering at OpsRamp: “Essentially, [an API is] a ‘contract’ between two or more independent or interrelated software applications or components that allows these applications or components to communicate and work together.”
Glenn Sullivan, co-founder at SnapRoute: “An API is a set of instructions, written by the developer of an application, which is published for the benefit of other developers. The goal of APIs is to give developers a common, standard method for writing software that builds upon each other.”
Mike Kail, CTO at Everest: “The simple definition of API is that it is a URL or set of URLs that expose a service for customers to programmatically access to send and receive information. This allows developers to connect different systems, or components of a system, without having to understand all of the complexity involved.”
Speaking of complexity, non-technical folks are probably going to care less about how APIs work and more about why they’re valuable. Let's talk benefits.
This isn't a simplification, it's trite marketing babble. Plain English? No.
Computers take a formatted input, make calculations, and export a formatted output. API is the standard that establishes the formats of that input and output.