Network programmability is an enabler for automation, allowing you to operate your networks more efficiently. Done right, it can lower a task’s time-to-completion to a fraction of what it was and greatly reduce the chance for human error at the same time. Flint offers consultancy on and supports customers’ automation implementation journey.
Network automation has many benefits, but you also need to keep an eye out for the pitfalls. If you want an automation project to succeed, there is one make-or-break question you will have to ask first.
Where Does Automation Make Sense?
It may seem simple, but it’s often not. The fact is that automation is not always the right choice (as illustrated by Randall Munroe). Sometimes it just takes too much effort or resources to profit from automation in a rational time frame. Or, at least, trying to automate everything.
Here is an example. Some years ago, I worked on an automation project for onboarding new customers to the cloud. This onboarding was previously done manually by an operator. But the operator had to know multiple systems and sometimes they would not do everything right, which was the reason for automation.
We did manage to automate all of it. However, it took a rather long time — months. The main culprit was some undocumented API for Active Directory integration, which we had to reverse engineer. It was an engineering feat, and the team was proud of it when it was finished. But did it make business sense? Not really. We would get almost all the benefits with half the investment if we just avoided automating that one problematic system.
Sadly, situations like the one mentioned can diminish the perceived value of automation. How can you avoid them? Consider what makes sense to automate based on the cost/benefit analysis. Typically, you will see less benefit from highly variable processes because they require more complex logic and come with more corner cases you need to consider.
Remember also to include support costs. Modern networks are dynamic, and your automation may need some tweaking as time goes by, either because processes change, new features are required, or systems are upgraded.
What Does It Take?
Automation is a lot easier when systems support programmatic (API) access. Many networking vendors now support it in their equipment. While it’s also possible to automate older systems, you’re more likely to run into issues. They usually only support graphical and command-line interfaces, which were made for humans but are hard to use for computers. This makes automation error prone. Still, you can invest in tools like Ansible, Cisco NSO, or vendor software development kits (SDKs) that will make the task easier.
Regardless, no tool or API can replace the right team. You will need knowledge and experience on the network technologies, as well as programming. Unfortunately, there aren’t that many people with both. What you can do instead is pair network engineers with software engineers in a single automation team and bring in the required expertise that way.
This approach can already work marvellously, but it’s even better when the team includes operations people. They will shed light on the often-overlooked operational challenges and give fast feedback on what works in practice. It’s what gives a team that does their own automation the edge; they have so much more insight, simply because they use it themselves.
Finding people with the right expertise on your own is never an easy task. Flint’s automation engineers can help you jump-start your network automation journey by providing more than a decade of experience in the field. We are ready to advise on the best way to move forward and accelerate your automation journey.
How Do You Start?
If you’ve followed the advice above and done your homework, you have the right people on board and know what to automate. You’ve already mastered the most challenging part.
Next, start with the low-hanging fruit—easy tasks that are routine operations. Why? If they are routine, they are well-defined, tested, and likely well-documented. In short, you won’t find many surprises in what you are trying to accomplish.
This is critical in the beginning, when you and your team are getting familiar with the tooling and evaluating different approaches. There will be plenty of work as it is, and you don’t want to find your goal moving further and further away because you keep finding these small things no one thought about.
Having achieved a couple of wins, even if they are small, you will trust your tools more and, more importantly, get to know their limits. This will give you the confidence to choose the right tools for each job and competently tackle more complex and uncertain scenarios.
Are you interested in automation or looking for a partner to take over your automation projects? Our experienced engineers are happy to consult on, support, or implement your automation projects. Please contact us at [email protected]. For more information, articles and updates follow us on LinkedIn.