{
    "schema": 1,
    "slug": "netdevops",
    "title": "NetDevOps",
    "full_name": "NetDevOps & Network Automation Engineering",
    "category": "Networking",
    "tagline": "Automate, test and operate networks as code, from Python and APIs to CI/CD, telemetry and AI agents.",
    "summary": "Learn to run networks like modern software: intended state in a source of truth, configurations generated and version-controlled, every change tested in a pipeline and the live network continuously observed. This path takes network engineers from Python and APIs through Ansible, NETCONF, gNMI, Batfish and Containerlab to closed-loop and AI-assisted operations.",
    "description": "NetDevOps brings software engineering and DevOps practice to networking. Intended network state lives as structured data in a source of truth, device configurations are generated from it and kept in Git, changes are validated in pipelines and virtual labs before deployment, and the running network is continuously observed and reconciled. Network automation is the toolkit; NetDevOps is the operating model around it.\n\nIt matters more in 2026 than ever. AI data-center fabrics, multi-cloud connectivity and zero-trust segmentation have pushed change volume beyond what manual CLI work can handle safely, vendors have moved to model-driven APIs and streaming telemetry, and Cisco has rebranded its DevNet track as CCNA, CCNP and CCIE Automation, signalling that automation is now core networking. AI agents are arriving in network operations too, and they are only as safe as the source of truth, tests and guardrails underneath them.\n\nThis path starts with networking, Linux, Python and Git refreshers, then moves through data formats and templating, CLI and API automation, YANG with NETCONF, RESTCONF and gNMI, Ansible and Terraform, and source-of-truth platforms. The advanced stages cover network CI/CD with Batfish, pyATS and Containerlab digital twins, then streaming telemetry, closed-loop automation and AI for network operations.\n\nNetDevOps overlaps heavily with DevOps and GitOps, which share the same Git workflows and pipelines, with SRE, which brings SLOs, observability and incident response to the network, and with CloudOps, where VPCs, VNets and firewalls are managed as code.",
    "icon": "lan",
    "accent": "#84CC16",
    "level": "Beginner → Advanced",
    "duration_weeks": 32,
    "weekly_hours": 10,
    "audience": [
        "Network engineers at CCNA or CCNP level who want to stop configuring devices one CLI session at a time",
        "Network operations and NOC staff moving into automation and reliability roles",
        "DevOps, SRE and platform engineers who need to own data-center and cloud networking as code",
        "Cloud engineers responsible for VPC, VNet, firewall and hybrid connectivity designs",
        "Candidates preparing for Cisco CCNA or CCNP Automation, JNCIA-DevOps or Red Hat Ansible network exams"
    ],
    "prerequisites": [
        "Working knowledge of IP networking: subnetting, VLANs and routing basics (CCNA level is ideal)",
        "Comfort using a terminal and SSH to reach network devices",
        "Basic programming exposure in any language is helpful but not required",
        "A laptop with at least 16 GB RAM that can run Docker and Containerlab, or access to Cisco DevNet sandboxes"
    ],
    "outcomes": [
        "Write Python automation that configures, audits and reports on multi-vendor networks",
        "Model network intent as structured data and render device configurations with Jinja templates",
        "Manage devices through NETCONF, RESTCONF and gNMI using YANG and OpenConfig models",
        "Automate network changes with Ansible, Nornir and Terraform driven by a NetBox or Nautobot source of truth",
        "Build a network CI/CD pipeline with linting, Batfish analysis, Containerlab digital twins and pyATS verification",
        "Stream gNMI telemetry into Prometheus and Grafana and close the loop with Event-Driven Ansible",
        "Apply AI assistants and MCP-connected agents to network operations with read-only defaults, guardrails and human approval"
    ],
    "trends": [
        "Cisco rebranded its DevNet certifications as CCNA, CCNP and CCIE Automation on 3 February 2026, and the 350-901 core exam became AUTOCOR with an AI-in-automation focus.",
        "HPE completed its acquisition of Juniper Networks in July 2025; Juniper's certification programme has since been renamed the HPE Networking Certification Program, and JNCIA-DevOps (JN0-224) remains current.",
        "AgenticOps is arriving in network operations: vendors and open-source projects now ship MCP servers, such as NetBox Labs' read-only NetBox MCP server, so AI agents can query the source of truth and telemetry under human oversight.",
        "Model-driven management is mainstream: gNMI and OpenConfig streaming telemetry are replacing SNMP polling, with open collectors such as gNMIc maintained under the OpenConfig project.",
        "Lab-as-code and digital twins are standard practice: Containerlab, netlab and Batfish let teams test every change against a realistic virtual network in CI before it reaches production.",
        "AI training clusters are driving automation-first data-center fabrics built on EVPN-VXLAN, SONiC and the Ultra Ethernet Consortium specification, where manual configuration does not scale."
    ],
    "roles": [
        {
            "title": "Network Automation Engineer",
            "description": "Builds and maintains the scripts, playbooks, integrations and pipelines that configure, validate and report on the network."
        },
        {
            "title": "NetDevOps Engineer",
            "description": "Runs network changes like software releases, with a source of truth, version control, automated testing and CI/CD into production."
        },
        {
            "title": "Network Reliability Engineer",
            "description": "Applies SRE practice to the network: streaming telemetry, SLOs, closed-loop remediation and automation that prevents repeat incidents."
        },
        {
            "title": "Cloud Network Engineer",
            "description": "Designs and codifies VPCs, VNets, transit routing, firewalls and hybrid connectivity with Terraform and cloud APIs."
        },
        {
            "title": "Network Automation Architect",
            "description": "Defines the automation framework, data models, tooling standards and governance used across vendors, domains and teams."
        }
    ],
    "stages": [
        {
            "title": "Foundations: Networking, Linux, Python & Git",
            "level": "Beginner",
            "duration_weeks": 6,
            "description": "Refresh the networking fundamentals automation depends on and build the core engineering skills of Linux, Python and Git.",
            "milestone": "You can subnet and troubleshoot a routed multi-VLAN network, work confidently with Linux networking tools, and write Python scripts kept in Git.",
            "topics": [
                {
                    "title": "Networking Fundamentals Refresher",
                    "description": "You cannot automate what you do not understand. Revisit addressing, switching, routing and core services with an eye on how each is represented as data, and read packet captures to verify behaviour.",
                    "est_hours": 18,
                    "optional": false,
                    "concepts": [
                        "OSI and TCP/IP models",
                        "IPv4 and IPv6 subnetting",
                        "VLANs and trunking",
                        "static routing, OSPF and BGP basics",
                        "ACLs and NAT",
                        "DNS, DHCP and NTP",
                        "EVPN-VXLAN overview"
                    ],
                    "tools": [
                        "Wireshark"
                    ],
                    "resources": [
                        {
                            "title": "Computer Networks: A Systems Approach (free book)",
                            "url": "https://book.systemsapproach.org/",
                            "type": "book",
                            "free": true
                        },
                        {
                            "title": "CCNA Certification Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/certification/ccna-certification-training.html",
                            "type": "course",
                            "free": false
                        },
                        {
                            "title": "Wireshark Documentation",
                            "url": "https://www.wireshark.org/docs/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Linux for Network Engineers",
                    "description": "Automation tools, network operating systems and lab platforms all run on Linux. Learn the shell, SSH, iproute2, namespaces and bridges so you can build labs and troubleshoot the hosts that run your automation.",
                    "est_hours": 10,
                    "optional": false,
                    "concepts": [
                        "shell navigation and pipes",
                        "SSH keys and client config",
                        "iproute2: ip addr, ip route and ip netns",
                        "Linux bridges and network namespaces",
                        "tcpdump",
                        "systemd services",
                        "package management"
                    ],
                    "tools": [
                        "Linux",
                        "Bash"
                    ],
                    "resources": [
                        {
                            "title": "The Linux Command Line (free book)",
                            "url": "https://linuxcommand.org/tlcl.php",
                            "type": "book",
                            "free": true
                        },
                        {
                            "title": "ip(8) manual page",
                            "url": "https://man7.org/linux/man-pages/man8/ip.8.html",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Linux Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/linux/",
                            "type": "course",
                            "free": false
                        }
                    ]
                },
                {
                    "title": "Python for Network Engineers",
                    "description": "Python is the de facto language of network automation and the base for Netmiko, Nornir, NAPALM, pyATS and most vendor SDKs. Focus on data structures, files, error handling and running tasks against many devices concurrently.",
                    "est_hours": 24,
                    "optional": false,
                    "concepts": [
                        "data types, loops and functions",
                        "virtual environments",
                        "the ipaddress module",
                        "files, CSV and JSON",
                        "exceptions and logging",
                        "concurrency with threads and asyncio",
                        "unit tests with pytest"
                    ],
                    "tools": [
                        "Python"
                    ],
                    "resources": [
                        {
                            "title": "The Python Tutorial",
                            "url": "https://docs.python.org/3/tutorial/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Cisco DevNet Learning Labs",
                            "url": "https://developer.cisco.com/learning/",
                            "type": "course",
                            "free": true
                        },
                        {
                            "title": "Python Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/python/",
                            "type": "course",
                            "free": false
                        }
                    ]
                },
                {
                    "title": "Git & Collaborative Workflows",
                    "description": "Git turns network configuration and automation code into reviewable, auditable history. Learn branching, pull or merge requests and code review, and keep credentials out of repositories from day one.",
                    "est_hours": 8,
                    "optional": false,
                    "concepts": [
                        "commits, branches and merges",
                        "pull and merge requests",
                        "code review",
                        "keeping secrets out of Git",
                        "pre-commit hooks",
                        "semantic versioning"
                    ],
                    "tools": [
                        "Git",
                        "GitHub",
                        "GitLab"
                    ],
                    "resources": [
                        {
                            "title": "Pro Git (free book)",
                            "url": "https://git-scm.com/book/en/v2",
                            "type": "book",
                            "free": true
                        },
                        {
                            "title": "pre-commit framework",
                            "url": "https://pre-commit.com/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Git Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/git/",
                            "type": "course",
                            "free": false
                        }
                    ]
                }
            ]
        },
        {
            "title": "Data Formats, Templating & Device Automation",
            "level": "Beginner",
            "duration_weeks": 5,
            "description": "Represent network intent as structured data, generate configurations from templates and automate existing devices over SSH with Python libraries.",
            "milestone": "You can render configurations from YAML with Jinja and push and validate them across a multi-vendor lab with Nornir and Netmiko, NAPALM or Scrapli.",
            "topics": [
                {
                    "title": "Structured Data: YAML, JSON & XML",
                    "description": "Every automation tool consumes and produces structured data. Learn YAML, JSON and XML, validate data with schemas and Pydantic models, and practise describing network intent as data rather than commands.",
                    "est_hours": 10,
                    "optional": false,
                    "concepts": [
                        "YAML syntax and pitfalls",
                        "JSON and JSON Schema",
                        "XML and XPath",
                        "serialising and parsing in Python",
                        "data validation with Pydantic",
                        "modelling network intent as data"
                    ],
                    "tools": [
                        "Pydantic"
                    ],
                    "resources": [
                        {
                            "title": "YAML 1.2.2 Specification",
                            "url": "https://yaml.org/spec/1.2.2/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "JSON Schema",
                            "url": "https://json-schema.org/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "YAML Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/yaml/",
                            "type": "course",
                            "free": false
                        }
                    ]
                },
                {
                    "title": "Configuration Templating with Jinja",
                    "description": "Templates separate what the network should look like (data) from how each platform expresses it (syntax). Learn Jinja well enough to generate consistent golden configurations for many devices and vendors.",
                    "est_hours": 10,
                    "optional": false,
                    "concepts": [
                        "variables, loops and conditionals",
                        "filters and macros",
                        "template inheritance",
                        "whitespace control",
                        "rendering golden configs from YAML",
                        "per-platform templates"
                    ],
                    "tools": [
                        "Jinja"
                    ],
                    "resources": [
                        {
                            "title": "Jinja Template Designer Documentation",
                            "url": "https://jinja.palletsprojects.com/en/stable/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "CLI Automation & Parsing: Netmiko, Scrapli & TextFSM",
                    "description": "Most networks still include devices that only speak CLI over SSH. Automate them reliably, turn show output into structured data with parsers, and treat screen scraping as a bridge to model-driven APIs rather than the destination.",
                    "est_hours": 14,
                    "optional": false,
                    "concepts": [
                        "SSH sessions and prompts",
                        "show and configuration commands",
                        "parsing with TextFSM and ntc-templates",
                        "Genie parsers",
                        "timeouts and error handling",
                        "CLI scraping as a bridge, not the destination"
                    ],
                    "tools": [
                        "Netmiko",
                        "Scrapli",
                        "TextFSM"
                    ],
                    "resources": [
                        {
                            "title": "Netmiko",
                            "url": "https://github.com/ktbyers/netmiko",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Scrapli Documentation",
                            "url": "https://carlmontanari.github.io/scrapli/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "ntc-templates (TextFSM templates)",
                            "url": "https://github.com/networktocode/ntc-templates",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Multi-Vendor Automation at Scale: NAPALM & Nornir",
                    "description": "NAPALM gives a vendor-neutral API for getting facts and replacing configurations safely, and Nornir runs Python tasks concurrently across a whole inventory. Together they are the backbone of many Python-first automation frameworks.",
                    "est_hours": 14,
                    "optional": false,
                    "concepts": [
                        "NAPALM getters",
                        "configuration merge vs replace",
                        "compare and rollback",
                        "Nornir inventory",
                        "tasks, results and plugins",
                        "concurrency across hundreds of devices"
                    ],
                    "tools": [
                        "NAPALM",
                        "Nornir"
                    ],
                    "resources": [
                        {
                            "title": "NAPALM Documentation",
                            "url": "https://napalm.readthedocs.io/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Nornir Documentation",
                            "url": "https://nornir.readthedocs.io/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                }
            ]
        },
        {
            "title": "Model-Driven Programmability & APIs",
            "level": "Intermediate",
            "duration_weeks": 5,
            "description": "Move from screen scraping to structured, transactional APIs: REST controllers, YANG models, NETCONF, RESTCONF and gNMI.",
            "milestone": "You can read and change device state through NETCONF, RESTCONF and gNMI using vendor-neutral OpenConfig models instead of CLI scraping.",
            "topics": [
                {
                    "title": "REST APIs & Controller Platforms",
                    "description": "Controllers and cloud-managed platforms expose the network through REST APIs. Learn HTTP fundamentals, authentication, pagination and rate limits, explore APIs in Postman and script them in Python against free sandboxes.",
                    "est_hours": 12,
                    "optional": false,
                    "concepts": [
                        "HTTP methods and status codes",
                        "authentication and tokens",
                        "pagination and rate limits",
                        "OpenAPI specifications",
                        "Postman collections",
                        "controller APIs such as Catalyst Center, Meraki and Mist"
                    ],
                    "tools": [
                        "Postman",
                        "Python"
                    ],
                    "resources": [
                        {
                            "title": "Cisco DevNet Sandbox",
                            "url": "https://developer.cisco.com/sandbox",
                            "type": "lab",
                            "free": true
                        },
                        {
                            "title": "Requests: HTTP for Humans",
                            "url": "https://requests.readthedocs.io/en/latest/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Postman Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/postman/",
                            "type": "course",
                            "free": false
                        }
                    ]
                },
                {
                    "title": "YANG Data Models & OpenConfig",
                    "description": "YANG defines the structure of configuration and operational data that model-driven APIs use. Learn to read modules, compare native, IETF and OpenConfig models, and find the paths you need with pyang.",
                    "est_hours": 12,
                    "optional": false,
                    "concepts": [
                        "modules, containers, lists and leaves",
                        "native vs IETF vs OpenConfig models",
                        "pyang tree views",
                        "capabilities and model discovery",
                        "deviations and augmentations"
                    ],
                    "tools": [
                        "pyang"
                    ],
                    "resources": [
                        {
                            "title": "RFC 7950: The YANG 1.1 Data Modeling Language",
                            "url": "https://datatracker.ietf.org/doc/html/rfc7950",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "OpenConfig",
                            "url": "https://www.openconfig.net/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "OpenConfig public YANG models",
                            "url": "https://github.com/openconfig/public",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "NETCONF & RESTCONF",
                    "description": "NETCONF adds transactions, candidate datastores and confirmed commits to configuration changes, and RESTCONF exposes the same YANG data over HTTP. Both make changes safer and easier to validate than CLI pushes.",
                    "est_hours": 14,
                    "optional": false,
                    "concepts": [
                        "NETCONF get, get-config and edit-config",
                        "running, candidate and startup datastores",
                        "commit and confirmed-commit",
                        "datastore locking",
                        "RESTCONF resource URIs",
                        "XML and JSON encodings"
                    ],
                    "tools": [
                        "ncclient"
                    ],
                    "resources": [
                        {
                            "title": "RFC 6241: NETCONF Protocol",
                            "url": "https://datatracker.ietf.org/doc/html/rfc6241",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "RFC 8040: RESTCONF Protocol",
                            "url": "https://datatracker.ietf.org/doc/html/rfc8040",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "ncclient Documentation",
                            "url": "https://ncclient.readthedocs.io/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "gNMI, gRPC & gNOI",
                    "description": "gNMI is the gRPC-based interface for configuration and streaming telemetry used by OpenConfig-capable platforms, with gNOI covering operational tasks. Learn its RPCs, paths and security model with the gNMIc client.",
                    "est_hours": 12,
                    "optional": false,
                    "concepts": [
                        "Capabilities, Get, Set and Subscribe RPCs",
                        "gNMI paths and encodings",
                        "Protocol Buffers",
                        "TLS and mutual TLS",
                        "gNOI operational RPCs",
                        "gNMIc command line"
                    ],
                    "tools": [
                        "gNMIc"
                    ],
                    "resources": [
                        {
                            "title": "gNMI Specification",
                            "url": "https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "gNMIc Documentation",
                            "url": "https://gnmic.openconfig.net/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                }
            ]
        },
        {
            "title": "Ansible, Source of Truth & Infrastructure as Code",
            "level": "Intermediate",
            "duration_weeks": 6,
            "description": "Adopt team-friendly declarative automation with Ansible and Terraform, driven by a source of truth that holds the network's intended state.",
            "milestone": "You can drive device and cloud network configuration from a source of truth through Ansible and Terraform with idempotent, reviewable changes.",
            "topics": [
                {
                    "title": "Ansible for Network Automation",
                    "description": "Ansible is the most widely used network automation tool in enterprises. Learn network connection plugins, resource modules with declarative states, check mode and diffs, and how to structure collections, roles and secrets for a team.",
                    "est_hours": 24,
                    "optional": false,
                    "concepts": [
                        "inventory and group variables",
                        "network_cli, netconf and httpapi connections",
                        "resource modules and states",
                        "check mode and diff",
                        "roles and collections",
                        "Ansible Vault",
                        "execution environments",
                        "ansible-lint"
                    ],
                    "tools": [
                        "Ansible"
                    ],
                    "resources": [
                        {
                            "title": "Ansible Network Automation: Getting Started",
                            "url": "https://docs.ansible.com/projects/ansible/latest/network/getting_started/index.html",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Ansible Network Resource Modules",
                            "url": "https://docs.ansible.com/projects/ansible/latest/network/user_guide/network_resource_modules.html",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Ansible Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/ansible/",
                            "type": "course",
                            "free": false
                        }
                    ]
                },
                {
                    "title": "Source of Truth with NetBox & Nautobot",
                    "description": "A source of truth records what the network should be, so automation can generate configurations and detect drift. Learn to model sites, devices, IP space and circuits, integrate through APIs and dynamic inventories, and automate compliance checks.",
                    "est_hours": 18,
                    "optional": false,
                    "concepts": [
                        "intended vs operational state",
                        "DCIM and IPAM modelling",
                        "custom fields and tags",
                        "REST and GraphQL APIs",
                        "dynamic inventory for Ansible and Nornir",
                        "webhooks and event rules",
                        "golden config compliance"
                    ],
                    "tools": [
                        "NetBox",
                        "Nautobot",
                        "Infrahub"
                    ],
                    "resources": [
                        {
                            "title": "NetBox Documentation",
                            "url": "https://netboxlabs.com/docs/netbox/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Nautobot Documentation",
                            "url": "https://docs.nautobot.com/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Nautobot Golden Config App",
                            "url": "https://docs.nautobot.com/projects/golden-config/en/latest/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Terraform for Network & Cloud Networking",
                    "description": "Cloud networks, firewalls and many controllers are managed through Terraform providers. Learn state, modules and plan review so VPCs, VNets, security policies and on-premises fabrics change through the same reviewed workflow.",
                    "est_hours": 14,
                    "optional": false,
                    "concepts": [
                        "providers and resources",
                        "state and remote backends",
                        "modules",
                        "plan review in CI",
                        "drift detection",
                        "VPC, VNet and firewall as code",
                        "OpenTofu as an open alternative"
                    ],
                    "tools": [
                        "Terraform",
                        "OpenTofu"
                    ],
                    "resources": [
                        {
                            "title": "Terraform Tutorials",
                            "url": "https://developer.hashicorp.com/terraform/tutorials",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Amazon VPC User Guide",
                            "url": "https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Terraform Training — DevOpsSchool",
                            "url": "https://www.devopsschool.com/courses/terraform/",
                            "type": "course",
                            "free": false
                        }
                    ]
                }
            ]
        },
        {
            "title": "Network CI/CD, Testing & Digital Twins",
            "level": "Advanced",
            "duration_weeks": 5,
            "description": "Make every change safe by testing it before and after deployment: virtual labs, configuration analysis, state verification and a full network CI/CD pipeline.",
            "milestone": "Every network change flows through a pipeline that lints, analyses with Batfish, tests in a Containerlab digital twin and verifies with pyATS before and after deployment.",
            "topics": [
                {
                    "title": "Virtual Labs & Digital Twins with Containerlab",
                    "description": "Realistic labs as code let you test changes without touching production. Build multi-vendor topologies from containerised network operating systems, auto-provision them with netlab, and run them inside CI runners.",
                    "est_hours": 12,
                    "optional": false,
                    "concepts": [
                        "containerised network OS images",
                        "topology files as code",
                        "Nokia SR Linux, Arista cEOS and SONiC",
                        "netlab auto-provisioning",
                        "Cisco Modeling Labs",
                        "labs inside CI runners"
                    ],
                    "tools": [
                        "Containerlab",
                        "netlab",
                        "Cisco Modeling Labs",
                        "Docker"
                    ],
                    "resources": [
                        {
                            "title": "Containerlab Quickstart",
                            "url": "https://containerlab.dev/quickstart/",
                            "type": "lab",
                            "free": true
                        },
                        {
                            "title": "netlab Documentation",
                            "url": "https://netlab.tools/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Cisco Modeling Labs",
                            "url": "https://developer.cisco.com/modeling-labs/",
                            "type": "tool",
                            "free": false
                        }
                    ]
                },
                {
                    "title": "Pre-Change Validation with Batfish",
                    "description": "Batfish analyses configurations offline to predict reachability, ACL behaviour and routing before anything is deployed. Use it to answer what a change will break and enforce those answers as pipeline tests.",
                    "est_hours": 12,
                    "optional": false,
                    "concepts": [
                        "vendor-neutral configuration model",
                        "reachability and ACL analysis",
                        "routing and BGP session checks",
                        "differential analysis of changes",
                        "pybatfish assertions in pipelines"
                    ],
                    "tools": [
                        "Batfish",
                        "Python"
                    ],
                    "resources": [
                        {
                            "title": "Batfish",
                            "url": "https://batfish.org/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Interacting with the Batfish service",
                            "url": "https://batfish.readthedocs.io/en/latest/notebooks/interacting.html",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Post-Change Verification with pyATS",
                    "description": "pyATS and its Genie library learn and parse live network state so you can compare snapshots before and after a change. Write repeatable health checks that prove a change did what was intended and nothing else.",
                    "est_hours": 12,
                    "optional": false,
                    "concepts": [
                        "testbed files",
                        "learn and parse with Genie",
                        "pre and post snapshots and diffs",
                        "AEtest test scripts",
                        "health checks",
                        "pytest for network state"
                    ],
                    "tools": [
                        "pyATS"
                    ],
                    "resources": [
                        {
                            "title": "pyATS Documentation",
                            "url": "https://developer.cisco.com/docs/pyats/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "pyATS Getting Started",
                            "url": "https://pubhub.devnetcloud.com/media/pyats/docs/getting_started/index.html",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Building the Network CI/CD Pipeline",
                    "description": "Bring everything together in a pipeline that lints, renders, analyses, lab-tests, deploys and verifies every change. Add approvals, staged rollouts and automatic rollback so the pipeline is trusted for production.",
                    "est_hours": 16,
                    "optional": false,
                    "concepts": [
                        "linting with yamllint and ansible-lint",
                        "render and diff stages",
                        "Batfish and lab test gates",
                        "approvals and change windows",
                        "staged rollout with canaries",
                        "confirmed-commit and automatic rollback",
                        "GitOps-style reconciliation"
                    ],
                    "tools": [
                        "GitLab CI/CD",
                        "GitHub Actions"
                    ],
                    "resources": [
                        {
                            "title": "GitLab CI/CD Documentation",
                            "url": "https://docs.gitlab.com/ci/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "GitHub Actions Documentation",
                            "url": "https://docs.github.com/en/actions",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "ansible-lint Documentation",
                            "url": "https://ansible.readthedocs.io/projects/lint/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                }
            ]
        },
        {
            "title": "Telemetry, Closed-Loop Automation & AI for NetOps",
            "level": "Advanced",
            "duration_weeks": 5,
            "description": "Observe the network continuously with streaming telemetry, react automatically within guardrails, and apply AI assistants and agents safely to network operations.",
            "milestone": "You can run a closed loop in which streaming telemetry detects drift or degradation, automation remediates within guardrails, and AI assistants answer questions from the source of truth safely.",
            "topics": [
                {
                    "title": "Streaming Telemetry & Network Observability",
                    "description": "Streaming telemetry pushes high-resolution, model-based data from devices instead of slow SNMP polling. Build a collection pipeline with gNMIc or Telegraf, store it in Prometheus, and create dashboards and alerts enriched with source-of-truth context.",
                    "est_hours": 16,
                    "optional": false,
                    "concepts": [
                        "SNMP polling vs streaming telemetry",
                        "sample and on-change subscriptions",
                        "collectors and pipelines",
                        "time-series storage and PromQL",
                        "dashboards and alerts",
                        "source-of-truth labels on metrics",
                        "flow and synthetic monitoring"
                    ],
                    "tools": [
                        "gNMIc",
                        "Telegraf",
                        "Prometheus",
                        "Grafana"
                    ],
                    "resources": [
                        {
                            "title": "gNMIc Prometheus output",
                            "url": "https://gnmic.openconfig.net/user_guide/outputs/prometheus_output/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Telegraf gNMI input plugin",
                            "url": "https://github.com/influxdata/telegraf/tree/master/plugins/inputs/gnmi",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Prometheus Overview",
                            "url": "https://prometheus.io/docs/introduction/overview/",
                            "type": "docs",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Intent-Based Networking & Closed-Loop Automation",
                    "description": "Intent-based networking expresses outcomes and lets automation keep the network aligned with them. Learn the concepts, then build event-driven remediation that reacts to alerts while respecting approvals and blast-radius limits.",
                    "est_hours": 14,
                    "optional": false,
                    "concepts": [
                        "intent vs configuration",
                        "desired-state reconciliation",
                        "compliance and drift remediation",
                        "event-driven rulebooks",
                        "guardrails, approvals and blast radius",
                        "observe, decide and act loops"
                    ],
                    "tools": [
                        "Ansible"
                    ],
                    "resources": [
                        {
                            "title": "RFC 9315: Intent-Based Networking Concepts and Definitions",
                            "url": "https://datatracker.ietf.org/doc/html/rfc9315",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Ansible Rulebook (Event-Driven Ansible)",
                            "url": "https://docs.ansible.com/projects/rulebook/en/latest/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Event-Driven Ansible overview",
                            "url": "https://www.redhat.com/en/technologies/management/ansible/event-driven-ansible",
                            "type": "article",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "AI for Network Operations",
                    "description": "AI assistants and agents can draft configurations, summarise incidents and query network state, but only safely on top of good data and guardrails. Connect them to the source of truth and telemetry through MCP servers, start read-only, and require human approval and evaluation for any change.",
                    "est_hours": 14,
                    "optional": false,
                    "concepts": [
                        "LLM-assisted config generation and review",
                        "retrieval over runbooks and configurations",
                        "MCP servers for source of truth and telemetry",
                        "agentic troubleshooting with human approval",
                        "read-only by default",
                        "evaluations and guardrails",
                        "AgenticOps"
                    ],
                    "tools": [
                        "Model Context Protocol",
                        "NetBox"
                    ],
                    "resources": [
                        {
                            "title": "Model Context Protocol Documentation",
                            "url": "https://modelcontextprotocol.io/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "NetBox MCP Server (NetBox Labs)",
                            "url": "https://github.com/netboxlabs/netbox-mcp-server",
                            "type": "tool",
                            "free": true
                        },
                        {
                            "title": "What is agentic operations (AgenticOps)? (Cisco)",
                            "url": "https://www.cisco.com/site/us/en/learn/topics/artificial-intelligence/what-is-agentic-operations-agenticops.html",
                            "type": "article",
                            "free": true
                        }
                    ]
                },
                {
                    "title": "Data-Center & AI Fabric Automation",
                    "description": "Large EVPN-VXLAN and AI back-end fabrics are built almost entirely from design data and automation. Explore validated fabric designs, the SONiC network operating system and Ultra Ethernet to understand where data-center networking is heading.",
                    "est_hours": 10,
                    "optional": true,
                    "concepts": [
                        "EVPN-VXLAN fabrics",
                        "design-driven automation",
                        "SONiC network operating system",
                        "AI back-end network requirements",
                        "Ultra Ethernet",
                        "validated fabric designs"
                    ],
                    "tools": [
                        "Arista AVD",
                        "SONiC",
                        "Ansible"
                    ],
                    "resources": [
                        {
                            "title": "Arista Validated Designs (AVD)",
                            "url": "https://avd.arista.com/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "SONiC Foundation",
                            "url": "https://sonicfoundation.dev/",
                            "type": "docs",
                            "free": true
                        },
                        {
                            "title": "Ultra Ethernet Consortium",
                            "url": "https://ultraethernet.org/",
                            "type": "article",
                            "free": true
                        }
                    ]
                }
            ]
        }
    ],
    "projects": [
        {
            "title": "Config Backup and Inventory Reporter",
            "description": "Use Python with Nornir and Netmiko to back up running configurations from a Containerlab topology into Git on a schedule. Parse show output with TextFSM and publish a JSON and CSV inventory report with versions, serials and interface status.",
            "difficulty": "Beginner",
            "skills": [
                "Python",
                "Netmiko",
                "Nornir",
                "TextFSM",
                "Git",
                "Containerlab"
            ]
        },
        {
            "title": "Template-Driven Golden Configurations",
            "description": "Model a small campus or leaf-spine fabric in YAML validated with Pydantic, render per-device configurations with Jinja and deploy them with NAPALM configuration replace. Produce a diff report for every change and demonstrate rollback.",
            "difficulty": "Intermediate",
            "skills": [
                "YAML",
                "Pydantic",
                "Jinja",
                "NAPALM",
                "configuration management"
            ]
        },
        {
            "title": "Model-Driven Configuration and Telemetry",
            "description": "Configure interfaces and BGP through NETCONF or RESTCONF using OpenConfig models, then stream interface and BGP state over gNMI with gNMIc into Prometheus. Build Grafana dashboards and alerts for link utilisation and session flaps.",
            "difficulty": "Intermediate",
            "skills": [
                "NETCONF",
                "RESTCONF",
                "OpenConfig",
                "gNMIc",
                "Prometheus",
                "Grafana"
            ]
        },
        {
            "title": "Source-of-Truth-Driven Automation",
            "description": "Populate NetBox or Nautobot with sites, devices, prefixes and circuits, generate a dynamic inventory for Ansible resource modules and push intended configurations. Manage a cloud VPC and its security rules with Terraform from the same data and trigger runs from source-of-truth webhooks.",
            "difficulty": "Advanced",
            "skills": [
                "NetBox",
                "Nautobot",
                "Ansible",
                "Terraform",
                "webhooks"
            ]
        },
        {
            "title": "Network CI/CD Pipeline with a Digital Twin",
            "description": "Build a GitLab CI/CD or GitHub Actions pipeline that lints, renders, runs Batfish checks, deploys to a Containerlab twin and verifies with pyATS before promoting to a production lab. Use confirmed commits so failed post-checks roll back automatically.",
            "difficulty": "Advanced",
            "skills": [
                "GitLab CI/CD",
                "Batfish",
                "Containerlab",
                "pyATS",
                "Ansible"
            ]
        },
        {
            "title": "Closed-Loop and AI-Assisted NetOps",
            "description": "Write Event-Driven Ansible rulebooks that remediate interface or BGP issues raised by telemetry alerts, within approval and blast-radius guardrails. Connect an AI assistant to NetBox through a read-only MCP server so engineers can ask questions in plain language, with every answer and proposed change logged for review.",
            "difficulty": "Advanced",
            "skills": [
                "Event-Driven Ansible",
                "streaming telemetry",
                "Model Context Protocol",
                "NetBox",
                "guardrails"
            ]
        }
    ],
    "certifications": [
        {
            "name": "CCNA Automation",
            "provider": "Cisco",
            "url": "https://www.cisco.com/site/us/en/learn/training-certifications/certifications/automation/ccna-automation/index.html",
            "level": "Associate",
            "note": "Formerly DevNet Associate (renamed February 2026); the 200-901 CCNAAUTO exam covers Python, APIs, Cisco platforms and automation basics and is the natural first NetDevOps certification."
        },
        {
            "name": "CCNP Automation",
            "provider": "Cisco",
            "url": "https://www.cisco.com/site/us/en/learn/training-certifications/certifications/automation/ccnp-automation/index.html",
            "level": "Professional",
            "note": "Formerly DevNet Professional; requires the 350-901 AUTOCOR core exam, which covers infrastructure as code, operations and AI in automation, plus a concentration such as 300-435 ENAUTO or 300-635 DCNAUTO."
        },
        {
            "name": "CCIE Automation",
            "provider": "Cisco",
            "url": "https://www.cisco.com/site/us/en/learn/training-certifications/certifications/automation/ccie-automation/index.html",
            "level": "Expert",
            "note": "Formerly DevNet Expert; AUTOCOR plus an 8-hour practical lab on designing, deploying and operating network automation across the full network lifecycle."
        },
        {
            "name": "JNCIA-DevOps (Automation and DevOps, Associate)",
            "provider": "HPE Networking (Juniper)",
            "url": "https://www.juniper.net/us/en/training/certification/tracks/devops/jncia-devops.html",
            "level": "Associate",
            "note": "The JN0-224 exam covers NETCONF and the XML API, YAML and JSON, Python with PyEZ, Ansible and the Junos REST API; it remains current under the HPE Networking Certification Program."
        },
        {
            "name": "Red Hat Certified Specialist in Ansible Network Automation (EX457)",
            "provider": "Red Hat",
            "url": "https://www.redhat.com/en/services/training/ex457-red-hat-certified-specialist-in-ansible-network-automation-exam",
            "level": "Specialist",
            "note": "A hands-on, performance-based exam on managing network infrastructure with Ansible Automation Platform; the most network-specific Ansible credential."
        },
        {
            "name": "Red Hat Certified Specialist in Developing Automation with Ansible Automation Platform (EX374)",
            "provider": "Red Hat",
            "url": "https://www.redhat.com/en/services/training/red-hat-certified-specialist-developing-automation-ansible-automation-platform-exam",
            "level": "Specialist",
            "note": "A hands-on exam on advanced Ansible development with automation controller and automation hub, useful once your team runs Ansible as a shared platform."
        },
        {
            "name": "HashiCorp Certified: Terraform Associate (004)",
            "provider": "HashiCorp",
            "url": "https://developer.hashicorp.com/certifications/terraform-associate",
            "level": "Associate",
            "note": "Validates Terraform fundamentals (Terraform 1.12) used to codify cloud networking such as VPCs, VNets and firewalls and provider-managed network platforms."
        }
    ],
    "tools_catalog": [
        {
            "name": "Ansible",
            "category": "Infrastructure as Code & Automation",
            "website": "https://docs.ansible.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/ansible/"
        },
        {
            "name": "Arista AVD",
            "category": "Networking & Network Automation",
            "website": "https://avd.arista.com/",
            "ds_course_url": ""
        },
        {
            "name": "Bash",
            "category": "Foundations & Languages",
            "website": "https://www.gnu.org/software/bash/",
            "ds_course_url": "https://www.devopsschool.com/courses/bashscripting/"
        },
        {
            "name": "Batfish",
            "category": "Networking & Network Automation",
            "website": "https://batfish.org/",
            "ds_course_url": ""
        },
        {
            "name": "Cisco Modeling Labs",
            "category": "Networking & Network Automation",
            "website": "https://developer.cisco.com/modeling-labs/",
            "ds_course_url": ""
        },
        {
            "name": "Containerlab",
            "category": "Networking & Network Automation",
            "website": "https://containerlab.dev/",
            "ds_course_url": ""
        },
        {
            "name": "Docker",
            "category": "Containers & Kubernetes",
            "website": "https://www.docker.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/docker/"
        },
        {
            "name": "Git",
            "category": "Foundations & Languages",
            "website": "https://git-scm.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/git/"
        },
        {
            "name": "GitHub",
            "category": "Foundations & Languages",
            "website": "https://github.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/github/"
        },
        {
            "name": "GitHub Actions",
            "category": "CI/CD & Release",
            "website": "https://github.com/features/actions",
            "ds_course_url": "https://www.devopsschool.com/courses/github/"
        },
        {
            "name": "GitLab",
            "category": "Foundations & Languages",
            "website": "https://about.gitlab.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/gitlab/"
        },
        {
            "name": "GitLab CI/CD",
            "category": "CI/CD & Release",
            "website": "https://docs.gitlab.com/ci/",
            "ds_course_url": "https://www.devopsschool.com/courses/gitlab/"
        },
        {
            "name": "gNMIc",
            "category": "Networking & Network Automation",
            "website": "https://gnmic.openconfig.net/",
            "ds_course_url": ""
        },
        {
            "name": "Grafana",
            "category": "Observability",
            "website": "https://grafana.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/grafana/"
        },
        {
            "name": "Infrahub",
            "category": "Networking & Network Automation",
            "website": "https://opsmill.com/",
            "ds_course_url": ""
        },
        {
            "name": "Jinja",
            "category": "Foundations & Languages",
            "website": "https://jinja.palletsprojects.com/",
            "ds_course_url": ""
        },
        {
            "name": "Linux",
            "category": "Foundations & Languages",
            "website": "https://www.kernel.org/",
            "ds_course_url": "https://www.devopsschool.com/courses/linux/"
        },
        {
            "name": "Model Context Protocol",
            "category": "LLMs, Agents & GenAI",
            "website": "https://modelcontextprotocol.io/",
            "ds_course_url": ""
        },
        {
            "name": "NAPALM",
            "category": "Networking & Network Automation",
            "website": "https://github.com/napalm-automation/napalm",
            "ds_course_url": ""
        },
        {
            "name": "Nautobot",
            "category": "Networking & Network Automation",
            "website": "https://networktocode.com/nautobot/",
            "ds_course_url": ""
        },
        {
            "name": "ncclient",
            "category": "Networking & Network Automation",
            "website": "https://github.com/ncclient/ncclient",
            "ds_course_url": ""
        },
        {
            "name": "NetBox",
            "category": "Networking & Network Automation",
            "website": "https://netboxlabs.com/",
            "ds_course_url": ""
        },
        {
            "name": "netlab",
            "category": "Networking & Network Automation",
            "website": "https://netlab.tools/",
            "ds_course_url": ""
        },
        {
            "name": "Netmiko",
            "category": "Networking & Network Automation",
            "website": "https://github.com/ktbyers/netmiko",
            "ds_course_url": ""
        },
        {
            "name": "Nornir",
            "category": "Networking & Network Automation",
            "website": "https://nornir.tech/",
            "ds_course_url": ""
        },
        {
            "name": "OpenTofu",
            "category": "Infrastructure as Code & Automation",
            "website": "https://opentofu.org/",
            "ds_course_url": "https://www.devopsschool.com/courses/opentofu/"
        },
        {
            "name": "Postman",
            "category": "Foundations & Languages",
            "website": "https://www.postman.com/",
            "ds_course_url": "https://www.devopsschool.com/courses/postman/"
        },
        {
            "name": "Prometheus",
            "category": "Observability",
            "website": "https://prometheus.io/",
            "ds_course_url": "https://www.devopsschool.com/courses/prometheus/"
        },
        {
            "name": "pyang",
            "category": "Networking & Network Automation",
            "website": "https://github.com/mbj4668/pyang",
            "ds_course_url": ""
        },
        {
            "name": "pyATS",
            "category": "Networking & Network Automation",
            "website": "https://developer.cisco.com/docs/pyats/",
            "ds_course_url": ""
        },
        {
            "name": "Pydantic",
            "category": "Foundations & Languages",
            "website": "https://pydantic.dev/",
            "ds_course_url": ""
        },
        {
            "name": "Python",
            "category": "Foundations & Languages",
            "website": "https://www.python.org/",
            "ds_course_url": "https://www.devopsschool.com/courses/python/"
        },
        {
            "name": "Scrapli",
            "category": "Networking & Network Automation",
            "website": "https://carlmontanari.github.io/scrapli/",
            "ds_course_url": ""
        },
        {
            "name": "SONiC",
            "category": "Networking & Network Automation",
            "website": "https://sonicfoundation.dev/",
            "ds_course_url": ""
        },
        {
            "name": "Telegraf",
            "category": "Observability",
            "website": "https://www.influxdata.com/time-series-platform/telegraf/",
            "ds_course_url": ""
        },
        {
            "name": "Terraform",
            "category": "Infrastructure as Code & Automation",
            "website": "https://developer.hashicorp.com/terraform",
            "ds_course_url": "https://www.devopsschool.com/courses/terraform/"
        },
        {
            "name": "TextFSM",
            "category": "Networking & Network Automation",
            "website": "https://github.com/google/textfsm",
            "ds_course_url": ""
        },
        {
            "name": "Wireshark",
            "category": "Networking & Network Automation",
            "website": "https://www.wireshark.org/",
            "ds_course_url": ""
        }
    ],
    "faqs": [
        {
            "q": "What is the difference between network automation and NetDevOps?",
            "a": "Network automation is using scripts and tools to perform network tasks. NetDevOps is the operating model around that automation: a source of truth for intended state, version control, automated testing, CI/CD, observability and shared ownership between network and software teams. You can automate without NetDevOps, but safe, repeatable change at scale needs both."
        },
        {
            "q": "Do network engineers need to learn programming for NetDevOps?",
            "a": "Yes, but you do not need to become a software developer. Python is the de facto language for network automation, and YAML and Jinja are essential for Ansible and templating. Focus on data structures, APIs, error handling and testing rather than advanced computer science."
        },
        {
            "q": "What happened to the Cisco DevNet certifications?",
            "a": "On 3 February 2026 Cisco renamed the DevNet track: DevNet Associate became CCNA Automation (200-901 CCNAAUTO), DevNet Professional became CCNP Automation with the 350-901 AUTOCOR core exam, and DevNet Expert became CCIE Automation. Active DevNet holders were moved to the new names automatically."
        },
        {
            "q": "Should I learn Ansible or Python with Nornir first?",
            "a": "Learn Python basics first, because every tool in this space builds on it, then learn Ansible for declarative, team-friendly changes. Reach for Nornir when you need Python-native control, custom logic or speed across large inventories. Most mature teams use both."
        },
        {
            "q": "NetBox or Nautobot: which source of truth should I learn?",
            "a": "NetBox is the most widely deployed open-source network source of truth and is backed by NetBox Labs; Nautobot began as a fork of NetBox and is maintained by Network to Code with a strong focus on Jobs and apps. The data-modelling concepts transfer between them, so learn one deeply and follow the other. Infrahub is a newer schema-driven alternative."
        },
        {
            "q": "Can I learn network automation without physical lab equipment?",
            "a": "Yes. Containerlab and netlab run multi-vendor topologies on a laptop or cloud VM using container images such as Nokia SR Linux, Arista cEOS-lab and SONiC. Cisco DevNet sandboxes provide free reservable labs, and Cisco Modeling Labs offers licensed Cisco virtual images."
        },
        {
            "q": "Will AI replace network automation engineers?",
            "a": "AI assistants speed up writing code and configurations and help with troubleshooting, but they depend on an accurate source of truth, reliable APIs, tests and guardrails, which is exactly what NetDevOps engineers build. The role is shifting toward designing safe closed loops and validating AI-proposed changes rather than disappearing."
        }
    ],
    "related": [
        "devops",
        "gitops",
        "sre",
        "cloudops"
    ],
    "key_tools": [
        "Python",
        "Ansible",
        "NetBox",
        "Nautobot",
        "Batfish",
        "Containerlab"
    ],
    "course_url": "",
    "seo_title": "NetDevOps Learning Path 2026: Network Automation Roadmap",
    "seo_description": "Learn NetDevOps in 2026: Python, Ansible, NETCONF, gNMI, NetBox, Batfish, Containerlab, network CI/CD, telemetry and AI for NetOps. Free roadmap.",
    "url": "https://www.devopsschool.com/path/netdevops/",
    "updated_at": "2026-10-26 08:58:45"
}