Network Automation
Network automation uses software, structured data, and device interfaces to repeat network operations consistently. It helps you inspect, configure, and validate many network devices without treating every change as a separate manual session.
itNetworking | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Network Automation
Network automation turns an operational intent into repeatable work on network devices. You describe targets, data, and actions in a form that software can process. The software connects to devices, reads or changes state, and returns evidence you can validate.
The goal is not to remove network engineering judgment. Automation applies that judgment consistently. You still decide what the network should do, which devices are in scope, what failure looks like, and when to stop.
Why manual work stops scaling
A manual command can be safe on one device and risky across a fleet. Repetition introduces typing differences, missed steps, and uneven verification. It also leaves weak evidence unless you record each command and result.
Automation gives one procedure a defined input and repeatable execution path. That can improve consistency and make reviews easier. It can also repeat a mistake quickly. The size of the blast radius makes validation and controlled rollout part of the design.
The working model
Think of network automation as a pipeline:
- Intent states the outcome you want.
- Source of truth provides approved facts about devices, interfaces, addresses, sites, or services.
- Inventory selects the devices and supplies connection data.
- Automation logic turns intent and data into reads, comparisons, or changes.
- Transport and interface carry requests to each device.
- Validation compares observed results with the expected outcome.
- Evidence records inputs, changes, and results for review.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://datatracker.ietf.org/wg/netconf/about/
Supports
- NETCONF and RESTCONF as protocols for YANG data model-driven management
- Working-group scope for configuration, monitoring, telemetry, and zero-touch mechanisms
- YANG as the recommended NETCONF data modeling language
- https://www.rfc-editor.org/rfc/rfc6244.html
Supports
- Architecture-level relationship between NETCONF and YANG
- Role of models and protocol operations in network management
- https://www.rfc-editor.org/rfc/rfc6241.html
Supports
- NETCONF RPC request and reply model with XML encoding
- Configuration datastores and the always-present running datastore
- Optional candidate and startup datastores through capabilities
- Capability exchange, errors, and protocol operations
- https://www.rfc-editor.org/rfc/rfc7950.html
Supports
- YANG 1.1 schema and data tree concepts
- Containers, lists, leaves, leaf-lists, types, operations, and notifications
- Features as optional model portions
- https://www.rfc-editor.org/rfc/rfc8040.html
Supports
- RESTCONF access to YANG-modeled resources through HTTP
- XML and JSON representations
- Configuration datastore interaction and NETCONF lock conflicts
- Protocol error and security behavior
- https://docs.ansible.com/projects/ansible/latest/network/getting_started/
Supports
- Network inventory, playbooks, modules, collections, and connection concepts
- Network communication through SSH or HTTPS
- Network modules executing on the control node
- Read-only command and first-playbook learning path
- https://docs.ansible.com/projects/ansible/latest/network/getting_started/network_differences.html
Supports
- Control-node execution for network modules
- Multiple network connection methods and platform collections
- https://docs.ansible.com/projects/ansible/latest/network/getting_started/first_playbook.html
Supports
- Manual connectivity check before automation
- First command, playbook, and network fact collection
- https://docs.ansible.com/projects/ansible/latest/inventory_guide/intro_inventory.html
Supports
- Hosts, groups, variables, and connection data in inventory
- Inventory inspection and organization
- https://docs.ansible.com/projects/ansible/latest/inventory_guide/intro_patterns.html
Supports
- Host-pattern target selection
- Limits as an additional target constraint
- https://docs.ansible.com/projects/ansible/latest/cli/ansible-playbook.html
Supports
- Syntax check, list hosts, list tasks, limits, verbosity, check, and diff options
- https://docs.ansible.com/projects/ansible/latest/cli/ansible-inventory.html
Supports
- Inventory graph and host views used in the practice reference
- https://docs.ansible.com/projects/ansible/latest/playbook_guide/playbooks_checkmode.html
Supports
- Check and diff mode behavior
- Module-support and registered-result limitations
- Sensitive data exposure through diff output
- https://docs.ansible.com/projects/ansible/latest/collections/ansible/netcommon/cli_command_module.html
Supports
- Running commands on network devices through network_cli
- cli_command parameters and returned standard output
- https://ncclient.readthedocs.io/en/latest/manager.html
Supports
- NETCONF manager connection parameters
- Server capability inspection through a connected session
- https://netbox.readthedocs.io/en/stable/
Supports
- Network-specific data model for infrastructure documentation
- APIs and extensions for source-of-truth integration
- https://nornir.readthedocs.io/en/latest/
Supports
- Nornir as a Python automation framework
- Inventory, task dispatch, and plugin roles
- https://napalm.readthedocs.io/en/latest/
Supports
- Unified Python API for supported network operating systems
- Configuration manipulation and operational data retrieval
- https://github.com/sindresorhus/awesome
Supports
- Discovery starting point for curated awesome lists
- https://github.com/networktocode/awesome-network-automation
Supports
- Discovery of Batfish, Clixon, Infrahub, Arista Validated Designs, and Arista Network Test Automation
- Curated network automation ecosystem context
- https://batfish.readthedocs.io/en/latest/
Supports
- Configuration, routing, forwarding, access control, and reachability analysis
- Python interface and getting-started documentation
- https://clicon.org/
Supports
- YANG-based configuration system
- Command-line, NETCONF, and RESTCONF interfaces
- https://docs.infrahub.app/
Supports
- Schema-driven infrastructure data, versioning, and automation integration
- Concept and getting-started documentation
- https://avd.arista.com/
Supports
- Model-driven design and deployment through Ansible collections
- Vendor-specific network automation framework
- https://anta.arista.com/
Supports
- Python framework for automated Arista network testing
- Test catalogs, inventory, and result reporting
