Network Automation

Course Description

Network automation is about letting software do the repetitive work that we used to do by hand, box by box, in the CLI. This course explains how we can configure and monitor network devices programmatically. You’ll learn what software defined networking (SDN) is and how SDN controllers work, how device programmability with NETCONF, RESTCONF, and YANG works, how to use REST APIs, and how configuration management tools like Ansible and Terraform automate your network. We finish with artificial intelligence (AI) and machine learning (ML), and how they are used in networking today.

Course Highlights

In this course you will learn:

  • The difference between network automation and orchestration.
  • How data formats like XML, JSON, and YAML and YANG data models work.
  • What SDN is, how the control and data plane are separated, and how controllers like OpenDaylight and ONOS work.
  • How Cisco SD-Access automates the enterprise network.
  • How NETCONF, RESTCONF, and gRPC are used to configure and monitor network devices.
  • What a REST API is, how CRUD operations map to HTTP methods, and how REST API authentication works.
  • How to automate your network with Ansible and Terraform, and why version control with Git matters.
  • What AI and machine learning are, and how they are used in networking.

Presented to you by instructor Rene Molenaar, CCIE #41726

Course at a glance

  • 16 lessons in 5 units.
  • Exams: covers the automation and programmability topics of CCNA 200-301, CCNP ENCOR 350-401, and CCIE Enterprise Infrastructure.
  • Format: self-paced lessons with examples on Cisco IOS XE, lab topologies, Python code, and video.
  • Last updated: October 2026.

Requirements

  • Basic understanding of networking concepts and protocols.
  • Some Python knowledge helps for the REST API examples, but it’s not required.

Course Schedule

What is Network Automation?

Network automation, in its most simple form, means a task runs on its own without human intervention. Instead of logging in to every switch to create a VLAN, you let a script or a tool do it for you. You can write scripts in Python, use tools like Ansible or Terraform, or use a controller that manages the entire network. Orchestration takes this one step further: you describe what you want, and the orchestrator figures out how to configure everything.

Why do we need it? Configuring devices one by one through the CLI takes too much time, it’s easy to make errors, and it doesn’t scale. The CLI is also made for humans: show commands are hard to parse and there is no clear feedback when a command fails. APIs, data models like YANG, and protocols like NETCONF and RESTCONF give us a programmatic interface with structured data instead. Configuration management tools keep your devices in a known state and prevent configuration drift.

Who uses network automation? Enterprise networks use it to roll out changes to hundreds of devices, and controller-based solutions like Cisco SD-Access automate the entire campus. Data centers and cloud providers rely on it because they can’t manage their scale by hand. It’s also part of the CCNA, CCNP ENCOR, and CCIE Enterprise Infrastructure blueprints, so every network engineer needs to know the basics.

Network Automation Learning Roadmap

This roadmap follows the course units. Each topic has a short explanation and links to the lessons where we cover it in detail.

Automation, Orchestration and Configuration Management

We start with the difference between automation and orchestration. Automation is running a task without human intervention, like resetting OSPF on three routers; orchestration means you describe what you want and the orchestrator works out how. Configuration management tools keep your systems in a desired state and prevent configuration drift. Agent-based tools like Puppet and Chef install software on the systems they manage, while Ansible is agentless. Storing your configurations in a version control system like Git lets you work together and roll back changes.

Lessons: Network automation and orchestration, Configuration management tools and version control

Software Defined Networking (SDN)

Every network device has a control plane, a data plane, and a management plane. SDN separates the control plane from the data plane and moves it to a central controller. Applications talk to the controller through northbound APIs, and the controller talks to the switches through southbound protocols like OpenFlow. We build labs with the OpenDaylight and ONOS controllers and Open vSwitch, and look at Cisco SD-Access, which uses LISP on the control plane, VXLAN on the data plane, and TrustSec on the policy plane. We also try the path trace tool of Cisco’s APIC-EM controller.

Lessons: Introduction to SDN, OpenDaylight, ONOS, SD-Access, APIC-EM path trace

Data Models and Device Programmability

Scripts need structured data, not show command output. APIs exchange data in formats like XML and JSON, and tools like Ansible use YAML. YANG data models describe what you can configure and monitor on a device. NETCONF uses XML and RPCs over SSH, RESTCONF uses HTTP methods with XML or JSON, and gRPC is an open source RPC framework from Google. We try NETCONF and RESTCONF on a Cisco IOS XE router and gRPC on a Cisco IOS XR router.

Lessons: Data models and structures, Device programmability: NETCONF, RESTCONF, and gRPC

REST APIs

A REST API lets applications talk to each other with the same HTTP methods your web browser uses: GET to read, POST to create, PUT to update, and DELETE to remove. These map to the CRUD operations (create, read, update, delete) that every application uses to work with data. We use Python scripts to read and change the configuration of a Cisco CSR1000v router through its REST API. You’ll also learn the common authentication options: basic authentication, API keys, and tokens like JWT.

Lessons: Introduction to REST API, CRUD, REST API authentication

Ansible and Terraform

Ansible is a great tool to start with network automation. It’s agentless, uses SSH to connect to your devices, and you write your tasks in YAML playbooks, so you can run your first automation in minutes. Terraform is an infrastructure as code (IaC) tool from HashiCorp. It’s declarative: you define the end state in its own configuration language, and Terraform uses APIs to create the resources, whether that’s an AWS EC2 instance or the configuration of a Cisco IOS XE router.

Lessons: Ansible explained, Terraform explained

AI and Machine Learning

AI is the simulation of human intelligence with computers, and machine learning is the subfield where algorithms learn from data to make predictions and decisions. Generative AI and large language models (LLMs) like ChatGPT became popular in 2022. In networking, you can use LLMs to help with configurations and troubleshooting, and vendors use AI and ML (AIOps) to analyze network data, spot anomalies, and predict issues before users notice them.

Lessons: AI and machine learning, AI and ML in networking

Frequently Asked Questions

What is network automation?

Network automation means letting scripts or tools configure, manage, and monitor network devices instead of doing it by hand in the CLI. It saves time, reduces errors, and scales to hundreds or thousands of devices. Common tools are Python, Ansible, Terraform, and controllers like Cisco DNA Center. Learn about network automation and orchestration.

What is SDN?

SDN (software defined networking) separates the control plane from the data plane. A central controller decides how traffic is forwarded and programs the switches through southbound protocols like OpenFlow, while applications talk to the controller through northbound APIs. Read our introduction to SDN.

What is the difference between NETCONF and RESTCONF?

Both use YANG data models to configure and monitor network devices. NETCONF is the older protocol: it runs over SSH and uses XML with remote procedure calls (RPCs). RESTCONF works like a REST API: it uses HTTP methods like GET, PUT, PATCH, and DELETE, with XML or JSON. Learn about NETCONF, RESTCONF, and gRPC.

What is a REST API?

A REST API is a software interface that lets applications communicate over HTTP. The client uses HTTP methods like GET, POST, PUT, and DELETE on a resource, identified by a URL, and the data is usually formatted in JSON or XML. Many network devices and controllers offer a REST API. Read our introduction to REST API.

What is the difference between Ansible and Terraform?

Ansible is a configuration management tool: it connects to existing systems, mostly through SSH, and runs the tasks in your YAML playbooks. Terraform is an infrastructure as code tool that is declarative: you describe the end state and it creates the resources through APIs, for example in AWS. They also work well together, with Terraform creating resources and Ansible configuring them. Learn how Terraform works.

Is Ansible agentless?

Yes. Ansible doesn’t need any software on the devices it manages. It runs from your own computer and uses SSH to connect to routers, switches, and servers. Tools like Puppet and Chef are agent-based: they need an agent on every system they manage. Learn how Ansible works.

Do network engineers need to learn programming?

You don’t need to become a software developer, but basic Python and knowing how to work with APIs and JSON helps a lot. Tools like Ansible let you automate without programming, and network automation is part of the CCNA and CCNP ENCOR exams. Learn Python for network engineers.

Will AI replace network engineers?

Probably not. AI and machine learning are more likely to become another tool in your toolbox. LLMs can help you write configurations and troubleshoot, and AI-driven tools analyze network data to predict and find issues, but you still need to understand the network to use them well. Learn how AI and ML are used in networking.

Ready to automate your network?

Get access to all 16 Network Automation lessons and every other course on NetworkLessons.com.

Sign up