A recent report making the rounds from Indeni, in partnership with GNS3, has concluded that in order to be more effective in their jobs, network engineers need to become more proficient with coding and scripting. Python has become a common tool for network automation but still requires extensive programming knowledge.
As a fellow network engineer, I can greatly sympathize with the response to this line of thinking. There are so few options that provide engineers with the benefits of flexible automation that it may appear as though an increased focus on coding skills is a viable strategy. And by “flexible,” I mean that the automation must adapt to any network workflow and any network technology (e.g., troubleshooting BGP). However, this is no easy solution – network engineers are not programmers, and the transition for them to become experts in Python is a steep learning curve. We believe there needs to be a less steep path to achieving flexible automation.
The report states that “creating, parsing, and analyzing scripts” are “the biggest gaps in their knowledge for managing network and security efforts.” And that “due to a lack of programming experience, [network engineers] spend over 60% of their time on repetitive support and troubleshooting activities and less time contributing to strategic initiatives.”
Yes, it’s true, network engineers spend way too much time on manual and repetitive tasks, and troubleshooting, an issue we covered extensively in our own State of the Network Engineer Survey back in June 2017. Our critical findings were that network engineers struggle with the lack of automation in their network environment. We believe this is partly attributable to a lack of coding skills, but also to a lack of emphasis on automation to begin with. It is critical to understand and appreciate the role that automation plays and why it is so important, not just for mundane and repetitive tasks but particularly for critical workflows where every minute counts. Think troubleshooting or security events.
Automation tools that manage mundane and repetitive tasks exist. The tools to store critical knowledge and expedite troubleshooting exist. It’s a matter of installing them onto your network. NetBrain can provide runbook automation as a bridge for network engineers who struggle with coding. Our visual programming environment allows engineers to codify network knowledge into lightweight applications (no coding required).
Now, in fairness, this report did cite the need for automation. Stated in the report, “automation is a necessity to keep the business running. Senior leaders, IT operations, and network engineers agree automation is a priority to keep the lights on, as 68% of automation projects are commissioned to maintain network availability.”
The reasons for implementing automation had a few variations in this survey, as did the reasons for delaying the integration of automation tools. According to their survey, “71% of organizations are implementing automation to increase productivity, 68% to reduce cost.” This would appear consistent with what we are hearing from our own customer base. However, the objections are a bit puzzling. According to this survey, “talent for automation initiatives (57%) and existing network management responsibilities (50%) are preventing implementation of automation.” NetBrain offers an out-of-the-box solutions for dynamic mapping and Executable Runbooks. Network engineers can quickly and easily install these and be saving time and money immediately.
Perhaps the most on-point finding in the entire report is this: “Only 27% of organizations surveyed use runbooks; 82% of those that use runbooks find them effective.” The lesson to be learned here is that we don’t need to spend valuable time and resources learning to code more effectively, we need to implement runbooks at a greater rate of speed. Sometimes the simplest answer is indeed the best.