Programmability in ADN
The benefits are the same as #SDN – only they aren't as disruptive to the network
One of the benefits touted by SDN is the ability to introduce new functionality into the network when it's needed, rather than on a vendor schedule. This capability is often referred to as programmability, and most often takes the form of plug-ins or applications for the SDN controller. New functionality is added and flows are directed through it appropriately to enable new protocols or capabilities.
I'm certainly not disagreeing with that, as programmability of the network is a function of ADCs that has existed for quite some time. The ability to programmatically introduce new functionality or custom capabilities is one that the Application Delivery Network (ADN) has supported for years in varying ways. Network-side scripting, for example, is one of the ways in which programmability in the network has been enabled.
In a model similar to that proposed by SDN, as traffic flows through the controller it may be directed to an "application" capable of modifying the data - both inbound and outbound. Operators are able to programmatically inspect and modify in-flight traffic for a variety of purposes. Detecting and mitigating zero-day exploits, for example, is a common use of such programmatic systems. Supporting new protocols, too, is another, as the ability to intercept traffic between its point of origin and destination provides for such implementation.
Both the ability to programmatically add new functionality as well as changing flows dynamically are possible with both ADN and SDN. The differences lie in the amount of disruption the implementation might cause.
An ADN is normally deployed in the data center between the end-user (client) and hosted services. It sits in a strategic point of control and acts as a proxy; it is the end-point for the client and the source for the service. This enables an ADN to perform a wide variety of actions on the traffic as it flows through the system, including modification and dynamically re-directing it to appropriate services. The traffic, however, never leaves the ADN - it traverses an internal "network" from the data plane up to the control plane and back when there is a need or desire to manipulate the traffic. An SDN, by comparison, requires significant re-architecting of the network to implement and the addition of separate controllers (and the systems required to scale the controllers) as well as ensuring appropriately enabled network infrastructure throughout the network.
Organizations seeking the flexibility and programmability of SDN likely already have the capability to employ such benefits today, with an ADN without the disruption required to implement a new networking model.