Skip to content

NetDevOps Blog

Practical articles on network and infrastructure automation — from CMDB design with Nautobot, to Ansible and Nornir workflows, to integrating AI/LLMs into the day-to-day life of a network engineer.


What you'll find here

  • Nautobot & Source of Truth — design patterns, app development, jobs, GraphQL, importing device types, closed-loop automation.
  • Ansible, Nornir & Python tooling — playbooks, role development, lint/test workflows, the modern uv + ruff toolchain.
  • Network APIs — REST, GraphQL, gNMI, NETCONF — with real query examples.
  • Lab environments — building reusable multi-vendor labs with Containerlab.
  • Testing & validation — pyATS, NUTS, Ansible-lint, and CI/CD patterns.
  • AI in networking — agents, LLMs, and how they fit alongside an authoritative SoT.
  • Monitoring & telemetry — Prometheus, Grafana, InfluxDB, NetData.
  • DevOps plumbing — GitHub Actions, GitLab CI, Jenkins, and developer-environment recipes (WSL, Docker, VMware Fusion).

Recent series and themes

  • Nautobot Zero-to-Hero — a hands-on series taking you from a fresh install to a working automation platform with a Containerlab-backed multi-vendor lab.
  • Network automation foundations — getting-started guides, Ansible tutorials, GraphQL primer.
  • Developer environmentuv replacing venv, fixing WSL crashes, VMware Fusion shared folders, dev-container patterns.

Browse the archive below or use the tag index to filter by topic.


Get involved

Found a typo, want to suggest a topic, or have a real-world automation problem you'd like to see covered? Open an issue or PR on GitHub, or reach out on LinkedIn or Bluesky.

Nautobot MCP Server

Your AI assistant is great at writing Python and explaining configs, but it has no idea what is actually in your network. It cannot tell you which devices live in a given site, what prefixes are free, or which circuit terminates where. That knowledge lives in your source of truth.

The Model Context Protocol (MCP) is the missing link. The nautobot-mcp-server exposes Nautobot's built-in REST and GraphQL APIs as tools that LLM clients such as Claude Desktop and Cursor can call directly, so the assistant answers from your real data instead of guessing.

Writing Python Functions for Humans and AI

Auto-generated docstring example from Python code

Why is my AI / LLM not constructing my Python program or documentation correctly?

Most Python functions are written once and read many times. The reader used to be a coworker, your future self, or a reviewer. Today there is a new reader: the AI tools you use to explain, check, refactor, and extend your code.

Good docstrings and type hints were always worth the effort. Now they pay off twice: a well-described function is easier for a human to trust and gives an AI assistant the context it needs to make correct changes instead of guessing.

Nautobot Digital Twin

Nautobot to containerlab topology flow

Your network exists twice: once in production, and once in Nautobot as the source of truth. What is usually missing is a third copy, a place where you can actually run the topology, push a config change, and watch what happens before it touches real hardware.

The Nautobot Digital Twin app builds that third copy on demand. It reads your Location, Device, Interface, and Cable data, generates a lab topology, and spins up a disposable environment on your chosen backend (containerlab or EVE-NG), all from a Nautobot job or a button on the Location page. When you are done, it tears the lab back down, and it can even clean up after itself on a timer.