Skip to content

Quick review

Quick review: Automation and Programmability – CCNA

This review sheet helps you go over the fundamental concepts of automation, programmability and controller-based networking required in the Cisco CCNA path.

What you really need to know

Automation and programmability have become an important part of CCNA because modern networks are not managed only through manual CLI configuration. Controllers, APIs, templates, automation tools, structured formats and programmable models are increasingly used.

For CCNA, you do not need to become an advanced software developer, but you must understand the fundamental concepts: what APIs are, how REST works, why JSON and YAML are used, what SDN means, what the differences are between northbound and southbound APIs, and why tools such as Ansible or Cisco DNA Center help with network management.

The central point is this: automation helps make the network more consistent, scalable, faster to manage and less dependent on repetitive manual configurations.

Key concepts

  • Automation: use of tools or scripts to perform repetitive tasks without continuous manual intervention.
  • Programmability: ability to control devices or services through code, APIs or structured models.
  • API: interface that allows different systems to communicate.
  • REST API: API based on HTTP requests and resources.
  • JSON: structured data format widely used in APIs.
  • YAML: readable format often used in configuration and automation files.
  • SDN: model that separates the control plane and the data plane.
  • Controller-based networking: network managed by a central controller.
  • Northbound API: API between controller and upper-level applications.
  • Southbound API: API or protocol between controller and network devices.
  • Cisco DNA Center: Cisco platform for management, automation and assurance.
  • Ansible: automation tool based on playbooks.
  • NETCONF: protocol for configuring network devices programmatically.
  • RESTCONF: protocol that exposes configuration data through a REST-based approach.

Differences not to confuse

ConceptMain meaning
APIInterface between systems
RESTHTTP-based API style
JSONStructured data format
YAMLReadable format for configurations
SDNSeparation of control/data
ControllerCentralized network management
Northbound APIController toward applications
Southbound APIController toward devices
AnsibleAutomation through playbooks
NETCONFProgrammable network configuration
RESTCONFConfiguration through REST model

Why network automation is needed

Manual device-by-device configuration can work in small networks, but becomes difficult as the network grows.

Problems of manual management:

  • human errors;
  • inconsistent configurations;
  • long execution times;
  • more complex troubleshooting;
  • difficulty documenting changes;
  • difficulty repeating identical procedures;
  • poor scalability.

Automation helps to:

  • apply consistent configurations;
  • reduce errors;
  • speed up repetitive tasks;
  • standardize procedures;
  • document better;
  • deploy changes across many devices;
  • integrate networking, security and IT systems.

For CCNA, you need to remember that automation does not mean eliminating traditional networking, but managing it more efficiently.

API

An API, Application Programming Interface, is a standard way for one software system to communicate with another software system.

In networking, an API can allow you to:

  • read information from a device;
  • send configurations;
  • query statistics;
  • create objects;
  • modify policies;
  • query a controller;
  • integrate the network with external tools.

Conceptual example: instead of logging into every switch through CLI to check interface status, a system can query an API and automatically collect the data.

REST API

REST is a very common style for designing APIs.

REST APIs normally use HTTP and operations such as:

  • GET: read information;
  • POST: create a new resource;
  • PUT: update or replace a resource;
  • PATCH: partially modify a resource;
  • DELETE: delete a resource.

For CCNA, you mainly need to recognize the general meaning of HTTP methods.

Example:

  • GET can be used to read device status;
  • POST can be used to create an object;
  • PUT can be used to update a configuration;
  • DELETE can be used to remove a resource.

HTTP codes

REST APIs often return HTTP status codes.

Some common codes:

CodeMeaning
200OK, request successful
201Created, resource created
400Bad Request, incorrect request
401Unauthorized, missing or incorrect authentication
403Forbidden, access not allowed
404Not Found, resource not found
500Server Error, server-side error

In CCNA quizzes, the concept may appear that code 200 indicates success, while 404 indicates a resource was not found.

JSON

JSON, JavaScript Object Notation, is a structured data format widely used in APIs.

It is made of key-value pairs.

Conceptual example:

  • hostname: Router1;
  • interface: GigabitEthernet0/1;
  • status: up.

JSON is widely used because it is readable, lightweight and easy for applications and scripts to process.

For CCNA, you need to recognize that JSON often uses curly braces, key-value pairs and nested structures.

YAML

YAML is a readable format often used for configurations, automation and playbooks.

It is common in tools such as Ansible.

YAML uses indentation to represent data structure. This makes it readable, but requires attention to spaces.

For CCNA, you need to know that YAML is often chosen for configuration and automation files because it is more human-readable than other formats.

JSON vs YAML

JSON and YAML can both represent structured data, but they are often used in slightly different contexts.

FormatTypical use
JSONAPIs, data exchange between systems
YAMLConfigurations, playbooks, automation

JSON is very common in API responses. YAML is very common in files written by operators or automation tools.

SDN

SDN means Software-Defined Networking.

The main concept is separating:

  • control plane: decides where traffic should go;
  • data plane: actually forwards the traffic.

In traditional networks, each device makes many decisions locally. In an SDN or controller-based model, a controller can have a more centralized view of the network and distribute policies or configurations.

For CCNA, you need to understand that SDN does not mean routers and switches no longer exist. It means control and management can be more centralized and programmable.

Control plane and data plane

The control plane concerns decisions and logic.

Examples:

  • route calculation;
  • routing information;
  • forwarding decisions;
  • policies;
  • topology control.

The data plane concerns the actual forwarding of traffic.

Examples:

  • packet forwarding;
  • frame switching;
  • practical application of forwarding decisions.

Simple difference:

  • control plane = decides;
  • data plane = forwards.

Controller-based networking

In a controller-based network, a central controller manages devices, policies, configurations and operational information.

The controller can:

  • distribute configurations;
  • apply policies;
  • collect data;
  • monitor network status;
  • automate activities;
  • provide APIs;
  • simplify provisioning and troubleshooting.

A controller does not eliminate the need to know routing, switching, security and wireless. It coordinates them in a more centralized way.

Northbound API and southbound API

These two concepts are very important.

Northbound APIs are APIs between the controller and upper-level applications, dashboards, orchestrators or external tools.

Southbound APIs or protocols connect the controller to network devices.

Simple difference:

  • northbound = toward applications and management systems;
  • southbound = toward routers, switches, access points and devices.

Example:

  • a dashboard uses a northbound API to request data from the controller;
  • the controller uses a southbound API or protocol to configure a device.

Cisco DNA Center

Cisco DNA Center is a Cisco platform for network management and automation.

It can be used for:

  • centralized management;
  • device inventory;
  • configuration automation;
  • policies;
  • assurance;
  • monitoring;
  • troubleshooting;
  • API integration.

In the CCNA context, you do not need to know every advanced function, but you should recognize Cisco DNA Center as a controller-based platform for network management and automation.

Ansible

Ansible is a widely used automation tool for configuration and management.

Important characteristics:

  • uses playbooks;
  • playbooks are often written in YAML;
  • can automate repetitive tasks;
  • can configure many devices consistently;
  • uses modules;
  • is agentless in many scenarios, meaning it does not require an agent installed on the managed device.

Conceptual example: instead of manually configuring ten switches, an Ansible playbook can apply a standard configuration to all of them.

Playbook

A playbook is a file that describes tasks to execute.

It can include:

  • target devices;
  • variables;
  • tasks;
  • modules to use;
  • configurations to apply;
  • checks.

Playbooks help make operations repeatable and documented.

For CCNA, you should connect Ansible to YAML and the concept of declarative or procedural automation through tasks.

NETCONF

NETCONF is a protocol used to install, modify, delete and read configurations of network devices.

It often uses structured data models such as YANG.

Important concepts:

  • programmable management;
  • structured configurations;
  • reading and modifying state;
  • more controlled approach than CLI screen scraping.

For CCNA, you need to recognize NETCONF as a protocol for programmable configuration and management of devices.

RESTCONF

RESTCONF provides a way to access configuration and state data using a REST-like approach.

It uses HTTP and can represent data in formats such as JSON or XML.

Simple difference:

  • NETCONF is a specific protocol for configuration management;
  • RESTCONF exposes configuration data using REST principles.

For CCNA, you need to know that RESTCONF is connected to programmability, APIs and data models.

YANG

YANG is a data modeling language used to describe configuration and state of network devices.

YANG defines the structure of data that protocols such as NETCONF and RESTCONF can use.

For CCNA, you do not need to write complex YANG models, but you should know that YANG describes network data in a structured way.

Intent-based networking

Intent-based networking means expressing what you want to achieve, leaving the system to translate that intent into configurations and policies.

Example:

  • intent: the guest department must access only the Internet;
  • system: applies VLANs, ACLs, policies and required configurations.

The concept is important because many modern platforms try to move management from individual manual configuration to the desired objective.

Benefits of automation

The main benefits are:

  • reduction of manual errors;
  • greater speed;
  • consistent configurations;
  • scalability;
  • implicit documentation through files and templates;
  • repeatability;
  • integration with other systems;
  • faster provisioning;
  • more efficient troubleshooting.

In a large network, automating a change reduces the risk of having devices configured differently due to human error.

Risks of automation

Automation is not risk-free.

Common risks:

  • quickly propagating an error to many devices;
  • using incorrect templates;
  • not testing changes;
  • poorly managing credentials or API tokens;
  • lack of version control;
  • excessive permissions for automation tools;
  • poor documentation;
  • no rollback.

For this reason, automation and change management must work together.

Version control

Version control allows changes to files, scripts, templates and configurations to be tracked.

Advantages:

  • knowing who changed what;
  • returning to previous versions;
  • collaborating better;
  • documenting changes;
  • reducing errors;
  • supporting audits and troubleshooting.

Git is a common example of a version control system.

In the CCNA context, you need to understand the value of version control even if you do not need to become a Git expert.

Automation and API troubleshooting

When automation does not work, you should check:

  • credentials;
  • API tokens;
  • permissions;
  • correct endpoint;
  • correct HTTP method;
  • correct payload;
  • valid JSON or YAML format;
  • connectivity to controller or device;
  • HTTP response;
  • tool logs;
  • device compatibility.

Example: if an API returns 401, the problem is probably authentication. If it returns 404, the resource or endpoint may not exist.

Common quiz mistakes

  • Thinking that automation completely replaces network administrators.
  • Confusing JSON and YAML.
  • Thinking that YAML is used only for APIs.
  • Confusing northbound and southbound APIs.
  • Thinking that SDN eliminates routers and switches.
  • Confusing control plane and data plane.
  • Thinking that REST is a routing protocol.
  • Thinking that GET modifies configurations.
  • Forgetting that POST, PUT, PATCH and DELETE can modify resources.
  • Confusing Ansible with a routing protocol.
  • Thinking that automation removes the need for testing and change management.
  • Forgetting that an automated error can spread very quickly.

Mini exam scenario

A team wants to apply the same base configuration to twenty switches. Doing it manually takes time and can generate different errors on each device. The most appropriate solution is to use an automation tool, such as Ansible, with a controlled playbook and templates.

Another scenario: a dashboard needs to read information from a network controller. The communication between dashboard and controller happens through a northbound API.

Mini checklist before the quiz

Before starting the quiz, you should be able to explain:

  • what network automation means;
  • what programmability means;
  • what an API does;
  • what characterizes a REST API;
  • the difference between GET, POST, PUT and DELETE;
  • what HTTP codes such as 200, 401 and 404 indicate;
  • what JSON and YAML are;
  • the difference between JSON and YAML;
  • what SDN means;
  • the difference between control plane and data plane;
  • what northbound and southbound APIs are;
  • what Cisco DNA Center is used for;
  • what Ansible is used for;
  • what NETCONF, RESTCONF and YANG are;
  • why automation and change management must be connected.

FAQ

What does network automation mean?

It means using tools, scripts, templates or controllers to perform network activities in a repeatable and less manual way.

What are APIs in networking?

APIs allow software, controllers and external tools to communicate with network devices or platforms.

What is the difference between JSON and YAML?

JSON is widely used for data exchange through APIs. YAML is often used for configuration files and playbooks because it is readable by operators.

What is SDN?

SDN means Software-Defined Networking. It is a model that separates the control plane from the data plane and enables more centralized and programmable management.

What is the difference between northbound API and southbound API?

Northbound APIs connect controllers and upper-level applications. Southbound APIs or protocols connect controllers and network devices.

What is Ansible used for?

Ansible is used to automate configurations and repetitive tasks, often using playbooks written in YAML.

What are NETCONF and RESTCONF?

They are technologies used to manage device configurations and data in a programmable and structured way.

Does automation eliminate errors?

No. It reduces many manual errors, but if designed poorly it can quickly propagate errors across many devices.

Now test what you reviewed

After the review, start the quiz to check whether you really understand the key concepts.