Wherever one looks in enterprise IT, whether to cloud services, microservice application designs or the digitization of business processes, a common theme is increased use of abstraction layers that isolate the means of service production from the users and their modes of service consumption.
I detailed the concepts as applied to cloud infrastructure in this column. For example, an intrinsic property and benefit of AWS is that users needn’t be concerned with the type of physical hardware used to deliver an EC2 instance or S3 bucket, just that they are provided the capacity and external parameters they requested.
In all cases, even if it’s an internal demarcation between mobile and cloud-based features, there’s a form of contract between the user and the service for functionality and features to be delivered; a contract that’s documented in the language of the API.
Wrapping a service in an API enables developers to access all manner of sophisticated algorithms and data without worrying about, or necessarily even understanding, the implementation details. Similarly, APIs allow a service producer to add features, optimize performance or entirely change the delivery implementation without disrupting its customers.
Online services like Facebook, Google Maps and Twilio have long exposed rich data and features via APIs that are now the foundation for thousands of applications. Now, enterprises across industries see that the same approach allows them to package services and data as APIs, fueling new digital strategies.
APIs took center stage last week at a Linux Foundation API Strategy event in which developers heard about both the importance of standard, portable, reusable, interfaces and their use to foster a broader “API economy.”
The underpinning for the event, and the Foundation’s role in its sponsorship, is the Open API Initiative, an open source project to standardize the Swagger API specification as an “open source framework for defining and creating RESTful APIs” and which has the backing of 28 companies ranging from tech giants like Google, IBM and Microsoft to niche API startups.
The effort is significant since it promises easier access to APIs from different vendors and better, more readable API design that makes APIs usable by non-developers. As the OpenAPI specification describes the project (emphasis added),
The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.
As a Google developer highlighted, broadening and standardizing access to sophisticated features make “An API specification is a contract representing the developer’s guarantee of an APIs behavior to its consumers.” Such contracts not only improve the development and testing process, but allow enterprises to encapsulate their digital assets, whether data or domain and process expertise into monetizable products.
In light of the success of API-centric products like Box, Expedia, Twilio and Zendesk, this 2013 Harvard Business Review article on the need for an enterprise API strategy seems even more relevant. The authors presciently argued that (emphasis added)
As more companies realize that information is key to their product and service offerings, and that they need an ecosystem to provide those offerings, APIs will grow further in popularity.
Of course, an API strategy is not a binary decision — to use them or not to use them. There are public (open to everyone) and private (open only to certified developers or partners) APIs. … There are information and services that you want to give your ecosystem access to, and those that you probably should keep to yourself. In short, your organization needs to debate the various elements of an API strategy, and then you need a set of governance mechanisms to enforce it.
OpenAPI provides a solid foundation for building an API strategy since it is usable by both developers and product managers, human readable yet also able to be programmatically parsed by machines. It’s also exceedingly flexible, supporting both code-first, post hoc API development in which the API exposes and describes existing software features and a design-first approach where the API is used to shape software development.
Making APIs more comprehensible addresses the top problem users of open source encounter, incomplete or confusing documentation. Indeed, one theme at the conference is how well-designed APIs are the best form of documentation, i.e. self-documenting code for the microservice era that harkens back to Knuth’s then-revolutionary idea of literate programming.
APIs making a difference
APIs aren’t just enabling some of today’s fastest-growing online businesses, but are changing the way governments and internal organizations operate. For example, one presentation discussed the Digital India initiative, specifically its use of open APIs for its AADHAAR security service that provides a digital identity to 1.2 billion people.
Opening up access to the platform not only reduces waste and fraud in the processing of government payments, but provides a secure, non-repudiable authentication mechanism for banks, micropayment/digital wallet applications, utility companies, healthcare and other government services.
AADHAAR also provides the foundation for IndiaStack, a set of APIs available to both government and business that provides the digital, API infrastructure for the country’s goal of a presence-less, paperless, and cashless society.
Microsoft uses OpenAPI extensively to describe and enable developer access to its services, including for the Azure APIs, client libraries and as the framework for customers to specify APIs they want to integrate with Azure LogicAPIs or manage via Azure API management service. In a presentation, one of its product leads said that OpenAPI has helped accelerate development while improving usability and extensibility.
APIs are a critical part of the digital economy’s plumbing and can eliminate much of the friction that inhibits the exploitation, monetization and proliferation of digital assets and intellectual property. A new report attempting to quantify the economic implications of the digital economy finds the benefits of digital investments to be astronomical.
A US $1 investment in digital technologies has led to a US $20 rise in GDP. This return on investment dwarfs the US $3:US $1 return for non-technology investments in the same period. This result shows that for every US $1 investment the average return to GDP is 6.7 times higher for digital investments than for non-digital investments.
The multiplier comes from three so-called spillover effects:
- Internal magnifiers as companies learn how to better leverage technology investments such as GPS tracking for a logistics company or smart, connected instrumentation (i.e. IoT).
- External, horizontal effects within an industry as competitors emulate successful digital innovations that improve their efficiency and profitability.
- External, vertical proliferation of a digital investment across elements of one’s supply chain, manufacturing processes and delivery system.
Although the report doesn’t single out APIs, it does state that crucial factors in maximizing digital spillover is collaboration and openness. APIs provide both the visibility to digital assets and the glue that facilitates symbiotic cooperation between them. I contend that organizations that treat APIs as a fundamental part of their digital business strategies will have a competitive advantage over those that allow information and application assets to Balkanize.
Image credit - via the author and opensourcesurvey.org