Najam Ahmad, who is responsible for both the internal and external networks for Facebook, is extremely positive about software-defined networking technology. He emphatically stated that it is not a fad and that it is the way that networking will be done moving forward.
SDN technology applies the same software-based methods that are used to build and manage applications to network equipment. With SDN, network managers gain the ability to directly work with their devices and manage them through software. This eliminates the need to dial into network routers or switches and manipulate them on a one-on-one basis through a command line.
Many pieces of network hardware are still largely treated as closed boxes by their manufacturers. If an end-user needs to make a change that goes above what can be done from the command line or from the usually simplified web-based interfaces, the only option is to involve the support team. Some problems can be fixed with secret undocumented commands. Others may have to go through a manufacturer’s internal change process or through a standards body for revision. This process can take months or years.
With SDN, a network component becomes another part of the system. Right now, engineers can program applications for end users, create general purpose servers, change the software that runs database servers, and program media servers. SDN adds those same features to network hardware. This allows it to be customized for a given installation and to work within that installation’s framework through custom development.
SDN is still at the bleeding edge of technology. For some applications, it can be managed with off-the-shelf tools that are becoming available. In others, though, it still needs to be run through custom software. To that end, Facebook is facilitating the Open Compute Project to create an open way that all data center hardware can be programmed and modified as a unit.