Network automation was a big topic at Cisco Live 2018. Susie Wee announced that Cisco’s DevNet now has more than 500,000 registered users. There was coverage by other bloggers including:
- Michelle Burbick — Cisco Opens Up on Programmable Future
- Zeus Kerravala — Cisco’s DevNet Comes of Age
I also recently wrote about adopting network automation in a previous blog post, Getting Started with Network Automation.
The DevNet area in the World of Solutions was bigger this year and there were many companies demonstrating their APIs and their ability to assist with network automation.
There were numerous sessions dedicated to every form of automation possible. I’ve been writing about automation for some time and took this opportunity to attend as many sessions as I could on the subject. I find it interesting that Cisco offers several different automation systems, but then I couldn’t identify a single Cisco product that could handle the full breadth of the product line. Instead, the widest coverage of Cisco equipment automation is with Ansible, and open source software package that is written in Python. A key strength that Ansible brings is that it can be used to generate and maintain CLI-based configurations, making it easy for network engineers to adopt.
I’ve learned that Salt, another Python-based automation system, supposedly scales better, is faster, and supports events. It also has a steeper learning curve, so we hear a lot less about it than about Ansible. Salt is on my list of things to investigate in the near future.
I had a very informative conversation at CL2018 with Nick Russo, a Cisco employee who is developing network automation solutions for a customer who was initially very reluctant to use automation. He told me that the best way to start is to automate the construction of configurations to be loaded using manual processes. This is very safe — no changes that might quickly break large portions of the network. His focus was on configurations (or portions of configurations) that were very tedious to maintain, like ACLs and NAT lists. The next automation project was to collect basic “show” command outputs to facilitate troubleshooting. Eventually, the customer accepted the use of automation for configuring a large, complex NAT list. The whole process took nearly a year. Perhaps his example can provide a framework for getting started.
If you’re looking to get started with automation and are up for taking an online course, I highly recommend the course by Ivan Pepenljak, Building Network Automation Solutions. I attended a version of this course last year and found it very useful. The tough part of any online course is making sure that you dedicate the time to it. The interactive online sessions are typically 2-3 hours long and the labs can take hours to complete. I think that it is advisable to allocate 6-8 hours per week for the course. Even online, you’re not alone. There is a slack channel where course attendees can get (and provide) help.
This network automation thing isn’t going to go away. My advice back in 2016 was Don’t Be a Network Dinosaur, and I feel even stronger about it today. Pick some simple automation tasks and get started. Build on what you learn. Adapt. These are exciting times.