Article by Kong’s Director of Field Technology for APAC Brad Drysdale.
There is speculation about exactly when it was issued and by whom, but a warrant made twenty years ago continues to shape the software development process today.
Dubbed the “API Mandate”, it was issued by someone within Amazon to guide the company’s large team of developers. He said that starting today, all development teams must expose their data and functionality to others through service interfaces, now called APIs.
The mandate went further. He said that development teams should only communicate with each other through these interfaces and that there should be no direct bindings, no direct readings from other data stores, and certainly no backdoors.
Moving from monolith to microservices
The reason for issuing the warrant was a growing challenge facing the very core of Amazon. As the company grew, the complexity of the software supporting its operations also increased.
Amazon’s IT team realized they needed to move away from a strategy of building monolithic software. They needed to break things down into smaller components that could then communicate with each other as needed.
The team turned to service-oriented architecture (SOA) design, then took it a step further by enabling small, agile teams to build microservices. By following this strategy, individual components of an application could be created and their common functionality shared with other microservices. In this way, the building blocks were tied together to meet the computing requirements of any particular business use case.
APIs played a key role in this evolution, as they provided an efficient way for services to interact with each other. Each API has also been fully documented so that it can be found and used by other teams in the company. This was designed to eliminate redundancy and duplication.
A new business opportunity
Amazon’s adoption of APIs not only changed the way software was developed internally, but also created an opportunity for a whole new business enterprise: Amazon S3.
S3, or Simple Storage Service, has become an offering that allows any customer in any industry to store and protect any amount of data. As its popularity grew, it became a major new revenue stream for Amazon.
In addition to making S3 possible, the microservices and API strategy followed by Amazon has also enabled the company to establish its Elastic Compute Cloud (EC2) service. It was effectively the dawn of the era of cloud-based on-demand computing.
APIs may have been around since the 1960s, but what Amazon has done is reveal their potential to revolutionize data centers and software development. By building arguably the largest distributed cloud in the world, Amazon has led the way and offers an example of what can be achieved with APIs.
follow the rules
Other organizations wanting to harness the power of APIs and put them at the heart of their IT infrastructures must follow a set of rules.
Two of the most important are that APIs are forever and their backward compatibility should never be broken. Developers should also work backwards from customer use cases and create APIs that are self-describing and have a clear, specific purpose. APIs should also be built with explicit and well-documented failure modes.
Despite the fact that they are already widely used, the future potential of APIs remains enormous. According to Kong’s 2022 API and Microservices Connectivity Report, nearly 70% of technology leaders say API budgets will continue to grow in 2022.
An era of ‘API first’
Clearly, adopting an API-centric development strategy can deliver significant benefits. It can support innovation, make businesses more responsive, and seize new opportunities as they arise.
Rather than having to work with large, unwieldy applications, development teams can be nimble and much better positioned to deliver what is required by a growing organization. The mandate may be 20 years old, but it makes just as much sense today.