CCNA Automation and Programmability
The CCNA certification primarily focuses on the traditional networking model. Most of its chapters include topics from the traditional networking model. However, the current CCNA certification program includes a few topics from the modern networking model known as the controller-based networking model. This chapter provides a brief introduction to the controller-based networking model and explains the topics covered in the CCNA certification.
Networking environments
There are two types of networking environments: traditional and modern. The conventional networking environment uses distributed configurations. In this model, you learn protocols that the devices use, along with the commands that can customize how those protocols operate. Then, you configure and manage each device individually.
The modern networking environment uses a centralized configuration. In this model, you use a controller device or software to manage all devices from a single location. You configure the controller device. Then, the controller device pushes the configuration to all networking devices. Since you use a controller to manage network devices, it is also called controller-based networking.
Automation
Automation is a process of using software to read network state, make decisions, and change configuration or report facts without (or with minimal) human intervention. It cuts operational costs, reduces errors, speeds up provisioning, and enables large‑scale, consistent changes across a fleet of devices.
Programmability
Programmability is the ability to write programs that control network behavior through APIs. It turns a static device into an element of a dynamic software stack. It allows rapid feature roll‑out, automated troubleshooting, and integration with cloud services or custom business logic.
How Automation Works
The automation process goes through four steps.
| Discovery / Data Collection | A script or application queries devices via an API, retrieving JSON‑encoded facts (e.g., interface status, VLAN assignments). |
| Analysis & Decision | The program examines those facts, applies business rules or policy logic, and decides what change is needed. |
| Action | It issues the appropriate API calls (POST/DELETE) to modify the configuration or to request a new operation. |
| Verification | After the change, it reads back the state to confirm success. |
REST and JSON
Automation and programmability use REST and JSON. REST is an API. It provides a uniform way to perform CRUD (Create, Read, Update, Delete) operations on network resources using standard HTTP verbs (GET, POST, PUT, DELETE). It defines how two automation programs should communicate over a network.
JSON is a language. It encodes the variables being sent or received, such as names, values, and nested structures. It is lightweight, human‑readable, and language‑agnostic. It is ideal for machine‑to‑machine communication.
CCNA Exam topics
The topic of network programmability and SDN is significant. It covers a lot of topics and concepts. Rather than explain them all, this chapter focuses only on those topics that are relevant to the CCNA exam. It covers a brief introduction and basic concepts of network programmability and SDN. The current CCNA certification program includes the following topics from the controller-based networking environment.
- 6.1 Explain how automation impacts network management
- 6.2 Compare traditional networks with controller-based networking
-
6.3 Describe controller-based and software-defined architectures (overlay, underlay, and fabric)
- 6.4 Compare traditional campus device management with Cisco DNA Center-enabled device management
- 6.5 Describe characteristics of REST-based APIs (CRUD, HTTP verbs, and data encoding)
- 6.6 Recognize the capabilities of configuration management mechanisms Puppet, Chef, and Ansible
- 6.7 Interpret JSON encoded data
Conclusion
Automation & programmability turn a network into an extensible software platform. By exposing device state through RESTful APIs and exchanging data in JSON, you can write reusable scripts or applications that discover, analyze, act on, and verify network conditions. It leads to faster deployments, fewer human errors, and the ability to scale operations across thousands of devices.
Author Laxmi Goswami Updated on 2025-10-15