Network automation can help improve the speed of deploying changes, reduce error rates, and free network engineers from running mundane tasks. So, why aren't network automation practices developing as fast as other IT automation initiatives?
[ Learn best practices for implementing automation in The automation architect's handbook. ]
Networks are at the center of everything we do online. From a network-automation perspective, this is a blessing and a curse. The role of networks is critical, and there seems to be a consensus that they need to move at the speed of the cloud. But you don't stop to think about networks unless they are having issues delivering packets.
For most people, it is hard to understand the value of network-automation projects, especially if you look at them like any other IT automation project. But a network is not a collection of servers; it is a large distributed system that can have tens of thousands of devices spread around the globe. These devices, even if they're from the same vendor, run multiple versions of different proprietary operating systems (that in most cases are not Linux based) and are logically interconnected with each other to automate the propagation of route or link information, for example. A typo in one configuration line can cause an internet meltdown (there is an event like this almost once a year).
Network automation has emerged as a set of processes to automate common manual workflows performed by a network operator, such as provisioning services, performing software upgrades, or telemetry processing. But this is a transition that can't happen overnight. It requires planning for a phased approach with different milestones that can quantify the value of network automation.
Look for low-risk, high-reward opportunities
It's great to strive for an automation-first culture and find innovative ways to use technology as a competitive advantage, but I recommend first targeting low-risk, high-reward tasks. Try to create reusable building blocks to operate more efficiently.
One example is automating the collection and parsing of operational data from the network, such as routing protocol sessions state, VPN service status, or other relevant metrics to produce actionable or consumable outputs. Gathering this information is a read-only activity, so the risk is low. The reward is high because this task is a time-consuming, repetitive process. Also, you can use this data for various purposes, such as creating reports, running audits, filling in trouble tickets, performing pre-and post-checks during maintenance windows, and so on.
You don't need to wait until you get everything right to start. Improve on your automation solution iteratively. Small initial steps can make a big difference in your network. For example, for the data collection example above, you don't need the full list of key performance indicators (KPIs) on day 1; your users will let you know what you're missing over time.
[ Looking for more on system automation? Get started with The Automated Enterprise, a complimentary book from Red Hat. ]
Network automation is a journey, but you still need to delineate goals and meet project deadlines along the way. You must understand how your organization defines value to set these goals.
For example, network automation can positively impact cost management by running tasks more efficiently.
[ Learn more about automating server and configuration management by downloading Ansible for DevOps. ]
Compiling audit reports or managing overtime does not typically reduce network costs. The real savings comes from having to troubleshoot fewer human errors, and automation helps achieve this. Resource optimization results in cost savings.
Another thing organizations value is reducing the probability of the unpredictable (risk management) to run more safely. Network automation can help by running test cases to validate any changes before performing them, enforcing security policies consistently with every operation, or automating rollback procedures if required. This way, you can compare the number of incidents or total downtime before and after you deploy a strategy.
Get buy-in to automate more
Understanding the value helps you get the buy-in to launch network automation projects and sets quantifiable metrics to measure its success.
Begin with a compelling pitch for something that warrants a change and a measure of success. For example, "It's taking us six weeks to deliver an offer, and now we're going to be able to do it in six minutes."
[ Learn more about how to make the case for automation architecture: 5 ways to win investment. ]
After achieving a few wins, you can aim for a zero-touch approach to network automation. Accomplish this by scaling individual use cases into larger-scale network automation projects that deliver a desired business outcome. Next, shift the focus to orchestration, workflows, engineering for scale, and rolling out consistent automation practices across the organization.
Continuing the previous example of automatic data collection and parsing, you can now stitch that information together with a configuration process to configure and validate network services.
Service providers might value strategic improvements (speed of delivery) to move more quickly. Network automation increases the speed of configuration and validation, delivering customer services more quickly.
Once you have automated enough of your existing routine processes, you can look at the top-line growth to move innovatively with business capabilities. Increased visibility helps with capacity planning, indentifying under- or over-allocated resources, or finding hot spots. It also aids in uncovering potential business opportunities.
[ Check out 6 reference architecture designs for automation projects. ]
Network automation is a marathon, so you might want to begin with baby steps. You also need clear business metrics and to understand how to measure them for success to help others see the path forward.
This is based on concepts presented in Network Automation with Go by Nicolas Leiva and Michael Kashin.