What are the actual tools that operators use that can make the planned or emergent changes? Some vendors like Cisco Meraki or SilverPeak build this functionality into their software. Other networks take advantage of frameworks like Ansible or Python to make changes. Whatever the tool, at some point in your network (or in ‘the cloud’), there is a ‘brain’ that sits at the center of it, taking in data streams, SNMP, syslog, Netflow, or other kinds of metrics to understand the overall picture of the network. Changes can be executed by scripts (like bash), programming languages (like Python), or frameworks (like Ansible) based on received telemetry or events.
Example
A core router sitting at your Dallas location may not be aware of the sudden spike in traffic or packet loss from your core router in New York, but your centralized management software that’s ingesting data from all of your sites will. This may be exposed to you visually by tools such as SolarWinds, or PRTG. It can then decide that it’s time to migrate traffic from one link to another. A sudden uptick in Netflix traffic from all the college kids returning home might start to choke one of your WAN links in New York, but through SDN, you can intelligently steer that specific kind of traffic to another link, keeping plenty of bandwidth available for your critical link to Dallas.