Over the past few years, network automation has gained a lot of attention. The networks have grown in size and complexity. The simplest answer for this growth is network automation. Network automation is required to make these large and complex networks simple to operate.
Many organisations recognise the importance of automation these days. But in many, network automation is still treated as a second-class citizen. The good news for these organisations is that it may not be too late yet to elevate the network automation to its deserved place.
The start of an automation journey can have far too many ramifications to be described in a single blog post. One may target addressing only the low hanging fruits while others will prefer to go full steam ahead in pursue of the fully automated network. Whatever journey you decide to start, here are few tips for you and for your organisation.
- Network automation is more than just automating the device’s CLI
If you think automation is just issuing commands against a device, then your network automation will be as reliable as the device’s CLI. Don’t get me wrong, some vendors do have powerful CLI out there. But the point here is: you are not thinking about the big picture of automation. Your automation universe in this case is just about executing a task against a router. You are not thinking in creating workflows, extracting information from the router and sending to other systems for manipulation and validation, or implementing event-driven automation. If you are still doing “CLI automation”, please visit this blog regularly to learn more about network automation. Perhaps you will find that the land of network automation unicorns does exist.
- CLI screen-scrapping must die (as someone said for the SNMP once)
There are various reasons why you should not do CLI screen-scrapping.
First, it doesn’t scale. While you may see a lot of benefits in the beginning (remember, you were doing those tasks manually previously), over time, you will find that it requires a lot of time to maintain the code of this automation.
Second, it breaks often. Vendors change their CLI and outputs time to time. If you are doing CLI screen-scrapping, the chances that your automation will break after an upgrade are quite high.
Last but not least, CLI implies in dealing with input and output CLI buffers. Pacing the input and output of commands can be a nightmare. Remember this: CLI screen-scrapping is just the automation of the keyboard, i.e., no intelligence added here.
- Network automation is a never-ending journey
A common mistake for beginners in network automation is that network automation is something you do once and that is it (after all, that is what automation is all about: do once, repeat many, right ?). And that is from where most of the noise about eliminating job positions come from. The fact is that network automation is a journey. You start automating the basic tasks. Then, you move on to automate more complex tasks. Then, you get into creating automation workflows. Then, you add closed-loop feedback into your automation. To get to this point, there is a lot of work involved. To get to this point and having no workflows left to automate is really a very very long journey. Moreover, by the time a company gets there, the technology may have evolved and changed. Hence, new things need to be developed and implemented. In short, there will be always things to be developed.
- Continuous learning is a must
Quite often I am asked how I find time to learn these new things. And usually I answer like this: I wake up 4.30am every day, prepare my mate (chimarrao), and have at least 1h to 1.5h of my day dedicated to learn new things. While I do not recommend everyone to wake up at 4.30am (I have this habit since I was a kid, so stop thinking I am a crazy person), I do recommend everyone to find a time-slot in their day to dedicate to learn new things. That’s what continuous learning is all about.
More than just learn something new every day, the continuous learning is the establishment of a new habit: you go after the information (research, read, listen, watch, etc) instead of waiting someone to transfer the information to you (traditional training class). More importantly, this new habit will help you to forge a new skill: the ability to adapt to changes.
And last but not least, these next two items are extremely important while taking off on an automation journey.
- Start with the low hanging fruits
This is a very common and recurring mistake. Quite often engineers don’t start to automate because they over-engineer things and, consequently, automating these things become more a problem than a solution. My advice: don’t try to boil the ocean, i.e., start to automate simple and repetitive things. Once you have mastered that, then move on to the next step on your automation journey.
- Do not automate a broken process
Companies that have well-defined processes are a good environment to automate things because usually the interfaces of each process are well-defined. However, what usually goes wrong in these places is when the processes are broken. Once you automate those broken processes without fixing them first, what do you think you are going to get as an output ? Answer: a broken automated process. Even worse, you may end up with something executing at speed and at scale in a broken way (the worst-case scenario). So, fix the broken process first and automate it afterwards.
Whatever automation journey you are pursuing, make sure you have a plan. The items covered in this blog post are important things that any organisation should consider when embarking on an automation journey. The automation journey is more than just selecting tools. It is about building the automation ecosystem that fits in the company business ecosystem.