Enterprise Network Automation with Ansible – Network Glossary Definition
Enterprise network automation involves a set of tools and techniques to automate many of the tasks involved in deploying, managing and orchestrating a local-area, campus or wide-area network. It is intended to ease the burden on network administrators and increase agility by enabling them to automate routine tasks. That, in turn, allows the same staff to handle ever-larger networks without sacrificing reliability or performance.
The need for enterprise network automation is becoming more urgent as organizations deploy Internet of Things (IoT) and other big data applications, and continue to make use of cloud-based resources and applications. All of these trends are driving an increase in traffic at the enterprise and campus network edge, forcing companies to deploy more networking devices to keep up. Without automation, many organizations will need to hire more and more experienced, tier-3 network administrators to handle the load, driving up operational costs.
Network automation eases the burden by offloading manual tasks from network administrators, instead using software to automate routine chores like network device configuration, provisioning, testing and ongoing management. With network automation, it’s possible for a single administrator to deploy and manage hundreds of devices, thus lowering overall network operations costs.
Enterprise network automation is also closely tied to software-defined networking (SDN),where network control and forwarding functions are disaggregated from individual network devices, and placed instead in a centralized controller. The controller runs automated programs to direct network behavior under various circumstances.
Types of Network Automation
Network automation is not a new concept. For decades, network administrators have been writing software scripts to automate various (often repetitive) tasks, or respond to routine events. Networks are traditionally controlled via a command line interface (CLI), where administrators manually enter text-based commands to perform network control functions. Using legacy languages such as Perl and Tcl, or newer open source languages Python and Ruby, any of those commands can be converted into scripts that can run in an automated fashion.
Some scripts may be used to automate frequently performed tasks, such as changing administrative passwords or updating a switch port setting. Others may be triggered in response to specific network events. In an SDN, for example, the controller can be programmed to seek an alternate route for data traffic when the primary route experiences congestion. The trigger could be an increase in latency above a predetermined threshold.
More recently, a variety of open source automation frameworks have emerged to simplify the automation process. The most relevant to enterprise network automation is Ansible. Ansible was originally developed to automate server deployment but has been extended with a version that addresses networks.
Two versions of the Ansible framework for networks exist: the open source AWX Project and Ansible Tower, which is a licensed version from Red Hat. Both offer a web-based interface providing role-based access control, pushbutton deployment, centralized logging and auditing. They enable the automation of tasks including: provisioning of network switches, orchestration of multiple switch deployments, and switch software upgrades. The tools also support centralized installation of configuration files and backup configurations.
A library of “playbooks” makes Ansible accessible even to IT personnel who are not experts on using the toolset. The playbooks are essentially predefined scripts for automating various tasks. Users can also create their own playbooks for any tasks they routinely perform.
Benefits of enterprise network automation
Enterprise network automation brings a number of benefits to an organization, including:
- Improved consistency and accuracy: Use of tools such as Ansible playbooks drives operational consistency across the organization, ensuring tasks are done the same way every time. Automation also ensures tasks are performed accurately, thus reducing human error. That improves overall network reliability and performance.
- Increased administrator efficiency and agility: Automating functions and tasks helps free up network administrator time to focus on more important, strategic projects rather than just “keeping the lights on.”
- Lower costs: By enabling network administrators to be more productive, automation also enables fewer network administrators to handle larger networks. Additionally, the ability to perform functions centrally may eliminate or reduce the requirement for IT personnel to work at remote sites, or even to travel there occasionally. All of these elements serve to reduce overall network operational costs.
Automation in practice: Pica8 Automation Framework
One example of how enterprise network automation plays out in practice is Pica8’s NymbleTM Automation Framework.
Pica8 PICOS is an open, Linux-based network operating system (NOS) that runs on white box switches, which are switches built on commodity hardware that run compatible open NOSs. The Nymble Automation Framework is bundled with PICOS to allow large enterprises to more easily deploy hundreds of PICOS-based switches at sites throughout the enterprise, such as a series of retail stores or branch locations.
Based on Ansible, the framework comprises server-based tools deployed on a virtual machine (VM) in either a public or private cloud. They include an Automation Server that has four components: Configuration Manager, Image Manager, License Manager and Automation Manager.
Switches are sent to the desired location, with each switch serial number reported to the network operations team. When the switch is installed and powered up at the remote site, an auto-connection script enables it to find the Automation Server and register with it. That kicks off an automated configuration process that includes sending a site-specific configuration to each switch, along with the appropriate PICOS image. It also obtains a switch software license from the Pica8 license portal.
In short, Nymble enables an enterprise to install and configure open, white box switches at locations throughout the organization, without actually sending IT personnel to each location. It also helps ensure each switch is configured accurately, by using automation to reduce the possibility of human error.