Network Automation – The network of the future

Network automation, we hear a lot about it. It’s a big topic on networking conferences, there are many meetups organised about the topic and it’s seen as the network of the future. But Automation is also a controversial topic. On the surface, automation translates into a loss of jobs for people. Network Engineers think that if software gets assigned to what the engineer once did, they won’t have anything left to do. So, it’s about time to take a deeper look into Network Automation.

Definition: Network automation is a methodology in which software automatically configures, provisions, manages and tests network devices. It is used by enterprises and service providers to improve efficiency and reduce human error and operating expenses.

Network automation tools support functions ranging from basic network mapping and device discovery, to more complex workflows like network configuration management and the provisioning of virtual network resources.

Network automation also plays an important role in software-defined networking (SDN), network virtualization and network orchestration, enabling automated provisioning of virtual network tenants and functions, such as virtual load balancing.

Types of Network Automation

Network Automation can be employed in all types of networks, such as LANs, WANs, data centre networks, cloud networks and wireless networks. Basically, every network resource controlled through the CLI or API can be automated.

Script-driven network automation: Script-driven network automation employs scripting and programming languages to execute tasks. Languages, such as Perl and Tcl, remain prevalent in network automation due to their familiarity. But as networks continue to become more complex, newer open source programming languages, such as Python and Ruby, have grown in popularity for their ease of use and flexibility.

Software-based network automation: Also known as intelligent network automation, is coordinated through an administrative portal that eliminates the need to script commands by hand. These platforms typically provide templates for creating and executing tasks based on plain language policies.

Automatic configuration and provisioning: Automation capabilities such as provisioning are embedded into the network systems’ architecture. Many are considered standard features today, but often started their lives as automation features.

Automatic operation and management: Automation assists with day-to-day operations, such as reacting to events and reconfiguring device settings. Everything that takes manual tasks out of the “examine and react” loop is part of this. For example: Software-defined or hybrid-WAN systems that automatically steer traffic between MPLS WANs and Internet links if one goes down.

Network security systems like intrusion detection and prevention systems also can fall into this category, because they act as automated network sensors with appropriate corrective actions, such as blocking connections.

High-level orchestration: Integrating an SDN controller with other parts of the infrastructure enables orchestration of virtual machines, networks and storage in a coordinated manner. SDN has many definitions, but at the core level, separation of the data plane from the control plane enables the provisioning and configuration of these elements. Depending on the system capabilities, this may lead to app-driven networks.

Policy-based networking: This is also called declarative-intent SDN, which means you describe what you want performed in the network, and the system has the knowledge to figure out how to implement it. This is an advanced form of automation since it enables those who are not in the networking team, to define how they want the network to behave. An example of this is Cisco’s Application Centric Networking (ACI).

Benefits of Network Automation

  • Improved efficiency: automating functions on network devices saves people from having to do time-consuming tasks. This enables IT teams to be proactive instead of being reactive when systems detect problems automatically and react to resolve them. Troubleshooting can be done quickly when automated systems examine systems continuously.
  • Reduced human errors: tasks that have to be done manually are sensitive to human errors. Setting up a task for automation means it only needs to be done correctly once. Well-written software doesn’t mess up. Tired people, distracted people, and overworked people definitely mess up. Even very careful, thoughtful, professionals with the best of intentions and a system to prevent mistakes screw up. All the time. Humans are famous for it.
  • Lower costs: By eliminating certain tasks that have to be done manually around network device provisioning and network management, businesses can operate more quick and agile.

If automation is a fundamental part of the network design, it can also help reduce capital expenditures. For example, automation may enable the adoption of simpler network architectures by replacing some hardware appliances with virtual network appliances that are automatically deployed to meet increased load demands. This reduces the over-provisioning of network hardware, and is one of the benefits of network functions virtualization (NFV).

What Network Automation means for the future of Network Engineering

A common concern among network engineers as the beating of the DevOps drum gets louder is the focus on programmability. Engineers are concerned they need to code and are concerned about the future skillsets that are asked for and that they may not have it. Using automation does not mean that Network Engineer in a few years won’t have a job anymore, but Network Engineers need to adapt to the changing technologies in the networking industry.

Network Engineers know that the tech industry changes quickly and need to realise change is inevitable. They will always play an important role in IT, but in the future this may just be via a slightly different medium. Does this require new skills? Perhaps. But it builds on the already existing skills a network engineer has.

The best way for a Network Engineer to approach this change it to recognise and embrace it. Learn new skills and work on adaption critical foundation skills in order to stay valuable in this competitive market.