Applications Programming Interfaces (APIs) have been a driving force of innovation in networking over the past two decades. This trend is now accelerating with the expansion of cloud infrastructure and API programmability, which will enable anybody to manifest networking functionality into applications with the press of a button.
Before we delve into how the potent combination of cloud services and APIs will accelerate innovation, let’s first explain how APIs changed the game in networks — and where this is likely to go in the future.
APIs have been around since the early days of computing. APIs are essentially pre-built software hooks that can exchange information between two services or different applications. Think of an API as a software ‘bridge’ between one software application and another. This bridge can also be quickly built between software and then underlying infrastructure (compute, storage, networking). At the same time, the adoption of open, programmable interfaces such as HTTP (Web) and JavaScript has made APIs more accessible as the Web and HTTP becomes a ubiquitous interface.
By using APIs, and specifically an open API, infrastructure can become more adaptable and efficient than in the world of proprietary management applications. The main reason is that it saves time. For example, if you are building a communications applications that needs to use networking infrastructure in a specific way (for example, for real-time communications with low latency), the existing networking infrastructure likely has an API you can use to hook into that capability — without writing specific code. You just connect to the API.
Rise of Networking APIs: Cloud & Data Center
One of the great examples of how APIs can be used to promote innovation was when Arista Networks became one of the first major networking vendors to provide open APIs to customers. At the time, this was considered innovative and led to Arista gaining market share from competitors such as Cisco Systems, which at the time of Arista’s emergence was not a proponent of open APIs, preferring to use its own proprietary management systems or Command Line Interface (CLIs). Most of the networking space, including Cisco, has now moved to providing open APIs to proprietary equipment.
Another area where APIs became popular was with programmable networking silicon, such as Broadcom or Barefoot Networks (now owned by Intel). As standardized hardware became increasingly prevalent in the cloud with open APIs, this allowed cloud and webscale builders to build programmable infrastructure that could be driven by applications that hooked directly into silicon APIs.
All of this has made developers much more efficient. They no longer have to program all networking infrastructure from scratch — they can quickly adopt new functionality through an existing API. This yields a lot of flexibility in networking services and applications.
The New API Ecosystem
The long-term impact of APIs in networking means that innovation in services and networking functionality will be increasingly delivered in the form of software that can leverage diverse APIs. If you think about the basic concept – functionality abstracted out to an API that can be democratically adopted by anybody – what it essentially means is that any physical infrastructure or service can be represented as software code. This also means that almost any existing physical infrastructure can be abstracted to be represented as a cloud service.
A great analogy was made by Itential CTO, Chris Wade, in comparing network programmability to iPhones and Android. Once these popular smartphone ecosystems developed a broad range of APIs, there was an explosion of innovation in apps and innovation that could leverage the devices for many services. In Wade’s vision, APIs have led software to become the primary interface to the network.
“That’s the most important thing — having a software representation of the network which can be managed individually,” he told Futuriom in an interview in March of 2020. “Those basic concepts have made their way into almost all modern network infrastructure. When you start talking to public cloud instances, those regions are basically a software orchestration layer that lets you talk to that whole network.”
As the power and availability of cloud infrastructure explodes, this means that more and more capabilities will be available through APIs. One interesting example is in the messaging and communications space, where standardized APIs available through the Web RTC spec means than anybody can quickly embed real-time communications apps such as video into a software tool. This results in an explosion of video collaboration and customer services applications that leverage networking infrastructure.
In another example, the communications services company Twilio has experienced exponential growth by building a library of APIs that can be used throughout the industry to build standardized communications services – such as text notifications.
This move to APIs across the board – from the Web interface level to cloud and networking infrastructure means that new services application can be developed rapidly with specific control over the networking infrastructure getting baked into the application code – without the need for proprietary development from the infrastructure provider.
The result is going to be better programmability to enable developers to control infrastructure with software. This is what’s known as the “infrastructure as code” movement. What “infrastructure as code” really means is better and faster automation of networking infrastructure — enabling software applications to quickly program the network and provide end-users what they need as quickly as possible.