Being a rather large company, Facebook does have some influence with hardware manufacturers in terms of what features to add, or changes to make. But this process is too slow and cumbersome for company's liking.
"You work with them for six months, get an update, go test it and then a year later have something," Ahmad said. "It is hampering our ability to actually build stuff and manage stuff at our scale."
SDN allows the networking equipment to be "disaggregated," Ahmad said, in much the same way the computer itself was as it moved from monolithic mainframes to personal computers, which are built from standardized components. Today, a computer is a collection of discrete components -- the hardware, the operating system (OS) and the applications. Developers then can write programs, or build components to address a certain need.
"We want the same structure in network," Ahmad said. "We want to do things in software. When you do things in a closed vertically integrated model, you can't do software development. You only have CLI."
For Facebook, the value in SDN is that it makes more of the underlying architecture of network equipment available so that it gives programmers more control of the hardware. This is one of the reasons Facebook started the [Open Compute Project], which seeks to create a set of specifications for data center hardware that will be open to programmers.
"We know what problems we have today, we don't know what we will run into tomorrow, when we do run into something, we want to fix it very quickly," Ahmad said.
For instance, Facebook would like to do more with the Border Gateway Protocol (BGP), the protocol used to make core routing decisions on the Internet. BGP estimates the best path that packets should take to get to their destination, though Ahmad would like to improve process with working with BGP by having more control over routers.
"BGP doesn't do a very good job at path selection," Ahmad said, noting that once a path is selected, there is no feedback mechanism to shift to another path should the transmission experience congestion en route.
Despite the company's optimism about SDN, Facebook has thus far not purchased much commercial-off-the-shelf SDN software.
Part of the reason for this is that Facebook does not use virtualization, upon which many of today's SDN offerings rely on that technology. VMware, for instance, has weaved OpenFlow into its own virtualization offerings, having purchased OpenFlow creator Nicira last year.
"SDN is more a philosophy than a product," Ahmad said. "OpenFlow is a product to make SDN happen, but there are other ways to do SDN as well."
Nonetheless, the company is bullish on SDN, the philosophy. Some SDN software could even be released as open source from Facebook itself, in much the same way it released its own performance improvements to the PHP language. The company is hoping that, as with Linux and other open source projects, programmers can add more functionality to networking than any single vendor could.
"Networking needs to come out of the dark ages, or the closed era, and come into the open. Gone are the days of the tightly integrated stuff. We need to leverage the large developer base out there to get networking moving a lot faster than it is today," Ahmad said.