200-901 infrastructure automation explained
Infrastructure and Automation is worth 20% of 200-901, tied with APIs as the heaviest domain. It asks you to explain why network teams automate, to compare the tools, and above all to interpret: a script, an Ansible playbook, a bash script, a RESTCONF reply, a YANG model, a unified diff and a sequence diagram. You are rarely asked to write from scratch; you are asked what something does.
Why automate, and how
Manual changes are slow, inconsistent and hard to audit. Automation makes changes repeatable, testable and reviewable. Infrastructure as code (IaC) describes infrastructure in text files kept in version control, so a change is a commit that can be reviewed, tested and rolled back.
Model-driven programmability uses data models (YANG) and standard protocols (NETCONF, RESTCONF) to configure devices with structured data instead of CLI text. Its value is consistency across devices and fewer parsing errors.
Controller-level or device-level
| Controller-level | Device-level | |
|---|---|---|
| Scope | Many devices through one API | One device at a time |
| Example | Catalyst Center, Meraki, ACI | RESTCONF or NETCONF to a switch |
| Strength | Intent and scale, abstraction | Fine-grained control |
| Cost | Depends on the controller’s features | More code to manage many devices |
Tools
| Tool | Role |
|---|---|
| Ansible | Agentless; YAML playbooks; push-based configuration |
| Terraform | Declarative IaC; plan then apply; tracks state |
| Cisco NSO | Orchestrates services across devices using YANG models |
| Cisco Modeling Labs | Builds simulated networks to test changes |
| pyATS | Python framework for testing network behaviour |
A simulation tool means you test an automation change before it touches production. pyATS adds automated checks, such as confirming a neighbour is up after a change.
CI/CD for infrastructure
The pipeline mirrors application CI/CD: a commit triggers validation, tests run against a simulated network, a review approves the change and deployment follows. Benefits are consistency, early detection of errors and a record of who changed what. A code review has a colleague examine a change before merge, which catches defects, spreads knowledge and enforces standards.
Interpreting an Ansible playbook
- name: Web server setup
hosts: webservers
tasks:
- name: Install nginx
ansible.builtin.package:
name: nginx
state: present
- name: Start nginx
ansible.builtin.service:
name: nginx
state: started
Read it top to bottom: it targets the group webservers, ensures the package is installed and ensures the service is running. The outline lists management packages, user management for services, basic service configuration and start or stop. Ansible modules are idempotent: running the playbook twice does not change a system that is already correct.
Interpreting scripts, replies and models
Python with Cisco APIs. Identify the workflow: authenticate, request a device or client list, loop and print. The outline names ACI, Meraki, Catalyst Center and RESTCONF.
Bash. mkdir, cd, cp, apt install, useradd and export tell you it creates directories, installs software or manages users.
RESTCONF and NETCONF. A reply is structured data. Find the container and leaf names, read their values, and note whether the reply is XML (NETCONF) or JSON or XML (RESTCONF).
YANG. A module defines containers (grouping), lists (repeated entries with a key), leaves (values with a type). Know that YANG is the model and NETCONF or RESTCONF is how you reach it.
Unified diff. Lines starting with - were removed, + were added, and lines beginning with a space are context. The @@ header shows the line ranges.
Sequence diagram. Time runs downward; each arrow is a message between participants, such as a client, an authentication server and a controller. Read the order of calls.
Example questions
Question 1. An Ansible playbook runs a task using the package module with state: present for nginx, and a second task using the service module with state: started. What does the playbook automate?
- A. Installing nginx and ensuring the service is running
- B. Creating user accounts for the web service
- C. Removing nginx from the hosts
- D. Collecting a hardware inventory of the hosts
Show answer
Answer: A
The package task ensures nginx is installed and the service task ensures it is running; that is installing and starting a web service. It does not create users, collect inventory, or change the network topology. State values describe the desired end state, not deletion.
Want more questions like this? Full 200-901 practice tests →
Question 2. In a unified diff, a line begins with a minus sign followed by 'interface mtu 1400' and the next line begins with a plus sign followed by 'interface mtu 1500'. What does the change represent?
- A. Both lines were added to the file
- B. The file was renamed
- C. The MTU value was changed from 1400 to 1500
- D. The MTU value was changed from 1500 to 1400
Show answer
Answer: C
Minus lines are removed and plus lines are added, so the value changed from 1400 to 1500. It is not an addition of both lines, because the minus line is removed. A line without a prefix would be context. Nothing in the diff indicates a file rename.
Want more questions like this? Full 200-901 practice tests →
Question 3. A team wants to test a network automation change before it reaches production, without risking real devices. Which approach fits best?
- A. Apply it to production during a quiet period
- B. Rely on a code review alone
- C. Skip testing because the change is small
- D. Run it against a simulated network, then verify with automated tests
Show answer
Answer: D
A simulation tool such as Cisco Modeling Labs lets you run the change against a virtual copy of the network, and pyATS can verify results. Applying the change to production first risks an outage. Reviewing the code alone does not prove it works. Skipping tests defeats the purpose of a CI/CD pipeline.
Want more questions like this? Full 200-901 practice tests →
Next: network fundamentals. The tool names also appear in the cheat sheet, and the CCNA’s view of automation is in AI and network operations.