The Declarative Power of APIs
It’s getting harder to turn around in the technical world today without bumping into some sort of reference to an Application Programming Interface (API). APIs play a major role in the industry, opening up management and programmatic capabilities to hardware and software alike. APIs allow IT Operations to easily integrate new and old products into existing automation, orchestration and service processes, making things easier to manage and increasing go-to-market times and strategies. Why plunge into APIs now? What’s the reason for these once “developer only” interfaces entering into the IT Operations world?
The Imperative to Declarative Shift
Historically IT Operations has taken a more imperative type approach to management, meaning specific instructions are sent to the infrastructure and executed. If it’s not correct, further instructions and commands are sent to perform some other action. While this approach worked well for many years it had its flaws — with the first and foremost being its use, as humans, commanding our infrastructure. Inserting a human element brings with it many risks — Humans make mistakes, Humans take time. In the “Software-Defined” world a major shift is occurring — moving from the traditional imperative methods to a declarative approach. Rather than sending commands one-by-one to our infrastructure we now just define a desired end state, telling the infrastructure exactly how it should look. The software then works in harmony with the infrastructure to figure out the best way to get there.
As an example, imagine you have invited someone over to your house. In order for the person to arrive at your home, you must give exact directions — “start by going straight down Main Street, then right at the In-N-Out Burger, ensure to follow the stop light instructions at the intersection of 1st Ave and A Street. My house is the ninth house on the left past that intersection.” This is the imperative model of thinking. Alternatively using a declarative model, I could say “my address is 16 National Ave; input it into a GPS app — it will navigate you using the best route.”
That said, in order to orchestrate infrastructure, software needs a common ground to provide communication channels. RESTFul APIs bring a standardized, easy to use architecture which IT Operations are able to utilize, orchestrating processes across all four corners of the data center. RESTFul APIs bring IT Operations much closer in achieving a declarative, desired end state approach.
Software Has Changed
It’s not just IT Operations which has changed — the software and solutions deployed are also undergoing a major shift. Comparing data centers from 10 years ago to that of today shows drastic differences. The once monolithic infrastructure that was relied upon for so long has given way to a more modular approach. Cloud and microservices are now standing up to take on the brunt of our workloads, providing small, reusable chunks of code that assemble themselves in unity to deliver large, complex applications. Rather than managing workloads at an application-level, they can now be broken down into small, ephemeral pieces. When a service becomes unavailable, another simply takes its place — when the need to scale occurs, distributed file systems allow multiple nodes to work in harmony, providing more resources to the overall applications.
RESTful APIs provide a standardized, stateless architecture that allows us to integrate and automate these disparate and separate software solutions, bringing all applications down to a common ground.
Historically IT Operations could deploy one single software suite which often came with everything needed to manage that application — today, with large distributed data centers that’s no longer the case. Take the VM lifecycle for example — it’s not enough to simply deploy a VM based off a gold template anymore. There are many other processes and tasks that need to be taken into account. Does the VM need to be included in your data protection solution? Do we need to provide any standard monitoring of services and applications running within the VM? Does the VM need to be added to any Change Management or asset tracking applications? In order to deploy a true declarative VM provisioning process all applications and processes relating to the VM need to be considered.
RESTful APIs provide a standardized, stateless architecture that allows us to integrate and automate these disparate and separate software solutions, bringing all applications down to a common ground. Not relying on any specific underlying technology means IT Operations can easily integrate new services into existing automation toolsets. Coupling this with abstracted management and operation layers, APIs provide a means to deliver a highly automated, scale-out solution.
So REST Is Here to Stay
RESTful APIs provide the stateless, common architecture that IT Operations has been longing for. No more proprietary CLIs — simply integrate orchestration and automation into your existing toolsets. REST is platform independent and can be executed regardless of the underlying language. Only available since the early 2000’s, we have seen the number of connected devices leveraging RESTful APIs increase drastically with no signs of slowing. RESTful APIs will play a major role in the future of datacenter management — so have a good look at the applications, hardware, and software within your infrastructure today and weed out those who don’t provide a RESTful API.
Define your desired end state, and let the software and RESTful APIs determine the best possible way to get there
Feature image via Pixabay.