Cloud computing is all about "abstracting servers," turning actual hardware into virtual machines and moving them out of your organization so you don’t have to worry about them. Big data’s non-relational databases and Hadoop clusters perform a similar level of abstraction on database administration. Software-defined networks (SDNs) may do the same thing with networking.
SDN promises to make high-capacity networks cheaper to build and especially to re-configure on the fly - as well as potentially faster and more efficient. As more and more computing moves to the cloud, those network improvements will be critical to keeping everything affordable and available.
It won't be just cloud environments that will get SDN benefits, either. SDN could enable corporate networks to be reconfigured on-the-fly. Imagine being able to plug in a multimedia-intensive device in a conference room and the network adapting to effortlessly handle the sudden new load without grinding the rest of the building's network traffic to a staggering halt. Or re-arranging cellular networks during a disaster to deliver connectivity when and where it matters most. That's no doubt why analysts like IDG are predicting the business of SDN hitting $2 billion by the year 2016.
But Software Defined Networks are incredibly complicated, so even as many networking professionals look forward to SDNs as the best thing since sliced bread, others are scratching their heads and wondering if the IT hype machine has gone completely off the rails.
Who's right? To answer that question we need to look at exactly what is a software-defined network, and how do you create them?
Here's The SDN Theory
Think about a traditional network and everything that entails. You have your routers, your switches, and lots and lots of CAT5 and CAT6 cable strung around: all physical hardware that, when connected in a certain way, defines the flow of data in the organization. Like laying down a network of highways, planning a network takes time; it has to be done right the first time because shuffling things around afterward is expensive.
A network has to do two big things: deliver data and manage the flow of that data. If I am downloading a video from California, the network knows to get it to me here in Indiana. Shunting the data through India and Europe would not be the most efficient way to do it – unless, of course, some big physical failure occured between here and the West Coast that required the signal to be sent the long way around the planet.
Inside a company, the same thing happens on a smaller scale. Data is passed back and forth, and that traffic is usually managed by software inside the physical devices - software that knows how to manage the day-to-day operations of the workplace.
With cloud computing, the physical servers that hold the virtual machines are still networked together with the same routers and switches that are used in a workplace network. But the demands on that physical network can be much, much greater - at times - than anything your employees can dish out. (Which, really, is the whole point of using the cloud in the first place.)
What SDN does is this: Assume you have the network cable laid out between every physical server in the cloud environment and all of the optimized routers and switches. The SDN layer essentially acts a virtual software switch or router in place of (or in conjunction with) the physical network devices.
So instead of software embedded in the routers and switches managing the traffic, software from outside the devices takes over the job. The network layout, or topography, is no longer rooted in the physical. Instead, it's flexible and adjustable to the systems’ needs on the fly.
Properly implemented, this means an application running inside the cloud itself can take over the job of directing networking traffic. Or a third-party cloud-management application could do the job. That could make it easier to perform tasks such as load balancing devices across servers and automatically adjusting the network architecture to deliver the fastest and most efficient data paths at the right time.
Rules Of The SDN Road
There are risks involved in this kind of networking - namely those stemming from how complicated these kinds of operations can be.
Traditionally, networking "decisions" have been left in the hands of the the devices on which the network actually runs. That's what they are meant to do. Taking the control away from these specialized devices and the embedded software that runs them could be the prelude to a networking disaster, unless everything is done exactly right.
Done improperly, this would be akin to letting every driver in Cleveland have independent control of all the traffic lights in town. Chaos. This is why there's a gap between theorizing about SDN and actually implementing it.
Right now, the Open Networking Foundation's OpenFlow protocol and the Linux Foundation's new OpenDaylight project are two open source projects working to establish a set of SDN traffic rules that applications can use to prevent such chaos.
These protocols would also vastly simplify the work of application developers, who would not have to learn the nuances of networking control, but rather just call on one of these tools to handle the heavy lifting for planning the right path through a network, based on an application's need.
Think of it like getting a police escort through a strange city. You don't have to know anything about the city or worry about stops - you just get in your car and follow the vehicles with the flashing lights, trusting that they know what they're doing and where they're going.
SDN Benefits Could Be Widespread
Because of its complexity, SDN won't take off right away. But once SDN is implemented, the benefits will be immediately apparent. Cloud computing environments controlled by SDN will see significant increases in speed and efficiency, since their networks will be optimized for the applications running in that cloud environment. Corporate and mobile networks are also likely to gain benefits from SDN implementations.
IT will have to lay down the rules of the road first, but no one can deny there is big potential in software-defined networks to bring more adaptable networking resources to businesses and consumers alike.