The History and Evolution of APIs
APIs have become an important part of the tech landscape. They’ve been around for decades and have evolved a fair amount since their inception. API stands for Application Programming Interface, which is a number of definitions for building application software. APIs use standardized protocols to allow services to communicate with each other without having to know how others are implemented.
In this blog post, we will explore their history in order to understand how and why they have become such an integral part of modern software development.
1950s: The idea of an API was born
Back in the 1950s, an API was understood as a potential method to facilitate communication between two computers. The term was first mentioned in a 1951 book written by Maurice Wilkes and David Wheeler called ‘The Preparation of Programs for an Electronic Digital Computer.’ It outlined several key computing terms, including an early version of an API. At this stage, an API was starting to exist, but they were limited to simple, command-line interfaces that enabled programmers to interact with computers. These early APIs set the stage for variations of APIs to crop up in the future.
1960s and 70s: The concept of an API evolved
Throughout the 1960s, computers started growing in popularity, and organizations were beginning to experiment with their uses. The term API was understood at this time as the interaction of a single application with the rest of a computer system. By introducing a consistent application interface (usually Fortran subroutine calls), programmers could free themselves from the idiosyncrasies of the graphics display device. APIs were used to enable communication between mainframes and other systems, such as terminals and printers. They could benefit from hardware independence if a computer or display needed to be replaced. In 1974 the term API was introduced in a paper called ‘The Relational and Network Approaches: Comparison of the Application Programming Interface.’ It introduced APIs to the world of databases. It became evident that APIs could combine different interfaces to support all types of programming.
1980s: APIs set the stage for the internet
In the 1980s, computer networks started becoming commonplace and programmers needed to access libraries located both in their local computers and also in computers elsewhere. APIs enabled Remote Procedure Calls (RPCs) that were generally supported by Java. APIs played a critical role in enabling cross-platform compatibility, allowing developers to create applications that could run on multiple platforms.
1990s: APIs started growing in popularity
The 1990s saw the birth of the internet, and APIs were a way for applications to exchange data with the use of a standard set of protocols. Instead of only enabling an application to share messages with the rest of its computer system, APIs allowed applications to share messages with applications in other computer systems across the internet. Carl Malamud described APIs as “a set of services available to a programmer for performing certain tasks.” APIs were still in their early stages, but they were to pave the way for the emergence of web services in the next decade.
2000s: API adoption allowed new business models to take off
In the early 2000s, the internet was taking off, and developers were looking for ways to simplify web development and programming. In 2000, a dissertation by Roy Fielding called ‘Architectural Styles and the Design of Network-based Software Architectures’ defined REST as the protocol of choice, allowing for standardized communication between devices across the internet.
As online applications grew in popularity, organizations started moving everything to the cloud. Salesforce, eBay, and Amazon pioneered the delivery of services, using HTTP to provide access to machine-readable data in a JSON or XML format through web APIs. Very soon, both innovative startups and large-scale enterprises were implementing as-a-Service offerings that leveraged the cloud and its API-first model. By the time Apple launched the iPhone in 2007, APIs had already revolutionized the way companies deployed infrastructure.
Not only were APIs infiltrating SaaS-based applications, but they were also being built on top of platforms that leveraged APIs. Amazon was one of the first cloud providers to pioneer an API-focused determination, mandating all shared digital resources to have an API. Others followed their lead, inspired by Amazon Simple Storage (S3) and Amazon Elastic Compute (EC2).
2010s: APIs continued evolving
By 2010, social media was overtaking the population, and its applications were setting the stage for a new generation of APIs. As the demand for efficient, cost-effective, and highly scalable applications became urgent, APIs made it easy for organizations to integrate their information systems with third-party services (such as payment processors and CRMs) as well as API-driven cloud platforms.
When Kubernetes entered the scene in the mid-2010s, it encouraged a move towards distributed systems consisting of loosely-coupled, ephemeral microservices, each implementing its own API. APIs empowered organizations to extend the reach of their web applications to a global user base. As APIs were based on standardized protocols, they enabled developers to create applications in multiple environments and with multiple services.
2020s: Modernizing APIs
By the time COVID-19 heightened our dependence on web services, APIs continued growing in sheer usage as systems continued being broken down into more microservices. Today, they are becoming vital for Internet of Things (IoT) devices and are building an interconnected yet distributed world of data. Moreover, they are increasingly important for the construction of AI.
Organizations are running applications across different cloud providers in distributed systems, and effective APIs are key for making sure all services can communicate with one another. They rely on well-designed APIs to reap the benefits of cloud native applications, such as scalability, performance, and security. Today, rather than starting with the application itself, developers adopt an API-first approach, designing APIs first and then building applications around them.
The future evolution of APIs
The evolution of APIs has so far been a long and winding road. APIs have been around for many years and have become the standard for businesses to remain digitally relevant. As API adoption continues growing, APIs themselves are evolving in two ways to address some of their inherent challenges.
Firstly, security is becoming more important each year, itself being a byproduct of the proliferation of APIs. As systems become increasingly distributed, hackers have a much wider surface area to attack meaning far more vulnerabilities to exploit. This makes the case for API security imperative.
- Zero-trust security is a hot trend at the moment as it addresses these concerns and will likely continue growing in adoption as a result. Zero-trust is essentially the principle that you should never trust, by default, any entities in your infrastructure or network. Even if a request entering your application comes from a client inside your network, you must verify the client is both authenticated and authorized. Your application needs to know who they are and that they have the right permissions. You must also make sure all network calls are encrypted.
- Rate limiting middleware is used to keep APIs secure, as it minimizes the risk of a server crashing from a Denial of Service (DoS) attack. In these attacks, the attacker either floods your server with more requests than it can handle or transmits requests that prevent your user from accessing your application.
- Observability is becoming even more critical for the evolution of APIs. Without effective methods for observability, you have no way to identify and troubleshoot breaches or incidents as they occur.
Secondly, API governance will continue to be a key focus in the future. API governance is a discipline that involves setting policies, standards, and guidelines for the development, deployment, and maintenance of APIs within an organization. The primary motivation for API Governance is to ensure that APIs are designed and implemented in a consistent, secure, and scalable manner that aligns with the overall goals and objectives of the organization.
Acing API management in your organization
Distributed systems are innately complex, and API management is needed more than ever. Effective API management is the action of publishing, securing, managing, and observing APIs as they interact with a myriad of applications and services. It involves integrating an API gateway, which is a technical layer that sits between the API consumers and the API provider, providing features such as security, traffic management, and request/response transformation.
Traefik Enterprise is an all-in-one ingress controller, service mesh, and API gateway created to ease microservice complexity. It helps you ace API management by focusing on the operational aspects of APIs, such as monitoring, performance, and analytics.
APIs have allowed developers to create more powerful and efficient applications quicker than ever before with ever-increasing abstraction levels. APIs truly have become the core of modern software development. What started out as a way for two computers to exchange data has become the foundation for modern applications and services, especially in distributed systems.