What is the difference between Software-Defined Networking and Network Automation?
If you program/automate your conventional network devices with tools like Ansible, that is network automation. The basic approach is to not touch each single device but use rulesets/policies that you can roll out. Forwarding decisions (the control plane) remain within your switches/routers.
SDN uses one or more central controllers as control plane that are asked how and where to forward a specific frame/packet in realtime (not for every single packet, just once for each kind). All rulesets reside in the controller/s . See this Q&A for a more complete description.
Software-Defined Networking (SDN) and Network Automation are related concepts but serve distinct purposes.
Software-Defined Networking (SDN): SDN involves abstracting network control to a software application, allowing centralized programming and dynamic configuration of the network. It often includes a centralized controller that communicates with the underlying hardware to direct traffic on the network. SDN aims to make networks more flexible, programmable, and responsive to the needs of applications and services.
Network Automation: Network Automation, on the other hand, focuses on automating repetitive tasks and workflows involved in network management. This can include tasks like device configuration, provisioning, and troubleshooting. Tools like Puppet, Ansible, or scripting languages automate these processes, enhancing efficiency, reducing errors, and accelerating network changes.
Relation: While both SDN and Network Automation aim to streamline network management, they operate at different levels. Network Automation tools, including scripts and configuration management tools, can be part of an SDN strategy. They help automate manual tasks within a traditional networking environment or an SDN-enabled one.