Network automation is the use of IT controls to supervise and carry out every-day network management functions.
These functions can range from basic network mapping and device discovery to network configuration management and the provisioning of virtual network resources. Public cloud services are already highly automated and self-service, and many enterprise IT organizations are moving to a similar IT services model in their data centers. This requires service level agreements (SLAs) for the network, compute and storage resources that the organization’s business units require.
Network automation plays a key role in network virtualization technologies, enabling automated provisioning of virtual network tenants and network functions, such as load balancing.Some people equate network automation with scripting, but it’s a lot more. It can start with script-level automation, progress to intelligent network control, and at the highest level, translate network administrators’ intent via policy.
Here are some different types of network automation:
Script-driven automation: Administrators write scripts that automate changing the network devices’ configuration settings. RESTful APIs, Yang, Netconf, even traditional CLI-scraping or SNMP may be used. The scripts may be written in Python, Puppet, Chef, or other languages. The intelligence resides in the scripts. Many network operating systems support APIs, such as Arista EOS (eAPI), Cisco NX-OS (Python API), Cumulus Linux and Juniper Junos (PyEz micro framework).
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. There are too many items in this category to list here, but whatever takes manual tasks out of the “examine and react” loop qualifies. An example: Software-defined or hybrid-WAN systems that automatically steer traffic between MPLS WANs and Internet links if one goes down.
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. This means is that it’s possible to load apps that implement networking features into the network controller and those capabilities are rolled out to the network.
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 smarts 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, such as application owners, to define how they want the network to behave. Examples include Cisco’s Application Centric Networking (ACI) and Nuage Networks VSP.