Customers are increasingly integrating Cisco NSO in their Ansible workflow management capabilities:
ØAnsible is good at stitching together pieces into a workflow
ØNSO is good at configuring and deploying network services

NSO-Ansible demo:
https://developer.cisco.com/codeexchange/github/repo/NSO-developer/nso-ansible-demo/
Ansible needs NSO for
❑ Service life-cycle management
❑ Configuration transactions that are stateful
❑ Device management with NSO NEDs(Network Element Drivers)https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/network-services-orchestrator/datasheet-c78-734669.html
❑ Configuration Sync-from / Sync-to between devices
❑ Device Configuration Auto / Partial rollback in case of failure
❑ Commit-queues for faster response times
NSO Modules for Ansible
Ansible can now natively integrate with downstream NSO via the NSO Modules. This provides Ansible a single network interface to all devices via NSO abstraction and services.
This modules has the the following NSO APIs supported from Ansible playbooks :
1) perform query
2) show
3) action
4) config operations against NSO systems
So in summary: Ansible playbooks define procedural steps and uses NSO to define and validate the service and device configuration data.