The world is littered with technologies that once seemed promising but ultimately failed to transform our personal lives or businesses. In some cases the technology was flawed or prohibitively expensive, and in others it was simply a matter of a lack of support from other industries.
3D television, for example, has been hyped as providing an immersive viewing experience, and yet it has made only limited inroads into living rooms throughout the world.
Lack of programming and reluctance among viewers to wear the requisite glasses has stunted the growth of this promising industry, while other innovations such as tablets have taken society by storm.
If television viewers are hesitant to spend a few hundred extra dollars for a feature that might ultimately be useless, businesses are equally reluctant to spend hundreds of thousands on revamping their data centers without good reason.
And yet with words like "the cloud" and "virtualization" making their way up the corporate ladder over the last decade, it's impossible to ignore the march of technical progress.
The latest of these buzzwords is software-defined networking (SDN). But is SDN merely another expensive addition to the data center, or is it really a disruptive new way of architecting network functions?
SDN as a Game Changer
SDN allows different network elements to be managed by software through the separation of the control and forwarding planes of the network. Application programming interfaces (APIs) bring network functions together under the control of specialized software, and changes to functionality no longer require physical adjustments to the infrastructure.
Functions such as load balancing which once required dedicated devices can now be performed by software running on generic server hardware, and applications requiring different configurations can be housed on the same systems without compatibility problems.
SDN simplifies physical network infrastructure and centralizes management of traffic and application delivery. Administrators can quickly shift resources from one area of need to another as they deal with changing business requirements, reducing redundant and underutilized network elements.
SDN as a Stepping Stone
While SDN is already proving its worth to a number of organizations running very large networks, it should not be viewed as something to adopt for its own sake.
Rather, it is a necessary intermediate step that leads to a more foundational shift in IT: the software-defined data center (SDDC). As more individual hardware functions are transitioned to software, the natural progression is to eventually virtualize the entire data center.
SDDC is the outcome of a pattern already familiar to IT administrators that began with server virtualization. It isn't just about multiplexing several workloads across general-purpose machines.
More importantly, a server virtualization offers an abstraction that's just right for the data center: provisioning, moving, snapshotting, and rolling back are thorny in hardware, but easy in software. A "software-defined computer" changes the operational model and streamlines management of workloads.
Next on the virtualization path were desktop computers. These have traditionally required manual installation of each software program a user needs. Over the last decade, however, applications have been streamed to users from internal servers or even been provided online as web-based applications.
Now completely virtualized machines are commonplace, where even the underlying operating system actually resides on a server outside the user's physical machine.
Now, virtualization is coming to the network. Networks have been built with various kinds of limited virtualization for some time now. Virtual LANs allow physically separated network segments to be grouped logically, and virtual switches allow a single server to mediate traffic between multiple virtual machines. Yet full-scale network virtualization is still in its infancy.
A fully virtualized network would bring together all the disparate segments, access control lists, forwarding and shaping policies, and other elements into one portable software abstraction.