Over the last few years, the importance of local and wide area networks has grown rapidly. The growing use of the cloud has increased the requirement for the corporate network to be accessible and usable as close to 100% as possible.
Network suppliers such as Cisco have brought out products that ease network management and reduce resource requirements and costs for network managers. Software-defined networks, and, more recently, applying AI techniques to create intent-based networks, have changed network management from device and routing management to monitoring and managing performance and availability.
Network automation is equally applicable to the largest multi-tier, multi-site corporate network as to the simplest single-tier, small office network. Each needs to be managed to ensure correct operation, with proper security for data and operations. Automating the management tasks can have the double benefit of reducing the resources needed and, hence, the operational costs of the network.
This post explores how network automation can help in network management and how to start moving to it.
Network Automation Defined
Network automation is the process of automating the configuration, management, and operations of network devices such as routers, switches, and firewalls using software tools and scripts.
Types of Networks
The three-layer network model (core, distribution, and access layers) is a common way to conceptualize network structure. The core layer is the backbone of the network, and it carries traffic between different parts of the network. The distribution layer sits between the access and core layers, consolidating traffic between the two. The access layer connects individual devices to the network.
The situation has been confused by the introduction of devices such as WiFi access points, which should be connected to the core or distribution layer but, for cost and configuration reasons, are usually connected to the network’s access layer switches.
Traditionally, networks were managed from the device upward by dedicated resources. Devices such as switches and routers needed to be prepped before installation. Routes were manually calculated, and end-user devices such as desktops needed to be configured.
In the case of a network failure, network staff needed to find the point of failure and initiate remedial action. This often meant downtime for end users and, at best, reduced levels of service.
Large numbers of such networks still exist, particularly in the small-business environment.
The Need for Automation
Companies are now using cloud resources as private, public, and hybrid clouds. The growing numbers of people working from home and customers asking for remote access to corporate resources have increased the reliance on stable and performant networks greatly.
If this requirement is met using existing technologies, this implies increases in network management staffing levels. A move to automation has become an economic imperative for most organizations.
Here are some suggestions on how to introduce network automation into your organization.
Define Your Business Goals
As with all major business projects, setting the aims and objectives collectively as measurable goals is essential.
Before you start, identify the tasks that you want to automate. This could include tasks such as configuring devices, deploying updates, monitoring network performance, and troubleshooting network issues.
If network automation is something you’re considering, let’s get into some more pointers to help you start.
Choose Your Upgrade Path
You can automate what you already have by using a network automation tool. The alternative is a root-and-branch network upgrade to introduce a software-defined network (SDN) or intent-based network (IBN). The second alternative would probably mean that you need to replace switches and routers, which obviously comes at a cost.
However, that additional capital expenditure should be looked at in the light of reduced operational costs over time and a much-improved ability and flexibility in incorporating new technologies, including IoT devices, into the network.
Automate an Existing Network
There are various tools available in the market to automate network tasks, such as Ansible, Python, SaltStack, Puppet, and Chef. Choose the tool that fits your requirements.
You may also need to train your network management staff in software development because its knowledge is necessary for network automation. Network management staff will need to learn the basics of programming languages such as Python or Go.
Training your staff will take time, and it may well be that some network devices cannot be included in the automated environment. Some legacy network devices with older user interfaces and operating systems are typical examples.
Advanced SDN and IBN Networks
An SDN is a self-configuring, self-learning, self-healing network. An IBN is true automation—an SDN that learns, adapts, and evolves by itself.
IBNs are only in the early stages of deployment, and major developers like Cisco are working closely with universities and research centers to bring them to commercial reality.
Simply put, software-defined access splits the network into two levels or planes: the physical level of equipment and the software level that sits over the physical level and defines what the network looks like and how it operates. In essence, the network configures itself as new equipment is added to it and heals itself when a component fails.
That then gives the opportunity to define and manage the network from a central point using software rather than configuring individual bits of equipment. This makes deployment and management of the network simpler and less resource intensive. It’s therefore cheaper and more effective.
An IBN builds on an SDN network by using a network controller that acts as a central control point for network activity. Cisco defines their architecture as follows:
“The closed-loop system of IBN operates with the following functional building blocks to deliver intent, or support for, the business or IT outcomes that your organization needs. Translation: The capture and translation of intent into policies the network can act on. Activation: Installation of these policies across the physical and virtual network infrastructure, using network-wide automation. Assurance: Use of analytics and machine learning to continuously monitor the network to verify that the desired intent has been applied and the business outcomes are being achieved.”
It’s a new technology, and major IT companies are fully embracing it, seeing it as a means of easily introducing new technologies into an existing environment.
An IBN is an environment in which existing and new technologies can be merged as the network develops. For example, adding WiFi networks and IoT devices can be part of the automation process.
Audit Your Network
Identify the network devices that you want to automate and gather information about them, such as their IP addresses, device types, and operating systems.
Create Automation Scripts
This is equally applicable to both automating an existing network and implementing an SDN or IBN.
Once you’ve identified your network devices and, if necessary, become proficient in the programming basics, create your automation scripts.
Start with simple scripts that automate basic tasks such as configuration backups or applying a standard configuration to multiple devices.
Test, Refine, and Test Again
This is a no-brainer. Test your scripts on a test network before implementing them on a production network. Refine your scripts based on the feedback and results of your testing.
Once you’re satisfied with your scripts, implement them on your production network. Having a source of truth (SoT) for your network where you document its intended state is absolutely key to a successful network automation project. You can then compare the actual state of the network to the intended state, and use network automation tools to keep configurations on track.
To summarize, the changes in the business environment and user behavior over the last few years mean that businesses are more and more dependent on their internal and customer-facing business networks.
Operating a cost-effective and efficient network is now a clear business imperative.
Explore the tools and frameworks (plenty of which are free and open source) to find which are best suited to your environment and business goals. You may want to aim for SDN or IBN in the long term, but you don’t have to start there.
Remember that network automation is an ongoing process, and you’ll need to continue to update and refine your automation solution over time as your business environment evolves.
This post was written by Iain Robertson. Iain operates as a freelance IT specialist through his own company, after leaving formal employment in 1997. He provides onsite and remote global interim, contract and temporary support as a senior executive in general and ICT management. He usually operates as an ICT project manager or ICT leader in the Tertiary Education sector. He has recently semi-retired as an ICT Director and part-time ICT lecturer in an Ethiopian University.