မာတိကာ သို့ သွားရန်

🤖 NetDevOps & Infrastructure Automation Learning Path

🚀 Infrastructure as Code (IaC) Masterclass: Treat network infrastructure as code using Jinja2/YAML data modeling, PyATS operational assertions, Batfish AST static pre-flight analysis, gNMI OpenConfig telemetry, and GitHub Actions CI/CD pipelines.


📊 Learning Path Overview

Metric Target Specification
Estimated Completion Time 35 – 40 Hours (Self-paced, hands-on lab driven)
Milestone Stages 5 Progressive Stages (Data Modeling → Automated Assertions → Offline Pre-Flight → CI/CD Automation → Telemetry)
Lab Framework Containerlab + Arista cEOS + Python 3 (Runs 100% locally on macOS OrbStack or Linux Docker)
Target Roles NetDevOps Engineer, Network Automation Developer, Cloud Network Automation Architect, Site Reliability Engineer
Target Employers Tech Enterprise Companies, Hyperscalers, Financial Tech (FinTech), Telecom Operators, and Automation Consultancies

🧠 Core NetDevOps Toolchain & Technologies

Automation Layer Production Tool & Protocol Engineering Function
Data Modeling & Rendering YAML / Jinja2 / Python Single-source-of-truth configuration templating decoupled from device syntax
CLI State Parsing Cisco PyATS / Genie Automated operational state assertions and differential snapshots post-change
Pre-Flight Static Analysis Batfish AST Simulating end-to-end reachability, ACL policies, and BGP convergence offline before hitting hardware
Streaming Telemetry gNMI / OpenConfig YANG / pygnmi Sub-second gRPC real-time programmatic metric streaming and push configuration
CI/CD Pipelines GitHub Actions / Containerlab Automated gate checks on every git push preventing syntax and routing regressions

🗺️ 5-Stage Progressive Milestone Roadmap


🚀 Interactive Lesson Directory (Click Any Lesson to Start)

Milestone Stage Automation Layer Clickable Lessons & Hands-on Labs Runnable Lab Action
Stage 1
Data Modeling
YAML Single Source of Truth & Jinja2 Network Templates Phase 5 · Lab 01: Jinja2 & YAML Data Modeling labs/netdevops-lab Start Stage 1 →
Stage 2
State Assertions
Cisco PyATS & Genie Structured Testbed Validation Phase 5 · Lab 02: PyATS State Verification labs/netdevops-lab Start Stage 2 →
Stage 3
Pre-Flight Verification
Batfish Abstract Syntax Tree Reachability & ACL Simulation Phase 5 · Lab 03: Batfish Simulation labs/netdevops-lab Start Stage 3 →
Stage 4
CI/CD Pipelines
GitHub Actions Workflows & Ephemeral Containerlab Testbeds Phase 5 · Lab 05: GitHub Actions CI/CD labs/netdevops-lab Start Stage 4 →
Stage 5
Programmable Telemetry
pygnmi Python Library, OpenConfig YANG Schemas, gRPC Phase 7 · Lab 01: gNMI Basics & OpenConfig
Phase 7 · Lab 02: pygnmi Python Client Integration
labs/telemetry-lab Start Stage 5 →

🧪 Detailed Milestone Curricula

📍 Stage 1: Data Modeling & Template Generation

  • Core Focus: Establishing a single source of truth (SSOT) using structured YAML files and rendering configuration using Jinja2 templates.
  • Key Concepts: Variable scoping, loop constructs, conditional blocks, YAML validation schemas, and preventing syntax errors.
  • Interactive Labs:
  • Local Runner:
    cd labs/netdevops-lab
    ./run.sh --guided
    

📍 Stage 2: Operational State Assertions

  • Core Focus: Transitioning from human eye inspection to machine-parsable state verification.
  • Key Concepts: Cisco Genie CLI parsers, PyATS testbeds, structured JSON output extraction, routing table convergence validation, and BGP peer state checks.
  • Interactive Labs:
  • Local Runner:
    cd labs/netdevops-lab
    ./run.sh --guided
    

📍 Stage 3: Offline Pre-Flight Verification with Batfish

  • Core Focus: Verifying network changes before pushing them to production devices using symbolic execution and AST analysis.
  • Key Concepts: Batfish snapshot ingestion, routing table simulation, ACL reachability testing, and detecting unintended blackholes offline.
  • Interactive Labs:
  • Local Runner:
    cd labs/netdevops-lab
    ./run.sh --guided
    

📍 Stage 4: Automated CI/CD Deployment Pipelines

  • Core Focus: Integrating Containerlab and network testing into GitHub Actions CI/CD workflows.
  • Key Concepts: Ephemeral containerized testbeds, automated linting, pre-merge gate checks, and automated rollback triggers.
  • Interactive Labs:
  • Local Runner:
    cd labs/netdevops-lab
    ./run.sh --guided
    

📍 Stage 5: Programmable Telemetry & Feedback Loops


🛠️ Executable Local Lab Environment

NetForge Labs provides automated guided runners so you can practice NetDevOps pipelines locally without managing complex virtual machines.

# 1. Navigate to the NetDevOps lab
cd labs/netdevops-lab

# 2. Launch the guided interactive runner
./run.sh --guided

# Or test all pipeline stages end-to-end
./run.sh --all

🎓 Career Defense: Portfolio Projects

  1. Multi-Vendor Network Template Engine:
  2. Showcase a Jinja2/YAML engine that accepts high-level data models and renders validated Arista and Cisco configurations.
  3. Offline Pre-Flight Change Gating (Batfish):
  4. Demonstrate a pipeline where proposed BGP route-map changes are simulated with Batfish, catching an intentional routing loop before it ever hits a device.
  5. Automated Ephemeral CI/CD Test Matrix:
  6. Present a GitHub Actions workflow that boots a 4-node Arista cEOS topology inside containerlab, executes PyATS test suites, and tears down the lab in under 90 seconds.