Workflow ubiquity: why vendors are so bad at enabling automation
It’s not that automation is not something that people see as important, but despite the desire, automation in networking has been an empty promise for decades. That said, every networking vendor has pitched some form of automation as part of their standard messaging for years. But the on-the-ground reality for the vast majority of people using this networking equipment is that automation is still a future, something that exists just beyond the horizon and never seems to get closer.
Nouns vs. verbs
Over the years, I have spent an inordinate amount of time in front of network architects and operators, and the pointy-haired bosses that manage their business priorities. In virtually every single one of these engagements, we have talked about automation. And that leads me to the one question that I ask every single person who has automation as a goal:
What do you want to automate?
The question is innocuous enough. When I ask it, the context is always networking. These people are talking to a networking vendor. So when I ask them, the answer comes back the same about 80% of the time: the network.
Of course, since these people are talking to a networking person, the object of their desire is the network. But let us be clear about one thing here: you do not automate the network any more than you automate the table.
Put slightly more comprehensibly, you don’t automate nouns; you automate verbs. It’s the act of doing something that is automated. And if you don’t know what the verb is that you want automated, then you simply won’t be able to apply any of the newer automation technologies towards anything meaningful.
It starts with workflows
I could probably write at length about workflows, but I’ll just summarize for those who have not been drinking the automation Kool-aid quite as long. Workflows are the tasks and procedures that are strung together to complete some meaningful objective. It’s the steps you use to do something. If you cannot identify the workflows you want to automate, no automation strategy will be effective.
Networking people see networking workflows
So let’s bring this back to why vendors are not good at automation. There are two primary reasons. The first is that networking people see the world through a networking lens. This means that everything we try to automate exists within a networking context. And insofar as our automation target is networking, this seems to make sense.
But the vast majority of workflows neither begin nor end inside the network. They typically begin with some application or server requirement, involve the network for connectivity, and then require validation of the application or tenant connection or whatever. If you consider the end-to-end workflow, the automation target will very naturally extend well beyond the gear over which the vendor has control. How then do you provide automation?
And even for the workflows that can be contained within the network, if it is a heterogeneous environment, the automation tools must exist across multiple vendors’ equipment. This is also a difficult thing to accomplish, particularly given the vendors’ unwillingness to help their competitors encroach on their beachheads.
The issue with workflow ubiquity
The second thing that vendors do not deal well with is the notion of workflow ubiquity. Let me explain this a bit more. At the heart of any roadmap is a product manager. Product managers have a difficult task. They have to look at the world, take feedback from customers, sales teams, engineering, and the market at large, and distill that into a roadmap. Theirs is a world with near infinite options, and they have to pick the ones that will somehow drive the most revenue.
So what drives revenue?
The absolute best option is if you can build something once and sell it everywhere. This means that the things that are most likely to be automated are the workflows that are ubiquitously deployed.
But what is ubiquitously deployed?
From a vendor perspective, things like initial provisioning scripts can be deployed every time a device is sold. That makes it an ideal candidate for automation. The fact that it also helps make sure that a customer’s first experience with a device is positive is just a bonus. So what workflows beyond out-of-box workflows are ubiquitous. Well, there are VLANs to be provisioned, and then there is…
That’s the problem. The set of things to automate that are both wholly networking and are ubiquitously deployed by customers in all environments is tiny.
Not just provisioning
I should point out that it isn’t just provisioning workflows. The other major target for automation enthusiasts is troubleshooting. So we imagine what troubleshooting tasks can be ubiquitously deployed.
Here is the problem. While we frequently bemoan the quality of complex networking gear, it’s not like it’s dropping from the sky daily in most environments. If it was, the network engineers who complain most about troubleshooting issues wouldn’t have jobs.
No, instead it breaks intermittently. And in fantastically obtuse and difficult to predict ways. The things that vendors think are corner cases have a wonderful way of becoming reality in production environments. But it isn’t that it is breaking for everyone. No, it’s breaking for just the one unlucky operator who is dealing with the issue that day.
And because it is only breaking for one person at a time, it is, by very definition, not ubiquitous. Which means that the tools and workflows that would make that situation better fail to reach the revenue bar for repeatably deployed that would be required to justify prioritization in the roadmap.
More succinctly, it’s the unique snowflake issues that need attention. And while each one is a snowflake, it is worth pointing out that enough of them together does make a blizzard.
Production vs. consumption
This leaves us where we are as an industry. In the absence of knowing what workflows to automate, the vendors fall back on creating the tools required to automate things. And every few years, the toolboxes get a refresh because someone realizes that the state of automation is just as sorry as it was before.
Here’s the problem though. We don’t have a production issue. There are plenty of tools that exist. They could be better or more blue or more triangular. They could use this language or that tool. They could integrate here or there. We could certainly have better tools.
But what we really have is a consumption issue. We need to make automation more easily consumed. And not just by the high end of the motivation continuum.
The bottom line
While there is more automation chatter in the networking industry than ever before, automation remains a largely unattainable objective for the majority of enterprises. And the gap between the haves and the have-nots is widening. If this gap becomes insurmountably large, we run the risk of leaving an entire generation of network engineers behind.
In looking at how we collectively sell the gap, we will need to solve the consumption problem for automation. But solving this requires thinking about automation differently. The lack of ubiquitous workflows means that vendors will have to spend more time mastering how people think rather than mastering which steps they execute. And that is a difficult challenge indeed.