The SDN Journey Part 9 – The SDN Controller by Jim Metzler.
The software-defined networking (SDN) controller is clearly a critical component of an SDN. Given that importance combined with the fact that SDN is a relatively new concept and it is continuing to evolve, when choosing an SDN controller IT organizations should choose one that was designed to be extensible. One example of what it would mean for an SDN controller to be extensible is if the controller has the ability to support new versions of OpenFlow, as well as other southbound protocols, over time.
Throughout these blogs, I have recommended that IT organizations adopt open, standards-based solutions. Unfortunately, the northbound API is currently not standardized. I recommend that IT organizations acquire an SDN controller if it supports one or more useful applications and/or network functions, as long as the IT organization has confidence that the SDN vendor will support a standardized northbound API when and if one exists.
As part of my recommendation that IT organizations adopt open, standards-based solutions, I recommend that IT organizations acquire an SDN controller only if it supports OpenFlow. That said, supporting OpenFlow is more complex than a simple “do they support OpenFlow or not?” For example, there are multiple versions of OpenFlow; e.g., OpenFlow 1.0 and OpenFlow 1.3. In addition, IT organizations need to know what optional OpenFlow features the vendor supports as well as whether or not the vendor has implemented any extensions to the protocol.
Other criteria that IT organizations should use to evaluate SDN controllers include the application and network services that the controller supports as well as whether or not the solution has been tested and certified. Additional criteria are the performance and availability of the controller, the associated management functionality, and the ability of the controller to interact with key orchestration engines such as OpenStack.
HP is an example of a company that has developed an SDN controller, called the HP Virtual Application Networks SDN Controller. The controller supports multiple network functions as well as OpenFlow as a southbound API and an open northbound API that enables third-party development of applications and functions. The controller is currently in beta in multiple production networks, and it will be released this year.