"Should we use NSO or Ansible?" is a question we hear often — and it usually contains a false choice. Cisco NSO and Ansible aren't competitors fighting over the same job. They're tools with different centers of gravity, and the strongest automation practices use both, each where it's strongest.
Framing them as rivals leads to bad architecture in both directions: teams stretch Ansible to do transactional service orchestration it was never built for, or they push every trivial device task through NSO's modeling overhead. Understanding what each is actually good at makes the division of labor obvious.
Ansible is agentless, approachable, and enormously flexible. Its strengths:
Its model is essentially procedural: run these tasks, in this order, to reach a desired result. That's perfect for device-level configuration and day-2 operations. It's less suited, on its own, to network-wide services where you need transactional guarantees and automatic rollback across many devices at once.
Cisco NSO (Network Services Orchestrator) is built for a different altitude. It is model-driven — services and devices are described in YANG — and its defining strength is treating a network-wide change as a single transaction:
Three distinctions decide which tool fits a given job:
In a well-designed practice the split is natural:
And they cooperate. NSO can own the service layer while Ansible handles tasks outside NSO's service models — or drives adjacent systems NSO doesn't manage. Both, critically, should draw their inputs from the same source of truth, so intent is consistent no matter which engine executes it.
If the change is "configure this device / run this task," Ansible is usually the shorter path. If it's "deliver this service across the network, consistently, with clean rollback," that's NSO's job. When you find yourself hand-building transactional rollback logic in playbooks, that's the signal you've reached NSO territory.
We don't lead with a tool — we lead with the shape of the automation. We use NSO where model-driven, transactional service orchestration earns its keep, Ansible where task and config automation is the faster, simpler fit, and we bind both to the source of truth so intent stays consistent end-to-end. The result isn't "an NSO shop" or "an Ansible shop" — it's an automation practice that uses each tool for what it does best.
We'll help you draw the right line between service orchestration and task automation — and make the two work as one.
Start a conversation