Why Facebook Does SDN
Facebook's director of technical operations explains why SDN makes sense and how networking and software professionals can work together.
For some, SDN is just a buzzword. For others, like Facebook, SDN is a day-to-day reality that's already delivering benefits.
In a Cumulus Networks-sponsored webcast SDN panel on March 21, Najam Ahmad, Facebook's director of technical operations, explained why the social networking website has embraced the open SDN model.
Ahmad said that when it comes to the reasons SDN makes sense for Facebook, it boils down to two key things: scale and agility. He noted that there is a lot of traffic going between machines today that runs over network infrastructure. In order to scale the network to meet the needs for increasing machine-to-machine traffic, the traditional hierarchy-based network structure isn't a good fit.
"We need to be able to build architectures that are more horizontally scaling, so we can add capacity as we go along," Ahmad said.
For the Facebook network in particular, Ahmad said that he has a pair of key network design philosophies in place. For one, Facebook's network engineers try to reduce complexity wherever possible. The other piece is about understanding that failure is inevitable.
"We try to design for failure and not try to remove the failure itself," Ahmad said. "Hardware will always fail, no matter what hardware you buy."
As such, a key part of Facebook's network design is about having a network that can absorb failures and rapidly detect and mitigate issues. When failure does occur, the failed component can be removed from production so it can be fixed at whatever pace Facebook deems appropriate.
Scaling the community of networking professionals is also a key challenge for Facebook. Ahmad noted that Facebook manages hundreds of thousands of machines and compute nodes, and the skills used to manage those machines are different than traditional networking skills. Many organizations need a separate networking team within the IT organization.
"My question is, why do we need to have a separate network team that is managing a special black-box type environment," Ahmad said.
Ahmad explained that the real benefit of SDN's approach to networking is the disaggregation of hardware from software. So instead of an administrator only being able to manage a network from the command line interface on a box, a network administrator can pick and choose whatever tools work best to control a network.
Within Facebook, software engineers are now moving into networking. Overall, the idea of keeping the network as a siloed IT domain is no longer relevant.
"We want to teach the networking folks more about software and the software side more about the network side," Ahmad said. "The way we do that is we come up with projects that are significant in nature and we pair up network engineers and software engineers together to solve the problem."
Sean Michael Kerner is a senior editor at EnterpriseNetworkingPlanet and InternetNews.com. Follow him on Twitter @TechJournalist