The word automation is currently front-and-center of the Cloud Networking industry. In a world where advancements in technologies such as virtualization, containerization, and edge computing are moving at such as fast pace, automation appears to be the go-to answer to address the complexity of these new environments. Whether it is a public cloud vendor providing tools to migrate applications to their cloud, or an VNF vendor that promises easy onboarding, many vendors use the word automation as a key benefit or ultimate goal. This is particularly true for orchestration vendors that have shifted their messaging from provisioning-only to automation of the entire lifecycle of cloud network service. But is all automation equal or are we comparing apples to oranges?
Automation in Cloud Networking services
To answer this question, we need to look at the definition of automation: the technology by which a process or procedure is performed with minimal human input. The goal for any orchestration solution that claims full automation is to minimize the human effort required to design, test and manage cloud network services. The traditional way to achieve this is by using a workflow-based orchestration solution. Workflow-based orchestration aims to automate pre-defined and repeatable tasks. Each task in a workflow has to be manually created.
When we look at cloud networking, a service may consist of various dependent software applications that each have their own infrastructure, (such as placement or hardware requirements), connectivity, and lifecycle requirements, (start, stop, install, uninstall, configure) that all need to be setup, maintained, and changed in order to deliver an optimized service. With a workflow-based orchestration solution, all these tasks need to be manually programmed first. Also, workflows need to be pre-defined for each particular scenario for the service, for example, when the service is in production and needs to scale, heal, upgrade, or migrate in various conditions. In one of our customer cases we have seen an EPC that came with almost one hundred pre-defined workflow scripts for various scenarios.
Having to manually pre-program all the scenarios with workflow, is not delivering the promise and definition of automation. This is especially the case with today’s dynamically changing services that can be deployed in an edge location temporarily before being moved again, whilst simultaneously having to be upgraded as a new version of one of the VNFs has been released. The answer to increase the level of automation for some of the workflow-based orchestration solutions is pre-built templates or blueprints. This does remove some of the manual effort, but it does not cover all scenarios. Any changes to the shape of a service or a new requirement such as an upgrade will cause a manual re-programming of the workflow. Workflow, or even workflow based on pre-built blueprints, still relies on manual effort and thus is error-prone.
Intent-Driven orchestration on the other hand is a new approach that fundamentally changes the way cloud network services are managed. Rather than relying on the pre-programming of tasks, intelligence is placed within the engine that figures out how best to move from one state of the service into the desired state. The best way to explain this is by looking at car navigation. In order to drive from A to B, in the traditional world you had to manually interpret the map and plan your route, taking note of all the exits, turns, etc. If there was a roadblock, you had to go back to the original design and re-plan the route. Satellite navigation systems, however, changed this and put all the intelligence inside of the system. All the user needs to do is point the system to the desired location, and it will figure out how to go from the current location to the destination without any manual effort. If a roadblock or change happens, the system continuously optimizes the route without human intervention.
So is all automation equal?
A short answer to the question of whether all automation is equal is therefore a simple one: no. For cloud networking services, workflow-based orchestration tools do reduce the amount of manual effort by automating some of the tasks for some of the scenarios. However, in the new world of complex dynamic services that consist of hundreds of software components which all have to be connected and managed, we need a new set of tools that deliver true automation without the reliance of manual effort or pre-programming.