Network automation has moved from a nice-to-have to an essential skill for every working network engineer, sysadmin and cloud engineer. In this introductory lesson we look at why automation matters, what problems it solves, and the most widely used automation platforms available today.
We start with the reality most engineers have lived through – logging into devices one at a time, copying and pasting commands into SecureCRT, and the inevitable fat-finger mistakes that come with doing everything manually at scale. Whether you have been asked to configure three hundred routers for SNMPv3 or roll out ACL changes across a large estate, the manual approach is slow, error-prone and simply does not scale.
Automation changes that. With a single controller reaching every device on your network over SSH, NETCONF, RESTCONF or REST APIs, you can push configuration changes to ten, a hundred or a thousand devices simultaneously. As long as your playbooks and scripts are validated in the lab, it is fire and forget.
This lesson covers the main automation platforms in use across enterprise, data centre and service provider environments today, including:
Ansible – agentless, uses SSH and NETCONF, human-readable YAML playbooks, no programming knowledge required, imperative rather than declarative
Terraform – agentless, declarative infrastructure as code using REST APIs, you define the desired state and Terraform handles the rest
Puppet – declarative, requires an agent installed on target devices, primarily used for server configuration management
Chef – imperative, agent-based, uses HTTP and SSH, runs on Ruby, used for automated infrastructure provisioning
Nautobot – agentless, Python-based, inventory-driven network automation used alongside NetBox, supports SSH, NETCONF and REST APIs
Cisco NSO (Network Services Orchestrator) – agentless, declarative, supports CLI, NETCONF and RESTCONF, widely deployed in large service provider and enterprise environments, licensed through Cisco
Juniper Apstra – agentless, declarative, multi-vendor support beyond just Juniper devices, licensed through Juniper
PyATS – not strictly an automation platform but a network testing and validation framework, supports Cisco, Juniper, Arista, HPE and others
With the exception of Cisco NSO and Juniper Apstra, all of these platforms are open source and free to use. The right choice depends on what you are automating, what protocols your devices support, whether you can install agents on target devices, and how much Python knowledge your team has.
By the end of this lesson you will understand the automation landscape, know the key differences between agentless and agent-based tools, understand imperative versus declarative approaches, and be able to make an informed decision about which platform suits a given use case.
In the upcoming lessons we will get hands-on with Ansible and Nautobot and start building real automation scripts against live lab devices.