Showing posts with label Intent-Based Networking. Show all posts
Showing posts with label Intent-Based Networking. Show all posts

Wednesday, October 7, 2026

Network Reliability Engineering: Turning Modern Network Operations into a Discipline

Network Reliability Engineering: Turning Modern Network Operations into a Discipline

How SLOs, telemetry, service assurance, change safety, and incident learning turn modern network operations into measurable reliability outcomes.

Published: October 2026
Estimated reading time: 15 min

The last few months of this series have followed a deliberate arc: first prove what the network is doing, then model what it might do, then automate carefully within human guardrails. October is where those ideas become an operating discipline. Observability, digital twins, and closed-loop systems are powerful, but they do not automatically create reliability. Reliability appears when a team defines what good looks like, measures it consistently, changes production safely, and learns from failure without theatrics.

That discipline is often called Site Reliability Engineering in the application world. In networking, it needs a slightly different shape. Networks are shared infrastructure. They have failure domains, control planes, routing policy, service chains, physical constraints, and legacy dependencies that do not always fit neatly into application-style metrics. Still, the core SRE ideas translate extremely well: define service-level indicators, set objectives, budget risk, automate toil, stage changes, and run incidents as learning events.

This article uses the term Network Reliability Engineering for that discipline. It is not a new product category and it is not another dashboard. It is a way to operate IP networks, data centre fabrics, WANs, cloud interconnects, SASE paths, and transport services as dependable systems rather than collections of heroic interventions.

1) Network reliability starts with user-visible outcomes

Network teams traditionally measure what the network exposes: interface utilisation, optical power, CPU, adjacency state, BGP session state, dropped packets, tunnel health, controller alarms. These are useful signals, but they are not outcomes. A business user does not care that OSPF is stable if their payment terminal cannot complete a transaction. A trading desk does not care that a path exists if jitter breaks a voice bridge. A hotel does not care that broadband is up if guest Wi-Fi authentication fails.

Network Reliability Engineering starts by translating infrastructure behaviour into service behaviour. The question changes from “is the interface up?” to “is the service meeting its promise?” The promise might be reachability, latency, jitter, packet loss, DNS resolution time, tunnel establishment time, VPN availability, SaaS path quality, or successful transaction rate through a service chain.

  • For a campus: can users authenticate, obtain addresses, resolve names, and reach critical applications within expected times?
  • For a data centre: do workloads keep east-west and north-south connectivity through the intended policy path?
  • For a WAN: do critical applications stay within loss, latency, and jitter envelopes during provider brownouts and failovers?
  • For a service provider: do customer services meet the contracted reachability, restoration, and performance expectations?
  • For cloud interconnects: do advertised/accepted routes, path preferences, and throughput targets behave as intended after change?

The engineering move is simple but profound: monitor components, but manage services. Components explain failure; services define success.

2) SLIs and SLOs for networks: make reliability measurable

A service-level indicator (SLI) is a measurement of some aspect of service behaviour. A service-level objective (SLO) defines the target for that measurement over a period of time. In application SRE, common SLIs include availability, latency, error rate, and throughput. Networks can use those same ideas, but the indicators must be adapted to path, policy, and service topology.

The best network SLIs are close enough to infrastructure to be measurable and close enough to user experience to matter. “Core router CPU under 70%” is not a good SLI by itself. “Critical application traffic has less than 0.5% packet loss and less than 30 ms one-way jitter during business hours” is closer. “Branch users can complete DNS lookup, authentication, and SaaS reachability checks within defined thresholds” is better again.

Example SLI/SLO mapping

Service: Branch access to critical SaaS
SLIs:
  - Successful synthetic transaction rate
  - DNS resolution latency
  - Path latency/jitter/loss to SaaS edge
  - SD-WAN path changes per hour
  - User-impacting incident minutes
SLO:
  - 99.9% successful synthetic transactions per calendar month
  - 95th percentile DNS resolution below 100 ms
  - No more than X minutes of critical app path brownout per month

SLOs should be few, meaningful, and reviewable. A network with 400 “SLOs” has no SLOs; it has reporting noise. Start with the services that matter most: internet edge, identity, DNS/DHCP, core WAN, cloud interconnect, data-centre fabric, voice/video, payment, manufacturing, or safety systems. Then define SLOs that drive decisions.

2b) Network SLOs need both outcome and evidence

A strong network SLO is not just an uptime percentage. It links a user-visible outcome to the technical evidence that proves the outcome is being met. For example, “branch CRM access is available” is too vague. A tighter SLO might combine successful synthetic transactions, DNS response time, identity/authentication success, SD-WAN tunnel health, path loss/jitter, and application reachability into one service view.

Good network SLIs usually fall into four layers:

  • Experience SLIs: successful transactions, captive-portal completion, voice/video quality, DNS/authentication success, SaaS reachability.
  • Path SLIs: latency, jitter, packet loss, ECMP/path changes, tunnel stability, brownout minutes, congestion drops.
  • Control-plane SLIs: adjacency stability, route churn, convergence time, route-policy violation count, controller-to-device drift.
  • Policy SLIs: correct segmentation, expected route-target import/export, firewall/service-chain symmetry, identity policy evaluation success.

This distinction matters. A path can be up while the service is broken. A device can be green while policy is wrong. A controller can show compliance while users experience packet loss. NRE avoids that gap by tying the SLO to the service promise and then using infrastructure signals as supporting evidence, not as the promise itself.

3) Error budgets: the missing bridge between uptime and change

An error budget is the amount of unreliability you are willing to tolerate while still meeting the SLO. If the SLO is 99.9% availability over a month, the error budget is the remaining 0.1%. In network terms, the budget is not only “downtime.” It may include brownout minutes, path-quality violations, failed transactions, policy violations, or degraded service windows.

The value of an error budget is not the arithmetic. The value is decision-making. When the service is comfortably inside budget, the team can take controlled change risk: upgrades, routing-policy improvements, topology cleanup, and automation rollout. When the budget is burning too fast, change slows down except for fixes that reduce risk. This turns reliability into an operational negotiation instead of a religious argument.

  • Healthy budget: proceed with planned changes using normal guardrails.
  • Fast burn: reduce change velocity; prioritise remediation, capacity, and failure-domain reduction.
  • Budget exhausted: freeze risky change; focus on recovery, root cause, and reliability debt.
  • Repeated budget exhaustion: revisit architecture; the system may not be capable of meeting the stated SLO.

This matters because network teams often live in a false binary: either “no change, protect stability” or “change anyway, the business demands it.” Error budgets give the team a middle language: we can spend reliability risk intentionally, but not invisibly.

Error budgets also force a useful distinction between planned risk and unplanned pain. A maintenance window is not automatically “free” just because it was approved. If customers experience loss of service, failed transactions, or degraded paths, the impact should be visible against the reliability objective unless the service contract explicitly excludes it. This prevents the team from hiding poor change quality behind process language.

For networks, error-budget burn should be reviewed alongside capacity and change data. If burn clusters around upgrades, template pushes, route-policy edits, certificate renewals, or ISP failovers, the answer is not “watch harder.” The answer is to improve the change system, reduce blast radius, or redesign the failure domain.

4) Telemetry is the raw material, not the discipline

Modern network telemetry gives operators a richer picture than SNMP polling alone. Streaming telemetry, YANG Push, event-driven notifications, model-driven data, synthetic probes, flow records, logs, packet captures, controller APIs, and application traces can all contribute to service understanding. RFC 9232 frames network telemetry broadly: network data that helps understand current state, generated and collected in multiple ways, and processed for use cases such as service assurance and security.

But telemetry can easily become another swamp. Network Reliability Engineering adds discipline: collect what maps to decisions, retain enough history to understand trends, and attach telemetry to service models. The key question is not “can we collect it?” but “what decision does this data improve?”

  • State telemetry: protocol sessions, route counts, adjacencies, tunnel state, fabric membership, controller health.
  • Performance telemetry: latency, jitter, packet loss, queue drops, buffer pressure, path change frequency.
  • Policy telemetry: contract hits, ACL denies, route-policy matches, BGP prefix changes, security-service decisions.
  • Experience telemetry: synthetic transactions, real-user measurements, DNS/authentication success, application-specific probes.
  • Change telemetry: what changed, where, by whom/what, under which approval, and with which post-check result.

The most valuable telemetry joins these categories together. A path-quality event becomes useful when you can relate it to a BGP change, an SD-WAN path decision, a firewall-policy update, a provider incident, or a maintenance window. Correlation is where monitoring becomes observability; service mapping is where observability becomes assurance.

4.1 Telemetry quality gates

Telemetry needs its own reliability standard. A missing feed, stale timestamp, inconsistent label, or untrusted counter can create false confidence. Before telemetry drives SLO reporting or automation, it should pass basic quality gates:

  • Freshness: data arrives within a known interval and stale values are obvious.
  • Completeness: the service model knows which devices, paths, probes, and dependencies should report.
  • Consistency: labels, interface names, circuit IDs, sites, tenants, and policy objects use a common vocabulary.
  • Accuracy: synthetic probes, counters, and flow data are periodically compared against known-good tests or incident evidence.
  • Cardinality control: data remains queryable and affordable; labels do not explode into unusable noise.

Without those gates, telemetry becomes another unreliable dependency. With them, it becomes evidence.

5) Service assurance: decompose the promise

RFC 9417 describes service assurance as needing a holistic view across the elements and subservices involved in a service, and RFC 9418 provides a YANG data model for service assurance. That framing is useful because networks rarely fail as a single object. A branch service might depend on access switching, Wi-Fi, DHCP, DNS, identity, SD-WAN tunnels, internet egress, SSE policy, cloud routing, and the application endpoint. If you monitor those pieces separately without a service model, you get alarms but not understanding.

A service model decomposes the promise into subservices and dependencies. That lets you answer better questions: which subservice is degrading, how severe is it, who is affected, and whether the service is still within its SLO.

Service assurance decomposition (conceptual)

Business service: Branch staff can use cloud CRM
  - Access subservice: wired/wireless connectivity, DHCP, DNS
  - Identity subservice: authentication and policy assignment
  - Transport subservice: SD-WAN/SASE path health
  - Security subservice: SWG/CASB/ZTNA policy evaluation
  - Cloud subservice: cloud interconnect/SaaS endpoint reachability
  - Application subservice: synthetic transaction success

SLO decision:
  - Is the CRM service healthy for users, not just for devices?

This is where network reliability becomes practical. Instead of paging five teams because five systems raise alarms, the assurance layer should identify which dependency is causing user-visible degradation and whether the service objective is at risk.

5b) Ownership: every service needs a named reliability owner

Service assurance becomes weak when ownership is vague. A branch service may touch switching, wireless, identity, SD-WAN, firewall policy, cloud routing, and SaaS behaviour. If each team only owns its device class, nobody owns the outcome. NRE fixes that by assigning a reliability owner for the service, even when delivery spans multiple technical domains.

The owner does not have to control every device. Their job is to keep the service promise visible: maintain the dependency map, review SLO/error-budget data, coordinate change risk, drive postmortem actions, and make sure telemetry answers the questions the business actually asks. This turns “network operations” from a queue of alarms into a service discipline.

6) Change safety: many network outages are change-related

If reliability is the goal, change safety becomes central. Many network incidents are not spontaneous hardware failures; they are changes that behave differently in production than they did in the engineer’s head. A route-policy edit leaks more than intended. A firewall rule blocks return traffic. A firmware upgrade changes queue behaviour. A controller template modifies 200 sites at once. A prefix-list update is correct syntactically and wrong semantically.

Network Reliability Engineering treats change as an engineering workflow, not an event. The workflow should include design intent, pre-checks, blast-radius control, canary deployment, post-checks, rollback, and evidence capture.

  • Pre-check: validate topology, redundancy, route counts, policy diffs, and service health before change.
  • Risk envelope: define what the change is allowed to affect and which services must remain untouched.
  • Canary: deploy to one site, one edge, one tenant, or one fabric leaf before broad rollout.
  • Post-check: verify service SLIs, not only device state.
  • Rollback: know whether rollback is configuration revert, traffic drain, controller template rollback, image downgrade, or policy disablement.
  • Evidence: capture before/after snapshots so the team can learn without guessing.

A change is not complete when the command succeeds. It is complete when the service remains inside its reliability envelope.

7) Digital twins and pre-production validation: useful when bounded

The previous article explored network digital twins as a way to test change before production pays the price. In reliability engineering, twins serve a specific purpose: reduce uncertainty before action. They are not perfect replicas and should not pretend to be. They are decision-support systems whose value depends on model fidelity, data freshness, and honest confidence levels.

A practical twin can answer questions such as: Will this BGP policy still export only approved prefixes? Will this EVPN route-target change import unintended segments? Will this SD-WAN path preference overload a backup circuit? Will this SR policy still meet latency objectives during a link failure? Will this firewall insertion path become asymmetric?

The reliability rule is simple: the twin may increase confidence, but it does not eliminate verification. Use it for pre-checks, failure rehearsal, capacity what-ifs, and blast-radius estimation. Still perform post-change validation against live telemetry. A model that is never compared to reality becomes theatre.

7b) Production readiness for network services

Before a new fabric, WAN service, firewall policy model, cloud interconnect, or automation workflow becomes production-critical, it should pass a lightweight production-readiness review. This is not bureaucracy. It is a reliability checklist that asks whether the service can be operated safely after the project team moves on.

  • Service promise: what outcome does the service provide and who consumes it?
  • Failure modes: what breaks when a link, node, controller, certificate, route-policy, or dependency fails?
  • Observability: which SLIs prove health, and which signals identify the failing subservice?
  • Change safety: how do we canary, validate, rollback, and capture evidence?
  • Runbooks: what should an on-call engineer do at 2 a.m. without relying on tribal knowledge?
  • Capacity and limits: what scale assumptions exist, and which threshold becomes an escalation point?

The best reviews are short and concrete. They do not try to eliminate all risk. They make risk visible before the service becomes someone else’s outage.

8) Closed-loop automation: reliability depends on boundaries

Closed-loop automation can reduce toil and speed recovery, but it can also create faster failures if the loop is poorly bounded. A safe loop observes, interprets, decides, acts, and verifies within a defined authority envelope. The narrower the envelope, the more autonomy you can permit. The wider the blast radius, the more human approval and staged rollout you need.

  • Safe autonomous actions: restart a failed probe, collect diagnostic bundles, open tickets, enrich incidents, drain a single non-critical path when preconditions are satisfied.
  • Human-approved actions: broad route-policy changes, firewall-policy changes, controller-template pushes, multi-site traffic steering, or anything that changes security posture.
  • Never-silent actions: changes that affect regulatory boundaries, customer separation, identity policy, or route export must be auditable and explainable.

Reliability comes from keeping automation inside its authority. The system should know what it may do, what it may recommend, what it must block, and what it must escalate. Confidence thresholds matter. So do rollback plans and independent verification.

8b) Alerting: page on symptoms, investigate with causes

A reliable operating model avoids paging on every cause. If the team pages on every interface flap, BGP event, CPU spike, probe miss, and controller warning, the on-call queue becomes noise. A better pattern pages on service symptoms and uses cause-level telemetry for investigation.

Burn-rate style alerting is useful for network SLOs because it distinguishes “small issue we should watch” from “budget is disappearing now.” A short-window fast-burn alert catches acute incidents; a longer-window slow-burn alert catches chronic degradation. This is especially valuable for brownouts, jitter, route churn, wireless association issues, and intermittent SaaS path degradation.

9) Incident response: reduce time-to-truth, not just time-to-close

Good incident response is not heroics. It is structured learning under pressure. For network teams, the first goal is time-to-truth: identify the failing service, the affected population, the likely fault domain, and the safest containment action. Time-to-close matters, but closing quickly without understanding often creates repeat incidents.

  • Declare early: name the service impact, severity, owner, and communication channel.
  • Stabilise first: stop the bleeding before deep analysis if user impact is active.
  • Correlate change: compare incident start time with config, route, policy, controller, provider, and capacity events.
  • Preserve evidence: capture route tables, controller state, flow records, telemetry windows, and policy diffs before they roll off.
  • Communicate in service terms: tell stakeholders what service is affected, who is affected, what workaround exists, and when the next update is due.

A reliable network organisation practices incidents before the big one. Tabletop exercises, failure drills, maintenance simulations, and postmortem reviews are not bureaucracy. They keep the team from improvising when the network is already under stress.

10) Postmortems: fix the environment, not the person

Blameless postmortems are not about avoiding accountability. They are about improving the system. If a smart, well-intentioned engineer can make a change that breaks production, the question is not “who failed?” The question is “why did the system allow that failure mode to reach users?”

For network incidents, postmortems should produce reliability work: better policy validation, tighter blast-radius control, improved telemetry, clearer SLOs, safer automation boundaries, better rollback, improved documentation, or architecture changes that remove fragile dependencies.

  • Bad action item: “be more careful next time.”
  • Better action item: add a pre-check that blocks route export if prefixes exceed the approved source-of-truth list.
  • Bad action item: “monitor it more closely.”
  • Better action item: create a service SLI for successful synthetic transactions and alert only when user-impacting thresholds are crossed.
  • Bad action item: “write better documentation.”
  • Better action item: codify the rollback workflow into the change template and test it quarterly.

The postmortem is successful when it makes the same incident harder to repeat.

11) Toil: the network version

SRE uses the term toil for manual, repetitive, automatable work that scales linearly with the service. Networking has plenty of it: collecting command outputs, chasing repeated circuit alerts, hand-editing prefix lists, manually comparing route tables, acknowledging noisy alarms, building change evidence by hand, and copying configuration snippets from old tickets.

Reducing toil is not about automating everything. It is about freeing engineers to work on reliability improvements instead of repetitive mechanics. Good candidates are low-risk, high-frequency tasks with clear inputs and outputs. Dangerous candidates are broad changes with unclear blast radius, weak data, and no rollback.

  • Good automation target: pre-change state capture and post-change comparison.
  • Good automation target: route-policy linting against source-of-truth data.
  • Good automation target: incident enrichment with topology, recent changes, and known dependencies.
  • Risky automation target: autonomous multi-site traffic steering based on a single noisy metric.
  • Risky automation target: automatic security-policy relaxation to restore reachability.

12) A practical maturity path

Network Reliability Engineering does not require a massive programme. It can start small and compound. The right maturity path depends on the environment, but a pragmatic sequence looks like this:

  • Stage 1 - Define critical services: identify the network services that matter most to the business and customers.
  • Stage 2 - Define SLIs/SLOs: create a small set of service-level indicators and objectives that reflect user-visible outcomes.
  • Stage 3 - Build service-aware telemetry: map device/path/policy telemetry to services and dependencies.
  • Stage 4 - Make change safer: introduce pre-checks, canaries, post-checks, rollback, and evidence capture.
  • Stage 5 - Reduce toil: automate repetitive data gathering, validation, ticket enrichment, and reporting.
  • Stage 6 - Add modelling and closed loops carefully: use twins and automation inside bounded authority envelopes.
  • Stage 7 - Institutionalise learning: run postmortems, track action items, and fund reliability work as real work.

The goal is not maturity for its own sake. The goal is a network team that can move faster because it has better evidence, better guardrails, and better learning loops.

12b) Operating cadence: make reliability a recurring review

Reliability improves when it has a cadence. A monthly or quarterly network reliability review can be simple:

  • Which services met or missed their SLOs?
  • Where did error budget burn come from: change, capacity, provider faults, software defects, or unknown causes?
  • Which incidents repeated, and which postmortem actions remain unfunded?
  • Which telemetry feeds were missing, stale, or misleading?
  • Which changes should be canaried, modelled, or slowed because the budget is under pressure?

This cadence is where NRE becomes real. It connects engineering work to reliability evidence and gives leadership a way to fund risk reduction before the next visible failure.

13) Common traps

  • Dashboard worship: assuming a dashboard means the team understands service health.
  • Metric overload: collecting every signal and alerting on too many of them.
  • Device-centric thinking: declaring victory because boxes are green while services are degraded.
  • Automation theatre: automating change without improving validation, rollback, or blast-radius control.
  • SLO inflation: setting targets that sound impressive but are not measurable or affordable.
  • Postmortem drift: writing good postmortems and then never funding the corrective work.
  • Tool-first adoption: buying a platform before defining service models, ownership, and decision rules.
  • False precision: reporting impressive decimals from data that is stale, incomplete, or not tied to service impact.
  • Hero culture: celebrating late-night recovery without funding the engineering work that would prevent repetition.

The cure is discipline: fewer promises, better measurement, safer change, clearer ownership, and relentless learning.

14) Closing: reliability is an operating model

Modern networks are becoming more programmable, more observable, more automated, and more tied to business services. That increases both opportunity and risk. Observability helps you see. Digital twins help you reason before change. Closed loops help you react faster. But none of them replace engineering judgement.

Network Reliability Engineering is the operating model that holds these pieces together. It asks simple questions: What service promise are we making? How do we measure it? How much risk can we spend? What changed? What failed? What will prevent the same failure from reaching users again?

When a network team can answer those questions consistently, the network becomes less dependent on memory, heroics, and tribal knowledge. It becomes a system that learns.

References and standards anchors

Saturday, September 5, 2026

Closed-Loop Networking Without Blind Trust: Intent, Automation, and Human Guardrails

Closed-Loop Networking Without Blind Trust: Intent, Automation, and Human Guardrails

How to move from observability and digital twins to safe network autonomy—with service assurance, deterministic validation, and explicit operating boundaries.

Published: September 2026
Estimated reading time: 16 min

The last two posts in this series looked at observability and network digital twins. Observability asks: can we prove what the network is doing? A digital twin asks: can we model what the network will do before we touch production? Closed-loop networking asks the next, harder question: when the system sees a problem or an opportunity, should it be allowed to act?

The tempting answer is “yes, automate it.” The safer answer is “only after the loop earns trust.” Network automation becomes dangerous when it moves faster than evidence, faster than validation, or faster than accountability. A closed loop should not be a shortcut around operations. It should be a disciplined operating model where intent, telemetry, service assurance, policy validation, and human guardrails work together.

This article treats closed-loop networking as a practical engineering topic, not as a slogan. It explains where loops are useful today, where they remain risky, and how to design autonomy that improves reliability without turning production into an uncontrolled experiment.

1) Closed-loop networking: the useful definition

A closed loop is a control system. It observes state, compares that state with an expected outcome, decides whether a correction is needed, applies a correction, and verifies whether the correction worked. ETSI ZSM describes closed-loop automation using monitoring, analysis, decision, and execution stages, with knowledge as a supporting component. The terminology varies by framework, but the engineering idea is stable: observe, decide, act, and verify inside explicit boundaries.

In network terms, the loop may adjust routing policy, SD-WAN path preference, QoS treatment, capacity placement, firewall posture, service-chain selection, or incident escalation. The important word is outcome. Closed-loop networking is not “run this command automatically.” It is “keep this service within its intended behaviour while respecting constraints.”

Closed-loop control (conceptual)

1. Observe:     collect telemetry, events, topology, service state
2. Interpret:   correlate symptoms to intent, dependency, and likely cause
3. Decide:      choose recommendation or action inside constraints
4. Validate:    test against policy, risk, digital twin, and approvals
5. Act:         apply change in a bounded scope
6. Verify:      prove the service improved and no invariant broke
7. Learn:       update confidence, rules, models, and runbooks

Most failures happen because one of these steps is weak. A loop that observes poorly acts on bad evidence. A loop that validates poorly can make a correct diagnosis and still apply the wrong fix. A loop that learns without governance can gradually optimise itself into a corner. The loop is only as safe as the weakest stage.

2) Intent is not a command, and that is the whole point

Intent-based networking matters because it separates the desired outcome from the implementation details. RFC 9315 frames intent as a form of policy that gives guidance to a network that can otherwise operate without constant human intervention. That is a useful distinction: “prefer ISP-A for voice unless jitter exceeds 20 ms for more than 90 seconds” is closer to intent than “set this next-hop now.”

Good intent is declarative, measurable, and constrained. It tells the system what must remain true, what trade-offs are acceptable, and which invariants must never be violated. Poor intent is a vague wish: “make the network better,” “optimise performance,” or “reduce cost.” Those statements are not safe enough for automation because they leave the system to invent the missing policy.

Practical rule: do not automate against a goal you cannot measure, and do not measure a goal without defining the boundaries that protect the business.

  • Outcome: what service behaviour should remain true?
  • Metric: which telemetry proves the outcome is healthy or unhealthy?
  • Constraint: what must not be broken while fixing the problem?
  • Scope: which site, tenant, VRF, peer, class, app, or user group is eligible for action?
  • Authority: may the loop recommend, stage, execute with approval, or execute autonomously?

RFC 9316’s classification work is useful here because not all intent has the same risk profile. A reporting intent (“show me whether the service meets policy”) is not the same as a deployment intent (“change the routing and security path to restore policy”). Treating all intent as equal is how automation projects overreach.

3) The trust ladder: recommend, assist, approve, automate

The safest way to deploy closed-loop networking is not to jump from dashboards to full automation. It is to climb a trust ladder. Each rung adds autonomy only after the previous rung proves itself.

  • Observe-only: the system correlates events and shows likely causes, but it does not recommend change.
  • Recommend: the system proposes a remediation with evidence, confidence, and expected impact.
  • Assist: the system prepares the change plan, validation checks, rollback steps, and maintenance notes.
  • Approve-and-apply: the human approves the action; the system applies it safely and verifies the result.
  • Autonomous within bounds: the system applies low-risk, well-tested actions automatically inside a tight safety envelope.
  • Autonomous with escalation: the system handles routine events, but stops when confidence, blast radius, or policy risk exceeds defined limits.

This ladder avoids the most dangerous form of automation adoption: automating the action before automating the proof. Before a loop changes production, it should demonstrate that it can detect the condition correctly, recommend the right remediation, predict the likely impact, and verify the result repeatedly.

3b) The autonomy boundary: separate recommendation from authority

The cleanest closed-loop designs separate three functions: analysis, decision authority, and execution. A system may be allowed to analyse broadly, recommend cautiously, and execute narrowly. That separation prevents an observability tool, an AI assistant, or an orchestrator from quietly becoming an unbounded production actor.

  • Analysis can be broad: correlate logs, telemetry, topology, route state, tickets, changes, and historical incidents.
  • Recommendation should be evidence-based: include the suspected cause, confidence, expected impact, blast radius, and rollback.
  • Execution must be constrained: only pre-approved actions, in pre-defined scopes, with rate limits and verification.

This distinction keeps human accountability intact. The system can accelerate diagnosis and prepare the change, but the organisation still defines what the loop is allowed to do.

4) Safety envelopes: the most important design artifact

Closed-loop automation needs a safety envelope. The envelope defines what the loop may do, where it may do it, how quickly it may act, what evidence it requires, and when it must stop. Without this envelope, the optimisation goal can become dangerous.

Imagine an SD-WAN loop that detects packet loss and moves traffic away from an impaired path. That sounds safe until every branch moves to the same alternate path and congests it. Imagine a BGP loop that withdraws a route after detecting a black-hole. That may help, but it may also move traffic through a firewall path that is not sized for the shift. Imagine a firewall loop that blocks “suspicious” traffic, only to break a fragile business application during month-end processing.

  • Blast-radius limit: one site, one tenant, one VRF, one peer, one application class, or one policy domain at a time unless explicitly approved.
  • Rate limit: no repeated changes faster than the network can converge and the monitoring can prove outcome.
  • Confidence threshold: require higher confidence as blast radius, security impact, or business criticality increases.
  • Rollback condition: if the metric does not improve, or a protected metric worsens, revert automatically or escalate.
  • Protected invariants: never violate segmentation policy, compliance boundaries, route-leak controls, capacity reservations, or maintenance freezes.
  • Change journal: every loop action records who/what authorised it, input evidence, policy version, executed change, verification result, and rollback status.

A safety envelope is not paperwork. It is the operating contract between automation and production.

5) Telemetry is the loop’s nervous system

Closed-loop systems depend on telemetry, but more telemetry does not automatically mean better decisions. A useful telemetry design maps directly to intent. If the intent is voice quality, collect loss, jitter, latency, path choice, queue drops, codec behaviour where visible, and user-impact evidence. If the intent is BGP safety, collect prefix counts, route origin changes, policy hit counters, RPKI state, update rates, and peer session events.

Telemetry also needs freshness and confidence metadata. A decision engine should know whether a signal is current, stale, partial, inferred, or conflicting. Without that metadata, a loop may act on a symptom that has already cleared or ignore a condition that has moved to another part of the network.

  • State telemetry: routes, adjacencies, sessions, tunnels, interfaces, queue state, endpoint location.
  • Performance telemetry: loss, latency, jitter, drops, saturation, retransmissions, SLA probes, synthetic transactions.
  • Event telemetry: faults, syslog, controller events, policy deployments, topology changes, provider notices.
  • Service telemetry: application response, user experience, service health, dependency state.
  • Change telemetry: who changed what, when, by which pipeline, with which approval and rollback plan.

A closed loop should degrade gracefully when telemetry is incomplete. If the evidence is weak, the loop should recommend or escalate—not act blindly.

5.1 Telemetry quality gates

A loop should know the quality of its own evidence. Missing samples, delayed telemetry, clock skew, stale topology, and inconsistent labels can all produce confident but wrong automation. Before the loop acts, it should validate that the data is fresh enough, complete enough, and correlated to the right service.

  • Freshness: is the data current enough for the action being considered?
  • Completeness: are all required domains reporting, or is the loop seeing only part of the system?
  • Identity: do telemetry labels map cleanly to service, tenant, site, policy, and device identity?
  • Clock alignment: can events be ordered reliably across controllers, devices, and clouds?

6) Service assurance: close the loop around the service, not the box

The strongest closed loops operate around services, not individual devices. RFC 9417’s service-assurance architecture is useful because it decomposes a service into subservices, then assures those subservices through measurable objectives. That mindset prevents a common operational mistake: every box looks healthy, yet the service is broken.

A corporate example: Microsoft 365 access may depend on branch Wi-Fi, access switching, SD-WAN path choice, DNS, SSE policy, identity, and SaaS reachability. A service-provider example: a customer VPN may depend on PE health, IGP reachability, label/SR state, BGP VPN routes, QoS treatment, and underlay capacity. A loop that sees only one domain can optimise one component while damaging the end-to-end service.

RFC 9418 adds a YANG data model for service assurance, which matters because closed loops need structured service state, not just ad-hoc metrics. You do not have to implement that exact model to benefit from the principle: model the service, model the dependencies, then close the loop around the service outcome.

  • Service objective: what user or customer experience must hold?
  • Subservice map: which domains contribute to that outcome?
  • Evidence: which metrics prove each subservice is healthy?
  • Action scope: which domain may the loop change, and which domains are read-only?
  • Verification: how does the loop prove the whole service improved?

7) Digital twins: the rehearsal stage before production action

A network digital twin becomes especially valuable when connected to closed-loop operations. It gives the loop a rehearsal stage. Before applying a route-policy change, the system can model reachability. Before moving an SD-WAN class to a different path, it can check capacity and dependency. Before inserting a firewall path, it can test symmetry and expected latency budget.

The twin does not need perfect fidelity to be useful. It needs fit-for-purpose fidelity. A BGP policy twin must model prefixes, communities, AS-path logic, route targets, and import/export rules. A QoS twin must understand classes, queues, policers, shapers, and bottlenecks. A segmentation twin must understand VRFs, contracts, firewall policy, identity groups, and application flows.

  • Pre-check: does the proposed action violate policy, reachability, capacity, or compliance constraints?
  • What-if: what changes in best path, next-hop, route-target import/export, tunnel selection, or service-chain traversal?
  • Blast-radius estimate: which sites, prefixes, tenants, users, or applications may be affected?
  • Rollback validation: can the system return to the previous state if the action fails?

Closed-loop systems should not treat the digital twin as an oracle. They should treat it as one evidence source, with confidence and known blind spots. If the twin is stale or incomplete, the action should downgrade from automatic to assisted or recommended.

A twin is not an oracle. It is a bounded model with known assumptions. Closed-loop designs should record model freshness, unsupported behaviours, confidence level, and what the twin did not simulate before using its output as a gate.

8) Policy translation: where intent becomes risk

The translation from intent to configuration is where most hidden risk lives. “Prefer low-latency path for trading traffic” may translate into BGP local preference, SR policy binding, SD-WAN app-aware routing, QoS queue changes, or service-chain selection. Each translation has side effects.

A safe translator produces both the change and the explanation. It should show the target objects, generated policies, dependency assumptions, expected state, validation commands or API checks, and rollback. If the generated change cannot be explained, the system is not ready to apply it unattended.

Intent translation output (minimum useful form)

Intent:
  Keep Payment-App traffic on private path unless loss > 1% for 3 minutes.

Generated policy:
  - Match application signature / prefixes / identity group
  - Prefer private WAN path A
  - Fail to private WAN path B only after sustained loss threshold
  - Never use generic internet breakout
  - Preserve inspection through Payment-FW service-chain

Validation:
  - Confirm app classification hit count
  - Confirm path A/B health
  - Confirm firewall symmetry
  - Confirm no route leak to guest/IoT segments
  - Confirm rollback restores original preference

This is also why natural-language interfaces require discipline. Natural language can be a useful input, but the actual intent must become structured, testable, and bounded before anything touches production.

9) Multi-domain loops: prevent local optimisation from becoming global damage

Modern networks contain multiple control domains: WAN, data centre, cloud, security, identity, transport, wireless, and application delivery. Each domain can have its own loop. The WAN loop wants to avoid packet loss. The security loop wants to block suspicious flows. The cloud loop wants to optimise cost. The data-centre loop wants to rebalance workloads. The problem is obvious: a local win can become an end-to-end loss.

Closed-loop design therefore needs coordination. At minimum, domains must exchange intent, constraints, current actions, and confidence. A WAN loop should not move traffic into a cloud path if the security domain is draining that path. A capacity loop should not move workloads into a site that the transport domain has marked degraded. A security loop should not quarantine a path that carries a critical recovery workflow without escalating.

  • Shared invariants: segmentation, compliance, safety, sovereignty, and business-critical access rules apply across all loops.
  • Action registry: domains publish active remediations so other loops do not fight them.
  • Conflict detection: if two loops propose incompatible actions, escalate to a coordinator or human approver.
  • Priority rules: life-safety, security containment, revenue-critical apps, and broad availability need explicit precedence.

Multi-domain coordination is not optional once automation becomes active. Without it, each loop becomes rational locally and irrational collectively.

10) AI and agents: useful assistants, risky operators

AI and agent-based operations are moving quickly into the networking conversation. They can help summarise incidents, correlate symptoms, generate candidate policies, explain diffs, write validation checks, and prepare remediation plans. Used carefully, they reduce operator load and make complex systems easier to understand.

The danger appears when generated reasoning becomes generated action. An AI system may produce a plausible explanation that is incomplete, outdated, or wrong. It may optimise for the metric it sees and ignore the service dependency it does not see. It may also produce a change that is syntactically valid and semantically dangerous.

  • Use AI for synthesis: summarise events, propose hypotheses, explain policy diffs, and prepare runbooks.
  • Use deterministic checks for gates: route-leak tests, reachability proofs, compliance checks, schema validation, and capacity limits should not be intuition-based.
  • Keep provenance: record which data, model, prompt, tool, and policy version informed the recommendation.
  • Restrict authority: agents can recommend broadly, but should act only within narrow, tested, low-risk envelopes.
  • Plan for adversarial inputs: protect automation systems from poisoned telemetry, misleading tickets, prompt injection through logs, and unauthorised tool access.

AI belongs in the loop, but not as an unbounded root operator. The safest pattern is AI-assisted diagnosis and deterministic enforcement: let the agent accelerate understanding, then let explicit policy and validation gates decide whether action is allowed.

11) Practical use cases that are ready before “full autonomy”

The best closed-loop use cases are narrow, high-value, measurable, and reversible. Do not start with “automate the whole network.” Start with one loop where the condition is clear, the action is safe, and the verification is obvious.

11.1 SD-WAN brownout remediation

The loop detects sustained loss/jitter on a path, moves a specific application class to an alternate underlay, verifies user-experience improvement, and moves back only after stable recovery. The safety envelope prevents mass fleet shifts and avoids proxy/security paths that are not approved for real-time traffic.

11.2 BGP route-leak containment

The loop detects an unexpected prefix-count spike, invalid origin state, or export-policy anomaly. It does not immediately rewrite global policy. It applies a pre-approved emergency filter or disables a specific export path, then alerts humans with evidence and rollback context.

11.3 EVPN tenant protection

The loop watches MAC/IP churn, unexpected route-target imports, and multihoming state. If one leaf or tenant starts generating instability, the loop limits blast radius and surfaces the likely source before churn spreads through the fabric.

11.4 DDoS or abuse response

The loop detects attack signatures or volumetric deviation, applies traffic diversion or blackhole communities according to pre-approved policy, verifies collateral damage, and expires the action automatically unless an analyst extends it.

11.5 Energy-aware routing or capacity optimisation

The loop recommends moving traffic or services to reduce energy usage during safe periods. This is a recommendation-first use case because cost and sustainability optimisation must not silently violate latency, redundancy, or compliance expectations.

11.6 Certificate, DNS, and identity-adjacent remediation

Some service incidents sit at the edge of “network” and “platform”: expiring certificates, stale DNS records, identity provider reachability, resolver failure, or captive-portal misbehaviour. These loops should start as recommendation-only because the blast radius can be surprising, but they are excellent candidates for automation-assisted diagnosis and pre-built change plans.

11.7 Capacity and class-of-service protection

A bounded loop can protect premium traffic classes when telemetry shows congestion building. The safest version does not invent new QoS policy on the fly. It enforces pre-approved actions: shift bulk replication windows, rate-limit non-critical backup flows, move lower-priority traffic to alternate paths, or escalate before protected classes breach thresholds.

12) Change pipelines: closed loop does not mean no change control

A closed loop still needs a change pipeline. The pipeline may be faster and more automated than a traditional CAB process, but it must retain the core safety functions: review, validation, staging, rollback, and evidence. In mature environments, the pipeline itself becomes part of the loop.

  • Pre-approved actions: low-risk remediations that have been tested and approved in advance.
  • Canary scope: first apply to a single site, edge, tenant, or path before expanding.
  • Post-check contracts: action is successful only if protected metrics remain inside bounds.
  • Automatic expiry: temporary remediation should expire or revalidate, not live forever as hidden state.
  • Audit trail: record trigger, evidence, decision, approver (if any), applied change, verification, and rollback result.

This discipline also protects the organisation culturally. Engineers will not trust closed-loop systems if they cannot understand what changed and why. Auditability is not bureaucracy; it is how automation earns trust.

13) Implementation roadmap: build trust before autonomy

A practical adoption roadmap looks like this:

  • Phase 1 — Instrument: collect telemetry tied to service intent, not just device health.
  • Phase 2 — Correlate: map services to topology, routes, policies, dependencies, and recent changes.
  • Phase 3 — Recommend: generate candidate remediations with confidence, blast-radius estimate, and rollback.
  • Phase 4 — Validate: use policy checks, labs, digital twins, or simulation to test recommendations before action.
  • Phase 5 — Approve-and-apply: let humans approve while the system handles execution and verification.
  • Phase 6 — Automate bounded loops: allow automatic action only for low-risk, reversible, well-observed cases.
  • Phase 7 — Expand carefully: add domains only when coordination, conflict detection, and governance are ready.

The roadmap deliberately slows down the jump to autonomy. That is not anti-automation. It is how you make automation durable. Systems that earn trust in narrow domains can expand. Systems that surprise operators get disabled.

13b) Acceptance criteria: when a loop is ready to act

Before a loop receives execution authority, require evidence that it behaves safely over time. Treat this like production readiness, not a demo.

  • Detection accuracy: the loop identifies the correct condition consistently and avoids noisy false positives.
  • Action correctness: recommendations match approved runbooks and do not violate invariants.
  • Reversibility: every automated action has a verified rollback or a safe stop condition.
  • Human trust: operators understand why the loop acts and can override or pause it quickly.
  • Auditability: every decision can be reconstructed after the fact.

If these criteria are not met, the loop can still be valuable. Keep it in recommend or assist mode until the evidence improves.

14) Anti-patterns: how closed-loop projects fail

  • Metric myopia: the loop optimises one metric (loss, cost, utilisation) while violating user experience or security intent.
  • Unbounded scope: the loop can change too many sites, paths, or policies at once.
  • Hidden state: temporary remediations become permanent undocumented production behaviour.
  • Model worship: the digital twin is treated as always correct even when telemetry or inventory is stale.
  • No stop condition: the loop keeps trying new actions after confidence has dropped.
  • No human explanation: operators see the result but not the reasoning, evidence, or rollback path.

Every one of these anti-patterns is preventable. They are not technology failures; they are design failures.

Automation credential sprawl: every controller, agent, and workflow needs least-privilege access. A closed-loop platform with broad credentials becomes a high-value target. Strong identity, scoped tokens, approval gates, and audit logs are part of the network design, not an afterthought.

15) Checklist: is your loop safe enough to act?

  • Intent: is the desired outcome specific, measurable, and bounded?
  • Evidence: does telemetry prove both the problem and the expected improvement?
  • Constraints: are security, compliance, capacity, and business rules encoded as hard guardrails?
  • Validation: can the proposed change be checked before production action?
  • Blast radius: is the first action limited to the smallest useful scope?
  • Rollback: is rollback automatic or at least prepared and verified?
  • Coordination: will another loop or domain fight this action?
  • Audit: can you explain who/what acted, why, with what evidence, and what happened afterwards?
  • Stop rule: does the loop know when not to act?

If the answer to any of these is weak, keep the loop in recommend or assist mode. There is nothing wrong with supervised automation. In many networks, supervised automation is the most responsible destination for a long time.

16) Closing: autonomy is earned, not enabled

Closed-loop networking is not a feature you switch on. It is an operational capability built from observability, service assurance, policy modelling, digital twins, change control, and governance. Each layer earns the right to automate a little more.

The future of network operations is not humans typing every command by hand, and it is not machines changing production without accountability. The useful future sits between those extremes: humans define intent and boundaries; systems observe continuously, reason quickly, validate rigorously, act narrowly, verify honestly, and escalate when uncertainty rises.

That is closed-loop networking without blind trust. Not zero humans. Not zero risk. Just better evidence, smaller blast radius, and automation that understands the difference between action and responsibility.

References and standards anchors

Tags: Closed-Loop Networking, Intent-Based Networking, Network Automation, Human-in-the-Loop, Service Assurance, Network Telemetry, Digital Twins, AIOps, NetDevOps, Policy Validation, Change Control, Autonomous Networks, ETSI ZSM, TM Forum AN, IETF NMRG, RFC 9315, RFC 9417, RFC 9418, ETSI ZSM 017, Autonomy Guardrails, AI Agents, Auditability, Safety Envelopes
Eduardo Wnorowski

Eduardo Wnorowski is a systems architect, technologist, and Director. With over 30 years of experience in IT and consulting, he helps organizations maintain stable and secure environments through proactive auditing, optimization, and strategic guidance.
LinkedIn Profile

Sunday, August 2, 2026

Network Digital Twins: Testing Change Before the Network Pays the Price

How to model topology, routing, policy, performance, and failure before production becomes the lab.

Published: August 2026
Estimated reading time: 15 minutes

Networks are changed by humans, automation, policy compilers, orchestrators, ticket workflows, and emergency commands typed under pressure. Every change carries a question that is easy to ask and hard to answer: what will this do when it touches production? A maintenance window is a bad place to discover that a route-map removes a default route, a firewall rule breaks asymmetric return traffic, an EVPN route-target imports the wrong tenant, or a Segment Routing policy no longer has a viable path after a link failure.

Network Digital Twins are an attempt to move those discoveries earlier. Not by pretending that a model can perfectly reproduce a living network, and not by replacing engineering judgement with a shiny simulation dashboard. A useful network digital twin gives operators a controlled representation of the production network that can answer practical what-if questions before users pay the price.

This article treats the network digital twin as an engineering discipline, not as a marketing term. The goal is to model the parts of the network that matter for change risk: topology, routing, policy, state, dependency, telemetry, and failure behaviour. The value is not “we have a twin.” The value is that a proposed change can be tested, compared, explained, and either accepted or rejected before it becomes a live incident.

1) What a network digital twin is, and what it is not

A network digital twin is a digital representation of a real network that is kept sufficiently aligned with reality to support analysis, simulation, validation, and prediction. “Sufficiently aligned” is the key phrase. A perfect clone is impossible. A useful twin focuses on the behaviours that matter for a decision.

  • Topology: devices, links, interfaces, underlays, overlays, VRFs, sites, regions, and failure domains.
  • Control plane: BGP, IS-IS, OSPF, EVPN, Segment Routing, route reflectors, redistribution points, and routing policy.
  • Security and policy: firewall zones, ACLs, SASE/SSE paths, ZTNA connectors, ACI/EVPN route-targets, and segmentation boundaries.
  • Operational state: interface health, route counts, neighbour sessions, telemetry counters, latency/loss measurements, and recent change history.
  • Intent: what the network is supposed to provide: reachability, isolation, latency class, failover mode, inspection path, service tier, and blast-radius limits.

A twin is not a static diagram. A diagram tells you what someone believed last month. A twin must ingest current data, understand the model well enough to answer questions, and expose the gap between expected and observed state. A twin is also not a universal simulator. It does not need to model every packet, CPU queue, ASIC pipeline, and microburst to be valuable. It needs to model the domain of the question.

For routing risk, the twin must understand topology, routing policy, and route selection. For security risk, it must understand zones, flows, contracts, and inspection points. For performance risk, it must understand latency, loss, congestion, and class treatment. The first design decision is therefore not “which tool?” It is “which questions must the twin answer?”

2) Why digital twins matter now

Digital twin thinking is not new, but network conditions have made it more urgent. Modern networks combine traditional routing, overlays, cloud interconnects, SaaS egress, data-centre fabrics, SASE paths, and automation systems. A change rarely stays in one domain. A route-target change in an EVPN fabric can affect application reachability. A cloud route table update can shift traffic through a firewall path that was never sized for it. A BGP community can move traffic across a region boundary. A SASE policy can add inspection latency to real-time applications.

The operational problem is not only complexity; it is coupling. Network teams need a way to see how a proposed change interacts with existing state. That is why the current IRTF NMRG network digital twin architecture draft is useful as a reference model: it frames the twin around data collection, modelling, analysis, and interaction with the real network. It also explains why telemetry frameworks such as RFC 9232 matter. A twin is only useful if it is fed by trustworthy operational data, and if its assumptions are continuously compared against what production actually reports.

The other driver is automation. Once teams start pushing routing policy, segmentation, SD-WAN path policy, or firewall rules through pipelines, they need pre-change validation. Human review alone does not scale. A digital twin becomes the pre-flight environment where a change is tested against the current topology and known intent.

3) The practical promise: what questions should the twin answer?

The quickest way to make network digital twins useful is to stop talking about twins in abstract terms and start writing the questions they must answer. Good questions are specific, falsifiable, and tied to operational risk.

  • Routing: if this BGP policy changes, which prefixes are added, withdrawn, or re-preferenced? Which peers receive them?
  • Reachability: can application A still reach database B after the ACL, contract, or route-target change?
  • Blast radius: if this link, node, PoP, or route reflector fails, which services move and which services fail?
  • Performance: does the alternate path have enough capacity and latency headroom for the protected traffic class?
  • Security: does this change create a new path that bypasses inspection or crosses a segmentation boundary?
  • Cloud: does this cloud route-table or interconnect update leak private prefixes, black-hole return traffic, or create asymmetric flow through stateful inspection?
  • Operations: is this proposed change consistent with source-of-truth, policy standards, and previous production behaviour?

The twin does not need to answer every possible network question on day one. It should start with high-value failure modes: BGP export safety, firewall/service-insertion reachability, EVPN route-target correctness, SD-WAN/SASE path selection, and failure-domain capacity.

4) The anatomy of a useful network digital twin

A practical network digital twin has five layers. If any layer is weak, the twin becomes either stale, shallow, or unsafe to trust.

Network Digital Twin layers (conceptual)

1. Data collection
   - Inventory, topology, configuration, telemetry, routing state, policy state
 2. Normalisation and source of truth
 - Common identifiers for devices, links, VRFs, prefixes, tenants, apps, sites 
3. Behaviour model
   - Routing decisions, policy evaluation, reachability, capacity, failure modes 
4. Scenario engine
   - Proposed change, failure event, traffic shift, growth event, maintenance window 
5. Decision output
   - Pass/fail, diff, risk score, impacted services, rollback notes, evidence

4.1 Data collection: the twin starts with reality

A twin built from assumptions becomes a diagram with confidence intervals. Collect data from the network itself: configurations, YANG/NETCONF or RESTCONF sources, streaming telemetry, SNMP where necessary, BGP/IGP/EVPN state, flow records, path measurements, ticket/change systems, cloud APIs, firewall managers, and controller APIs. Do not pretend one source is enough.

The hardest part is identity. Device names, interface names, link labels, cloud objects, CMDB entries, and diagram labels often disagree. Before a twin can reason about the network, it needs a stable way to identify objects. This is why source-of-truth discipline matters. A twin without canonical identity will produce elegant answers about the wrong thing.

4.2 Normalisation: one language for many domains

Network data is messy. Vendors represent route policy differently. Firewalls model zones differently. Cloud providers describe routing differently. SD-WAN controllers expose application and tunnel health differently. Normalisation turns those differences into a common model: site, node, interface, path, prefix, VRF, tenant, policy, dependency, and service.

This does not mean erasing vendor detail. It means translating enough of the detail into a shared vocabulary so the twin can answer cross-domain questions. “Can app A reach app B through inspection after this change?” requires routing, firewall, DNS, NAT, and possibly identity context. No single device config can answer it.

4.3 Data freshness and confidence: the twin needs a truth label

A useful twin should expose data confidence, not hide it. Topology from LLDP, BGP-LS, controller inventory, interface telemetry, CMDB records, firewall policy exports, and cloud APIs will not always agree. When they disagree, the twin should show the conflict rather than silently choosing one version of the truth.

Freshness matters as much as correctness. A route table snapshot from yesterday may still be useful for trend analysis, but it is dangerous as pre-change evidence. Good implementations label inputs with collection time, source, confidence, and ownership. That makes the twin safer because engineers can see whether a proposed test is based on live state, last-known-good state, or a stale artefact that needs refresh before use.

5) Modelling routing: the first high-value twin use case

Routing is one of the easiest places to justify a digital twin because the failure modes are clear and the inputs are available. If you can ingest topology, BGP policy, IGP state, and route tables, you can simulate many of the incidents teams fear most.

  • BGP policy diff: what changes in Adj-RIB-In, Loc-RIB, and Adj-RIB-Out after a policy update?
  • Route leak test: does any customer, lab, management, or private prefix escape to a peer/provider?
  • Import/export validation: does the route-target or community policy import only the intended services?
  • Failure simulation: after link or node failure, which next-hop becomes best and which prefixes lose all viable paths?
  • Capacity-aware failover: does the backup path have enough headroom when the primary fails?

The twin should produce a routing diff that humans can read. “Policy check failed” is less useful than “Prefix 10.44.0.0/16 would be exported to Provider-A because route-map OUTBOUND_TO_PROVIDER_A now permits tag 65000:2003 without prefix-set OUR_PUBLIC_PREFIXES.” The output should point to the specific policy object and the specific consequence.

For IS-IS or OSPF, the twin can validate topology and metric effects: will a metric change move traffic as intended? Will a failure create micro-loop risk? Does the alternate path cross a constrained site? For BGP, it can validate policy and propagation. For EVPN, it can validate route-target import/export, multihoming behaviour, and the effect of changing route reflectors or border leaves.

6) Modelling policy: the network is more than routes

Routing reachability does not mean application reachability. A path can exist while a firewall blocks it, an ACI contract denies it, an EVPN route-target hides it, a ZTNA policy refuses it, or DNS sends the client to the wrong endpoint. A useful digital twin must model policy as part of the network, not as an external document.

6.1 Security policy and segmentation

For enterprise networks, segmentation is often where value appears first. The twin should know which zones, VRFs, tenants, EPGs, segments, and user groups are allowed to talk. Proposed changes should be tested against that intent: does the change add unexpected east-west reachability? Does it remove a required dependency? Does it bypass a firewall or SSE inspection point?

6.2 Service insertion and asymmetric paths

Stateful inspection makes asymmetry dangerous. A route change that looks harmless in a routing table can break flows if forward and return paths cross different firewalls. A twin should identify stateful chokepoints and validate both directions. This is especially important in hybrid cloud and multi-site environments where routing and security are often owned by different teams.

6.3 SASE, ZTNA, and application access

SASE and ZTNA make the network policy surface larger. The path may involve SD-WAN edge, SSE PoP, identity policy, device posture, DNS, cloud connector, and private application segment. The twin does not need to emulate the entire cloud security stack, but it should know the chosen egress archetype, the inspection/bypass class, and the expected access boundary.

7) Modelling performance: guarantees need physics

A twin that only models reachability will approve unsafe changes. “The route exists” does not mean “the service survives.” Performance-aware modelling adds capacity, loss, latency, jitter, and class-of-service context.

  • Path capacity: can the backup link absorb protected traffic during failure, or does failover create congestion?
  • Latency budget: does a new inspection path or regional detour exceed the application’s tolerance?
  • QoS behaviour: will the traffic class still receive the intended queue treatment after path change?
  • Brownout detection: does telemetry show recurring loss/jitter on the path the policy now prefers?
  • Growth modelling: what happens when site, prefix, or traffic volume increases by 20%, 50%, or 100%?

This is where observability and digital twins meet. Telemetry gives the twin recent evidence; the twin uses that evidence to evaluate scenarios. Without telemetry, the twin guesses. Without a twin, telemetry explains what already happened. Together, they shift operations from post-event explanation to pre-change risk analysis.

7b) Be precise about fidelity: a twin is not a crystal ball

Accuracy depends on the question. A route-policy simulation may be highly reliable if the model has the full candidate policy, the relevant Adj-RIBs, and the intended import/export rules. A latency prediction may be less certain because it depends on queueing, provider behaviour, transient congestion, and application behaviour outside your administrative control.

The right approach is to publish the confidence level with the answer. For example: “high confidence — route will be rejected by export policy,” “medium confidence — failover path exists but has reduced capacity,” or “low confidence — cloud return path depends on external route preference not visible to the twin.” That honesty prevents the worst failure mode: a polished model that looks authoritative while quietly exceeding its evidence.

8) Change workflow: how the twin fits into operations

A digital twin should sit in the change path, not beside it as a novelty. The simplest useful workflow looks like this:

Change workflow with digital twin validation

1. Propose change
   - Route policy, firewall rule, EVPN RT, SD-WAN policy, cloud route, capacity change

2. Compile intent
   - What should remain reachable? What should remain isolated? What must not change?

3. Run twin scenarios
   - Baseline diff
   - Proposed change diff
   - Failure scenario diff
   - Rollback scenario

4. Produce decision output
   - Pass / fail / warning
   - Impacted services and paths
   - Unexpected reachability or loss of reachability
   - Required approvals

5. Apply as canary
   - Small blast radius first
   - Observe telemetry after apply

6. Promote or roll back
   - Confirm production matches predicted outcome

The workflow should be opinionated. A change that exports private routes to a provider should fail automatically. A change that moves a latency-sensitive application through a higher-latency inspection path should warn or fail depending on policy. A change that affects a small lab VRF may pass with lower ceremony. The twin becomes useful when it encodes engineering standards, not just mathematical topology.

9) Trust but verify: measuring twin accuracy

A twin is dangerous if teams trust it blindly. Accuracy must be measured. After each production change, compare predicted behaviour with observed behaviour. Did the route diff match? Did the traffic move where expected? Did latency change within the predicted range? Did the firewall counters and flow records confirm the path?

  • Freshness: how old is the topology/config/telemetry snapshot used for the prediction?
  • Coverage: which devices, domains, clouds, and controllers are represented? Which are missing?
  • Model confidence: is this a deterministic route-policy check, a statistical traffic estimate, or a rough capacity projection?
  • Prediction error: how often did the twin predict correctly after recent changes?
  • Known blind spots: what does the twin intentionally not model (for example ASIC microbursts, vendor-specific firewall behaviour, or encrypted application quirks)?

Good systems show confidence. They do not pretend every answer is equally reliable. “High confidence: BGP export diff” and “medium confidence: traffic shift estimate” are far more useful than a single green checkmark.

10) Where digital twins fail

Digital twins fail in predictable ways. The first failure is stale data. If the twin is not updated after manual changes, emergency fixes, cloud console edits, or controller drift, it becomes an attractive lie. The second failure is overreach. Teams try to model everything, spend months building a platform, and never answer a production question. The third failure is unbounded trust: a twin becomes an approval rubber stamp rather than a decision-support tool.

  • Stale source-of-truth: the model says one thing; production says another.
  • Partial domains: the twin models routing but ignores firewall, NAT, DNS, or cloud routes.
  • No intent model: the twin knows what is reachable but not what should be reachable.
  • No feedback loop: predictions are not compared against production outcomes.
  • Too much simulation theatre: impressive visualisation but no actionable pass/fail decision.

The antidote is modest ambition with strong discipline. Start with a narrow, high-value use case. Measure accuracy. Expand only after the twin proves useful.

11) Starting small: a realistic adoption path

A practical adoption path does not begin with a universal twin. It begins with one painful class of change.

  • Phase 1: Routing safety: ingest BGP neighbours, prefix sets, communities, route-policy, and route tables. Validate export/import changes before deployment.
  • Phase 2: Reachability and segmentation: add firewall zones, ACLs, ACI contracts, EVPN route-targets, and critical application dependencies.
  • Phase 3: Failure and capacity scenarios: add link/node/PoP failure simulation, latency and capacity telemetry, and class-of-service impact.
  • Phase 4: Change pipeline integration: make the twin part of CI/CD and CAB workflow; produce machine-readable pass/fail outputs.
  • Phase 5: Feedback and learning: compare predictions with production outcomes; tune models and confidence levels.

This path works for service providers, enterprises, and cloud-heavy environments because it starts from risk. Do not ask “how do we build a twin?” Ask “which change keeps hurting us, and what model would have caught it before production?”

12) Example scenarios the twin should catch

12.1 BGP export leak

A new route policy allows a broad community to match outbound provider export. The twin evaluates Adj-RIB-Out and detects that management prefixes and private WAN prefixes would be advertised externally. The change fails before deployment.

12.2 EVPN tenant bleed

A route-target import update pulls a shared services VRF into the wrong tenant. The twin compares intended tenant boundaries with proposed route-target policy and flags unexpected reachability between segments that should remain isolated.

12.3 Cloud return-path asymmetry

A cloud route-table change sends outbound traffic through one firewall while return traffic prefers a different interconnect. The routing view looks healthy, but the service-insertion model detects stateful asymmetry and blocks the change until the return path is corrected.

12.4 SD-WAN brownout amplification

An application-aware routing policy prefers a lower-cost internet link, but recent telemetry shows recurring jitter spikes. The twin warns that voice and collaboration flows may meet reachability checks but fail experience targets during regional congestion.

12b) Governance: decide what the twin is allowed to decide

The twin should have a clear operating role. In early maturity it may only advise: show diffs, identify likely breakage, and recommend a safer sequence. At higher maturity it may block changes that violate hard policy, such as exporting unauthorised prefixes or importing the wrong EVPN route target. Closed-loop remediation should come last, and only for bounded scenarios with explicit rollback.

This governance boundary is especially important when AI-assisted tooling enters the workflow. A model may summarise risk or propose a change, but the network twin must still provide deterministic evidence: the input state, the intended change, the simulated outcome, the confidence level, and the rollback path. Without that evidence, the twin becomes another opaque automation layer.

13) A practical checklist for network digital twins

  • Question first: define the change/failure scenarios the twin must answer.
  • Current data: ingest production topology, configuration, routing state, telemetry, and policy data.
  • Canonical identity: normalise devices, links, VRFs, prefixes, tenants, apps, and services.
  • Intent model: define what must remain reachable, isolated, inspected, and performant.
  • Scenario engine: test proposed changes and likely failures, not only steady-state topology.
  • Readable output: provide diffs, impacted services, reasons, and confidence levels.
  • Production feedback: compare predictions with observed outcomes after changes.
  • Governance: keep the twin in the change workflow, with clear pass/fail/warn behaviour.

14) Closing: production should not be the first test

A network digital twin is not a replacement for skilled engineers. It is a way to give skilled engineers better evidence before they act. It helps them test routing policy, reachability, security paths, and failure behaviour before the maintenance window. It gives automation a safety net. It gives change review something more useful than screenshots and confidence.

The best twins are not the biggest ones. They are the ones that answer the questions that matter: what changes, what breaks, who is affected, how confident are we, and how do we roll back? If a twin can answer those questions before production feels the impact, it has earned its place in the operating model.

References and standards anchors

 

These references should be treated as anchors, not as a single implementation recipe. The practical twin still needs to reflect the protocols, vendors, controllers, cloud platforms, and operational risk model of the specific network being changed.


 

Eduardo Wnorowski is a systems architect, technologist, and Director. With over 30 years of experience in IT and consulting, he helps organizations maintain stable and secure environments through proactive auditing, optimization, and strategic guidance.
LinkedIn Profile

Tuesday, December 16, 2025

Network as Code: Designing Declarative, Intent-Based Infrastructure at Scale

December 2025
Estimated reading time: 22 minutes

In a world increasingly defined by complexity and speed, network engineering is undergoing a foundational transformation. The traditional models of CLI-driven configuration and manual provisioning are giving way to a new paradigm: Network as Code (NaC). Much like its cousin, Infrastructure as Code (IaC), NaC introduces the principles of declarative design, automation, and repeatability to the domain of networking.

The Promise of Declarative Networking

Instead of scripting individual device configurations, declarative networking allows engineers to define the desired end-state of a network — the topology, the intent, the policies — and let a controller or orchestrator realize that state. This approach offers scalability, reduces human error, and aligns network engineering with DevOps best practices...

From CLI to Code: The Evolution of Network Engineering

For decades, network engineers have relied on command-line interfaces (CLIs) to configure devices one at a time. This model, while powerful, is prone to human error, difficult to scale, and inconsistent across platforms. As networks grow in complexity—spanning data centers, branch offices, cloud providers, and remote endpoints—the limitations of CLI-driven provisioning become painfully evident.

Enter Network as Code (NaC): a paradigm that applies the principles of software engineering—version control, testing, modularity, and automation—to the management of network infrastructure. Just as DevOps transformed the way software is deployed, NaC is reshaping the way networks are designed, implemented, and operated.

Declarative vs Imperative: A Shift in Thinking

At the heart of Network as Code lies a fundamental shift: from imperative to declarative intent. In imperative models, engineers specify exactly how to achieve a configuration state. Declarative models, by contrast, define the desired outcome, leaving it up to an engine or controller to figure out how to reach that state.

This abstraction has significant advantages. Declarative definitions are easier to reason about, less prone to misconfiguration, and more conducive to automation. Tools like Cisco NSO, Ansible, Terraform for networking, and Apstra leverage this approach to allow engineers to describe the network in high-level terms—topologies, policies, SLAs—and automatically generate device-level configurations.

GitOps for Networks: Version Control, Validation, and Velocity

Network as Code is tightly coupled with GitOps principles. Instead of pushing changes directly to production devices, engineers commit declarative configurations to a Git repository. Automation pipelines validate the configuration, test it in lab environments, and eventually apply it to production via CI/CD-style workflows.

This enables auditable change management, easier rollbacks, and a tighter feedback loop between intent and reality. The network becomes programmable infrastructure, governed by the same tooling that drives modern application delivery.

Tooling Landscape: Open Source and Commercial Options

The tooling ecosystem for Network as Code has exploded in recent years. Some of the most prominent tools include:

  • Ansible: Popular for its YAML-based playbooks and broad vendor support.
  • Nornir: A pure Python automation framework allowing engineers to write customized logic.
  • Cisco NSO: A commercial service orchestration platform supporting multi-vendor, model-driven configuration.
  • Juniper Apstra: A powerful intent-based networking platform for data center fabrics.
  • Terraform with provider plugins: Enables infrastructure and network configuration as code.

Each has its strengths and trade-offs, but the unifying thread is the embrace of declarative definitions and automation pipelines.

Challenges: State Drift, Abstraction, and Idempotency

Despite its promise, Network as Code is not without challenges. Declarative models depend on accurate state representation—a mismatch between intent and actual device state can lead to misconfigurations. This “state drift” must be detected and resolved automatically, or it risks eroding trust in the system.

Abstraction layers, while helpful, can hide critical details. For instance, intent-based policies must eventually translate to precise ACLs, QoS settings, or route maps. If these translations are opaque or incorrect, the result can be broken connectivity or security exposure.

Idempotency—ensuring repeated application of a config yields the same result—is another hurdle, especially with legacy devices or inconsistent APIs. Successful implementations require rigorous validation and often vendor-specific tweaks.

Case Study: WAN Orchestration Using Network as Code

Imagine a mid-sized enterprise with 80 sites across New Zealand and Australia. Traditionally, WAN configurations for MPLS and IPSec failover would be manually updated per-site, per-router. With Network as Code, a central template defines the topology, link preferences, and failover logic. A YAML file per site defines its variables: IP blocks, site codes, router hostnames, etc.

A GitOps pipeline validates syntax, simulates the changes, and pushes them to the SD-WAN controller (e.g., Cisco vManage or Fortinet’s FortiManager). Within minutes, the new site is fully onboarded—compliant, secure, and visible in the monitoring platform.

Case Study: Campus Access Automation with Intent-Based Models

In large campus environments, port configurations for access switches are notoriously error-prone. Network as Code allows the team to define profiles for device types (IP phones, laptops, printers) and associate them with VLANs, port security, and authentication policies.

When a new floor is added to the building, a simple declarative file assigns the switch name, port numbers, and device roles. The automation framework applies these configurations via NETCONF/RESTCONF or API to the switches, reducing deployment times from hours to minutes.

Case Study: Data Center EVPN-VXLAN Fabric with Apstra

For enterprises or service providers deploying EVPN-VXLAN fabrics, Apstra provides an intent-based platform where engineers define the required topology (spine-leaf), VLAN pools, routing domains, and service endpoints. The platform automatically builds BGP EVPN overlays, configures loopback addresses, and deploys validated configurations to Arista, Juniper, or Cumulus switches.

Changes to the topology, such as adding a leaf switch or tenant VLAN, are made declaratively and validated against the existing intent before deployment—ensuring fabric consistency and uptime.

Start Small: How SMBs Can Adopt Network as Code

You don’t need to overhaul your entire network to adopt NaC. Many SMBs start with:

  • Backing up current configurations using Git.
  • Writing Ansible playbooks for standard changes (e.g., adding VLANs).
  • Implementing linting and validation tools like Batfish or pyATS.
  • Automating low-risk zones first, such as guest Wi-Fi or lab switches.

Over time, you build confidence, documentation, and modular templates that can scale. The key is repeatability and visibility—replacing tribal knowledge with source-controlled logic.

Key Lessons Learned from Early Adopters

  • Not all devices are equal: Legacy gear may not support APIs or structured data models.
  • Document everything: Treat documentation as code—versioned and linked to deployments.
  • Abstract the right things: Too much abstraction leads to errors; too little hurts productivity.
  • Practice DRY (Don't Repeat Yourself): Modular roles, templates, and variables reduce config duplication.

What the Future Holds

As vendors adopt YANG models, open APIs, and cloud-native architectures, the barrier to full declarative control continues to fall. We’ll see closer alignment between security (e.g., zero trust), identity, and network policies—all expressed as code.

AI and ML will play a greater role in validating configurations and recommending remediations. Simulation tools will become standard, giving engineers confidence before deploying changes. Eventually, “networking” as a discipline will converge with platform engineering, DevOps, and cloud-native tooling.

Conclusion: Redefining the Network Engineer

Network as Code isn’t just a new toolkit—it’s a new mindset. It demands collaboration, curiosity, and a willingness to embrace software principles in a traditionally hardware-centric world. But the payoff is enormous: scalable operations, predictable deployments, faster troubleshooting, and better alignment with business needs.

Whether you’re managing a branch network, a national ISP, or a hybrid multi-cloud deployment, the declarative, intent-based future is already here. The question is no longer “if” your team will adopt Network as Code—but “how soon.”


Eduardo Wnorowski is a network infrastructure consultant and Director.
With over 30 years of experience in IT and consulting, he helps organizations maintain stable and secure environments through proactive auditing, optimization, and strategic guidance.
LinkedIn Profile


Network Reliability Engineering: Turning Modern Network Operations into a Discipline Network Reliability Engineering: Turning ...