How Do I Persuade My Management Automation Makes Sense?
Matt Oswalt made two great points while tweeting about my Automation Gone Wild blog post:
- Automation should be a strategy. You need management buy-in;
- You should have at least one person with strong software development experience in your automation team.
However, life is not always rosy, so @stupidengineer asked:
@Mierdin @ioshints what do you do when there's no strategy but you want to work with it? Look for a move?
— Stupid Engineer (@stupdengineer) August 26, 2016
As always, you could start with a guerilla tactic (that’s how Novell Netware and VMware came into many organizations):
- Start small – find a nagging small problem worth solving that won’t impact the production. Generating configurations for a new deploy is a perfect use case;
- Prove the point – solve that nagging problem using whatever tools you have at hand. You’re not building a cathedral, you’re proving that the idea makes sense (startups talk about Minimum Viable Product);
- Demonstrate the solution to the management. If you don’t do it, it will forever stay your pet project, and once a few other people start using it, you’ll be the perpetual scapegoat fixing it;
- Ask for support and resources. At the very minimum (as Matt said) you need someone with programing experience. Also, anything touching network devices in real time (which should be the goal of automation) is by definition mission-critical software and should be treated as such.
You believe in automation, did all that, and the managers don’t want to listen? Polish your resume and start looking around.
Oh, and if you don’t know how to get started, register for my Network Automation workshop – I’m positive you’ll be able to get something real done after those two days.
However, careful with this statement:
> touching network devices in real time (which should be the goal of automation)
We are talking about the configuration plane. It's perfectly fine and probably desirable to not do things in real time and have a system that instead:
1. Validates input.
2. Checks is doable to merge configuration.
3. Determines if change is critical and ask for approval in that case.
4. Applies changes.
5. Reports result of applying changes.
Note that we are talking a minute maybe if step 3 is not needed and hours if it is.
Configuration only defines the rules of engagement. If you need to change the behavior of your network in real time we are talking about the control plane and then the game completely changes.