Why does everyone keep talking about open APIs in an SDN system? Why are open APIs important in SDN?
In a perfect world, products from every network vendor would talk to each other with little or no administrator effort. You could argue this is the ultimate goal of a software-defined network -- the creation of a centralized policy that is distributed to all the equipment in your data center or across your WAN without your having to mess around with product specifics.
Major architectural components to make this possible are application programming interfaces (APIs). In the context of a software-defined network, southbound APIs, such as NETCONF and OpenFlow, are used by controllers to push configuration and state to network devices such as switches and routers. Conversely, northbound APIs are used to push information between the controller and other applications. At present, northbound APIs are largely proprietary and are used for higher applications, such as IP address management and billing, or for other network orchestration tools, such as virtualization.
Open APIs are important to a software-defined network because they are critical cogs in the machine. Without access to well-documented and developer-supported APIs, it's difficult for nonpartnered -- and usually competing -- technologies to meaningfully communicate. The alternative is a single-vendor approach with closed APIs.
Although this may be fine for some organizations and use cases, software-defined networks will be able to fulfill their potential only if the customer is permitted to select the vendor technologies that fit their needs and join them together, regardless of whether or not they are allied partners.
For software-defined networks to flourish, the culture of proprietary, closed systems must change. It could be argued that by taking this approach, the larger network vendors have the most to gain and at the same time, many of their intra-portfolio problems will be solved.