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 a key role in software-defined networking, network virtualization and network orchestration, enabling automated provisioning of virtual network tenants and functions, such as virtual load balancing.
Types of network automation
Automation can be employed in any type of network, including local area networks (LANs), wide area network (WANs), data center networks, cloud networks and wireless networks. In short, any network resource controlled through the command-line interface (CLI) or an application programming interface (API) can be automated.
Script-driven network automation employs scripting and programming languages to execute tasks, ideally those with precise triggers and consistent procedures. Legacy 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, often referred to 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.
Benefits of network automation
Network automation has three core benefits.
- Improved efficiency. By automating functions on network devices, humans no longer have to perform time-consuming tasks.
- Reduced likelihood of human error. Manual tasks are prone to human error, and when the stability of an enterprise or service provider network is at stake, the consequences of a miscalculation or incorrect entry can be significant. Setting up a task for automation means it only needs to be entered correctly once.
- Lower operational expenses. This benefit comes as a result of the previous two items. By eliminating certain manual tasks around network device provisioning and network management, businesses can operate with greater speed and agility. For example, automated provisioning may save a network engineer from having to travel to a new branch office to establish network connectivity -- thus enabling employees at that site to get to work faster.
Network automation tools
There are several categories of interfaces, platforms and protocols used to execute script-driven or software-based network automation.
The CLI is the most traditional vehicle for deploying network automation. Though freely available, time-tested and highly customizable, it requires proficiency in CLI syntax.
A variety of open source tools -- including Ansible, Chef and Puppet -- offer network automation frameworks. These tools typically offer a library of common commands or workflows that can easily be repeated.
Commercial network automation tools are also available. Most network infrastructure vendors have developed software-based platforms that provide automation capabilities, typically for their own products, through a specialized API.
Future of network automation
Network automation is one of the key methodologies supporting the evolution of intent-based networking (IBN), in which software is used to map how resources can be harnessed to meet the demands of what an enterprise needs to accomplish with its network.
Automation is enabled through a graphical user interface through which engineers can determine how network operations should be performed to meet a particular objective, with configuration and other management changes made to network components -- regardless of vendor -- automatically. IBN will also leverage artificial intelligence and machine learning tools to further automate network intent.