Application Programming Interfaces, or APIs, are all the rage.
While APIs are not new, recent phenomena such as accelerated digital transformation during COVID-19, enhanced software integrations, and efforts to replatform legacy apps for the cloud, has resulted in continuous API sprawl—impacting management, security, and even architectural choices organizations make in order to succeed in the modern digital economy.
APIs, in essence, can represent the rise of the machines. Except, fortunately, humans still have control over their construction, management, and security (at least for now).
Fundamentally, in “API speak” (so to speak), the consumer generally sends queries or requests to the producer, through unified interfaces consisting of various standards, schemas, and specifications.
For example, the National Weather Service (the producer) contains daily weather data. The weather app on your phone (the consumer) calls, or more specifically, queries, this system via the WeatherKit REST API, and then renders the data through the weather app user interface. While this is a simple example of a popular app used by millions of users, it is noteworthy that machine-to-machine communication represents the lion’s share of traffic for modern digital experiences, and it’s powered by APIs.
There are a number of technology benefits that translate to business value afforded by APIs:
Technology Benefit | Business Value |
---|---|
Abstract the underlying implementation of a web app. | Organizations can quickly deploy mobile apps and microservices-based architectures. |
Specify types so developers can implement API consumers through tooling. | Leaders can optimize development processes to facilitate improved time to market. |
Define semantics/behavior to model consistent and predictable information exchange. | Partners can develop and monetize third-party integrations. |
When it comes to the implementation of APIs, there are a number of considerations. Specifically, with respect to modeling, versioning, and contract testing, which help to decouple dependencies and ensure interoperability during design, construction, and maintenance.
Consideration | Description | Benefit |
---|---|---|
Modeling | The semantics or behavior to represent and structure the exchange of information. | Streamlined management of distributed architectures. |
Versioning | Governance strategies for release and maintenance throughout the API lifecycle. | Maximal usability and backward compatibility. |
Contract Testing | Defined interaction and expected responses between the consumer and producer. | Deterministic interactions with third-party business integrations. |
There is no right or wrong way to build, manage, and secure an API. In fact, when APIs started to proliferate, it became necessary to standardize on the shape and structure of APIs in order to consume them at scale. Enter the OpenAPI Initiative and resulting OpenAPI Specification (OAS). Swagger was the original reference implementation of the OpenAPI Specification, and most tooling has now converged on using OpenAPI, which still maintains its swagger (HA!)
In fact, an API can be constructed using a variety of standards, schemas, and specifications. For example, a RESTful presentation, a gRPC service, and connections into a GraphQL schema.
Implementation | Overview | Benefits | When to Use |
---|---|---|---|
REST is by far the most widely deployed implementation of API-based architectures. |
|
|
|
GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling those queries with existing data (developed by Facebook and now part of the Linux Foundation). |
|
|
|
gRPC is a modern, open-source, high performance Remote Procedure Call (RPC) framework under stewardship of the Linux Foundation. |
|
|
With that primer on API fundamentals, we’ll explore how to build, manage, and secure API architecture in subsequent posts before putting it all together by replatforming a legacy app for the cloud.
Want to get ahead? Download the eBook today: