Commentators on software defined networking (SDN) often point out that no one has deployed SDN, or you that can't buy SDN today. At a recent IETF meeting, someone stood up and said SDN stands for "Still Does Nothing."
This attitude fails to understand SDN is not a technology. It's more practical to define SDN as a bunch of use cases that use many technologies to meet specific customer needs. Think of it in terms of the data center. Sometimes people will talk about purchasing a "data center network," but that phrase encompasses a variety of different technologies and functions. Do you mean top-of-rack and core Ethernet switches? MLAG and TRILL capability? QoS, MPLS or virtual contexts? Do you mean the OSPF and STP pathing software?
Thus, a more reasonable discussion of SDN should focus the features it will provide and the technologies required to build it. Broadly speaking, SDN features deliver multi-tenancy, mobility, scalability and reliability on our networks. What differentiates SDN from existing networking is the use of controllers, APIs and software applications to achieve these features.
On the technology side, how you build and deploy SDN will vary according each network and the use cases of that network. Some networks will use OpenFlow, other will use SPB, TRILL, OSPF and others. The SDN platform you deploy might use the OpenDaylight controller or the BigSwitch Networks controller that interfaces to OpenStack. Or your SDN might be a full stack approach, such as Juniper's Contrail V, Nuage Networks' VSP or VMware's NSX, that provides a different type integration and feature set to manage virtual switches in the hypervisor. For service providers, it's likely that IETF efforts around I2RS will further enable "programmable MPLS" for WAN management to extend the tools that are available today, such as Cisco's Cariden. And a careful look at Metro Ethernet shows that SDN functions have already arrived with SDH/Sonet already supporting external configuration.
[Get insight into the relationship between SDN and OpenFlow in “SDN Is Business, OpenFlow Is Technology.”]
And for more specialized or niche requirements, you can develop your own application to use proprietary APIs such as Cisco's onePK for precise control over the network and its changes.
All of these approaches are Software Defined Networking. While some of the technology components are shipping today (as products or even updates to existing technology) many others are still under development. Vendors developing products seek feedback from the marketplace to determine if those products meets customer needs. This gives vendors insight into product viability and validates the investment plan. However, it also creates a good deal of uncertainty, which in turn generates a lot of noise that can distract from actual outcomes that these products create.
SDN is a major inflection in the curve of networking technology, but it's not a revolutionary product that solves all of today's challenges. Very few ideas in IT are new, and SDN is no exception. SDN is combining the useful features of existing products in new ways and adding some control methods with software interfaces that change configuration and operations. That's not a single thing, it's a strategy. In the same way that you don't buy a "Data Center Network" today, you won't buy "Software Defined Networking" tomorrow.