Starting from the Alexa morning alarms to our Car Stereo systems to a Bank’s Payment gateways to a giant Network Infrastructure of an organization, Application Programming Interfaces (APIs) are everywhere. APIs are basically just a way to facilitate effective and smooth communication between a variety of devices in same / different networks. While many other protocols / mediums also exist for the same purpose, for API to gain this supernova rate of adoption it should definitely have solved some big problem still left unresolved.
Any communication (Between devices / humans) must account for the following components.
- WHAT ? (Communication content)
- WHY ? (Purpose of Communication)
- WHEN ? (Time to trigger the communication)
- WHERE ? (Between whom should the communication happen — Source & Destination)
And the most important
- H.O.W ? (How does the communication happen between 2 human beings / 2 devices ?)
While the VTYs, the SNMPs, the NETCONFs have all answered the 4 questions perfectly, no one was able to crack the last but most important “HOW”. This is where API made its move and kicked out all other mediums out of the race.
THE PARADIGM SHIFT — How the “H.O.W” was solved ?
Historically technology operations have always followed an imperative approach to network management as below.
- Input instructions/ commands into a set of devices.
- They perform a series of actions.
- The actions help achieve the desired outcome.
While this had its fair share of advantages, this also had the human factor within the equation. Humans take time and humans make mistakes. This is where API transformed the Imperative to Declarative approach.
In Declarative approach, just the end state / outcome is fed as input and the behind-the-scenes API systems take care of how to get you there.
Real life example (Guiding a person to a particular address) :
- Imperative — Turn 3rd left on XYZ Avenue, head straight for 250 mtrs, …. on and on.
- Declarative — Input address in GPS app. It helps the person reach there.
DECLARATIVE 1–0 IMPERATIVE. GAME OVER.
Let’s quickly jump into 3 winner reasons that make API UNAVOIDABLE + UNBEATABLE.
#1: API — THE NEW LINGUA FRANCA :
A network infrastructure is built atop multiple layers of different devices each having their own architecture and communication standards. So the missing piece in the puzzle was how to find a middle ground on how different devices communicate with each other.
REpresentational State Transfer (REST) API, the most commonly used API brought about a fresh change in the way information exchange between devices happen. It facilitates the exchange of payloads of any format, most commonly JSON. However the structure of JSON is not defined and is different for each application thus opening up huge opportunities for potential use cases.
RESTful APIs provide a standardized, stateless architecture that enables users to integrate and automate various software solutions bringing all applications down to a common ground making it the Lingua Franca of Device Communication.
AppViewX stands for the similar values of multi-vendor, multi-platform network infrastructure automation and orchestration by having API as its backbone.
#2: LESS — THE NEW “MORE” :
By bringing in a standardized architecture API has also taken out another major dependency out of the equation — The human dependency. REST APIs use HTTP to perform a set of actions abbreviated as CRUD (Create, Read, Update, Delete). This way any operation performed by an user on data stored in a server can be generalized easily making communication super simple. This also minimalizes the human errors and cuts short the time taken to implement these actions across various devices.
The approach can be so “LOW-CODE” which is another value AppViewX stands for.
The above simple illustration demonstrates the actions to populate/ depopulate/ update the AppViewX device inventory.
- Assuming the user wants to manipulate a ‘device’ object on a server an HTTP GET request to /api/devices can be sent and a response with payload containing a full list of known devices is received.
- If we want to add a new device, we need to construct a payload with device attributes (e.g. IP address, Hostname) and send it attached to an HTTP POST request.
- To update a device we need to send the full updated payload with HTTP PUT method.
- To delete a device we need to send the payload containing the device name with HTTP DELETE method.
#3: AUTOMATION FIRST — AUTOMATION LAST — AUTOMATION ALWAYS :
Automation of Network Infrastructure is not a luxury anymore.
It is the need of the hour.
API has transformed the way network services are being delivered. In Software-Defined Networking (SDN), API enables greater orchestration and automation of the network, simplifying the provisioning and managing of network required for a service or application. APIs due to their cross-functional abilities provide a holistic landscape of the entire network infrastructure to customers and users alike.
The potential to seamlessly work along with numerous orchestration tools like Ansible, Chef,etc., ; self-service integrations like ServiceNow, JIRA,etc., makes the automation of an organization’s network A MUST. RESTful APIs will play a major role in the future of datacenter management — so having an audit of the applications, hardware, and software within your infrastructure today and throwing out those who don’t provide a RESTful API is the key to make your network scalable, fast and automation — ready.
AppViewX also stands for “AUTOMATION FIRST” as one of its core values by providing a quick, reliable and self-sufficient automation solution for all your infrastructure needs.
Define your desired end state, and let the software and RESTful APIs determine the best possible way to get there ! As a wise man once said ..
Leave it to “REST” (API) and “rest” will be history !