SDN, Only as Good as its Applications
Software Defined Networking (SDN) is poised to remake datacenter network environments the same way virtualization remade the server farm.
As far as big deals go, then, SDN is pretty huge. Enterprises should, if all goes as planned, gain the ability to deploy, alter and demolish network environments at the drop of a hat − just in time for the dynamic data onslaught brought on by cloud computing, mobility and social networking.
With any software platform, however, success or failure rarely depends on the environment itself, but on the applications residing within. Judging by the major dollars that top vendors like VMware and Cisco are pouring into SDN and the OpenFlow protocol that powers it, it's likely that the handful of application endeavors already on board will soon be joined by a plethora of commercial developers ready to get in on the action.
That's part of the reason why Big Switch's recent Floodlight release has drawn so much buzz. As a Java-based OpenFlow controller, third-party developers now have a convenient means to create and implement enterprise-grade applications that will span both the physical and virtual layers of SDN infrastructure. A key component in the controller is its Apache license, which is intended to ease the transition from research and development settings to full commercial operations.
Already, there are a number of application development efforts from organizations like OpenFlowHub. Some are fairly obvious, like the Open vSwitch and RouteFlow projects, which look to build software-based versions of traditional networking hardware components like, well, switches and routers. These are likely to form the basis for much of the network dynamism and abstract-layer engineering that will drive SDN deployments.
On the more esoteric side, there are apps like FlowScale, which looks to divide and distribute traffic flows across multiple switch ports. This should push much of the load-balancing and network coordination functions to a Top of Rack switch while at the same time placing control plane functionality onto software, allowing enterprises to cut costs and increase flexibility for high-traffic environments.
Other development environments include Mirage, which backers describe as an exokernel used to build high-performance applications for cloud and mobile environments. The platform uses OCaml language to incorporate Linux or Mac OS X code into the Xen hypervisor, where it can easily be deployed on popular clouds like Amazon EC2. The platform provides syntax extensions and libraries to simplify network, storage and concurrency development tools, and provides an easy mechanism to map to OS constructs for production compilation.
It's way too early to tell which of these, plus others either on or heading to the drawing board, will rise to the top of the heap to become the "killer app" for SDN. But it is safe to say that without the tools to implement the kinds of advanced network topologies that SDN promises, networks will continue to be one of the primary limiting factors in the drive toward universal, cloud-based dynamic infrastructure.