What does software-defined networking (SDN) change for network automation and testing, and what are Cisco's examples?
SDN and middleware let engineers treat a whole physical network as one programmable entity instead of many separate boxes. Cisco's examples are ACI, DNA Center (now Catalyst Center) and REST APIs/SDKs that integrate with Ansible, Puppet and Chef.
* Without SDN every box has its own interface; with SDN, automation talks to one controller that configures all devices. *
Without SDN, the "network" is a hundred devices, each with its own config. With SDN, a central controller holds the intended state and pushes it to the devices, so you program the network as one system.
Cisco's building blocks:
- ACI (Application Centric Infrastructure): Cisco's data-centre SDN, where you describe what an application needs and the fabric configures itself accordingly.
- DNA Center, renamed Cisco Catalyst Center: a central controller for campus and enterprise networks.
- REST APIs and SDKs: let automation tools such as Ansible, Puppet and Chef drive these controllers.
For testing, this means there is one API to query and one intended state to compare against, instead of a hundred CLIs to scrape.
Go deeper:
Software-defined networking — Wikipedia — control plane vs data plane and the controller idea.