In 1994 and 1995 it was Boyz II Men, Pulp Fiction, and the TV show Friends. I was working as a network technical support engineer, and my team had two key accounts for which we were on the hook, 24×7. One was a large financial institution, and the other was a big healthcare organization. Both kept us very busy all the time. Looking back, and thinking about where we are now, I wish I knew how to do some of the network automation available today. Our lives could have been so much easier. What’s cool is you can start learning about network automation and coding today – if you haven’t already. And that will put you way ahead of the game.
In 1995, like most everyone, we configured switches and routers by using a terminal emulator on a PC, connected via the console cable. 96, 8, 1 and None – right?! For the financial institution, we had an interesting situation where we had outsourced on-site visits to a 3rd party provider, which didn’t know how to do configuration. They were strictly rack and stack. So I wrote some software. We created a little kit that would connect a laptop to the router in question and pull the configuration files off of it. Then, after the tech replaced the hardware, they could then push those configurations onto the new box. The technology included some simple scripts, an FTP server on the PC, and both Ethernet and console connections. This enabled people to swap a router who didn’t know how to configure it. It was a pretty big deal at the time.
Fast-forward about 20 years and, as we all know, things have changed. In today’s world, there are still people doing manual, line-by-line configuration. But a lot of people are using the latest tools to automate not only configuration generation, but also to change them automatically, based on network conditions. Further, replacing a hardware device, and then having the new hardware behave like the old, is easier than ever. Even so, some folks are still not sold on network automation for one reason or another. While it’s still somewhat true that you can’t automate everything, things are changing fast, and I think it’s time to take another look if you haven’t done so in a while.
So I’m going to point out a couple of things that might be interesting, and then provide links to some more information that will help you get going if you’ve been hesitating about network automation. First, a little disclosure. I do work for Cisco, and these will be examples using Cisco software and hardware. That said, you can download the Cisco SDN Controller, APIC-EM, for free. And you can try out the things we talk about here without owning Cisco hardware. Keep reading and I’ll explain how.
Given that I’m trying to convince you to try out network automation, here’s the best place to start: “Plug and Play (PnP).” Imagine my use case above from 1995 using PnP. In that case, you’d simply rip out the old device, plug in the new one, and it would configure itself. OK, I’m over-simplifying, but it’s actually a lot easier than you might think. Adam Radford, a Cisco distinguished engineer, has written an entire series on PnP, starting off with the basics and going further and deeper over eight individual blogs. If you’re even thinking about jumping into network automation, check out Adam’s PnP blog series on our DNA Community of Interest page. Here’s the first one.
If you’re looking for something a little more advanced, here’s another surprise for you. With the release of Cisco’s IOS-XE version 16.5, you can write and run Python scripts right on the box. Yes, the Cisco router – that box. One of the easy examples you could start with are the learning labs on our DevNet Beginner Track. That’s where you could actually learn to have network events trigger spark bots!
Another way to learn more about this is to read a blog by Hank Preston, a technical leader in Cisco’s DevNet group. You can find his blog here. What I find particularly exciting is that you don’t actually have to own Cisco gear in order to start learning to use Python for network automation. DevNet has a page on Python!
If you’re not sure where to start and you just want to dip your foot in to check it out a little, then you might want to explore Network Programmability for Network Engineers.
If you’ve been wondering about network automation and/or network programmability, it’s time to take a look. If you took a look a year ago and didn’t think it was mature, maybe it’s time for another look. Network automation is changing monthly. You won’t be wasting your time if you take a look at it from time to time. And Cisco’s developer community is the place to do it.
If you would like to talk about this, you can direct message me @coggerin