James Sherlow, senior systems engineer at Avi Networks, discusses the rise of intent-based automation

IT is suffering a crisis of scale. In days past, managing IT was a human-scale job. It was taxing (as any IT person will tell you), but you could at least hope to get your arms around it. Now, with hundreds of applications running across thousands of containers and virtual machines, we’ve created infrastructure that mere humans can’t realistically tend anymore. There aren’t enough IT people to manage applications and infrastructure in real-time. There’s too much happening, too fast. Enter automation.

For the most part, automation has been and continues to be imperative (input-based). That is to say that the automation needs to be meticulously scripted based on predictable events. You still have to make all the decisions. This type of automation functions only based on human-crafted scripts and playbooks. It’s like configuring a smart light with Amazon Echo and saying, “Alexa, kitchen lights on”. It’s cool — maybe even convenient — but it isn’t that much better than flipping the switch manually. Imperative automation is a step in the right direction, but leaves a lot to be desired.

For example, let’s say developer 1 is requesting compute resources. Traditionally, developer 1 would submit a ticket and the IT organisation would spin up the necessary resources and services. This process may take a couple of days. Imperative automation could script actions based on trigger events. “If developer 1 requests XYZ, provide XYZ.” This takes a lot of scripting and APIs with your infrastructure, security, and application services systems. This can work, but what if developer 1 requests ABC? Or what if developer 2 has a request? You have to make decisions for each scenario and craft automation scripts for each—creating a lot of additional work for IT organisations.

Navigating intent-based automation