In the 1990s and early 2000s, tech companies moved in droves from using expensive servers from companies like Sun Microsystems to using commodity hardware and open source software, like Linux-based operating systems and the Apache web server.
Since then, developers have come up with powerful, open source tools to quickly and reliably deploy code and data to the collections of servers that deliver web and app content without having to interact with the individual machines. But networking switches--the computers that route packets data to and from individual servers in a data center--have largely continued to rely on proprietary software running on specialized machines made by vendors like Cisco Systems and Juniper Networks.
And configuring these machines, with vendor-specific interfaces, can be hard to automate and reliant on the talent and knowledge of specialized network engineers, says Najam Ahmad, the director of technical operations at Facebook. But the social networking giant is at the forefront of an industry effort to move networking equipment to machines built on open source designs and running Linux-based systems.
"As the web companies are scaling and have to build new infrastructure, networking becomes a bottleneck," says Ahmad.
Moving to open source designs and software would ultimately let companies like Facebook buy intercompatible switches from a variety of vendors, just as they can now do with other computing hardware, instead of choosing between proprietary models from the current vendors, each with their own idiosyncratic interfaces.
"We are working together, in the open, to design and build smarter, more scalable, more efficient data center technologies--but we're still connecting them to the outside world using black-box switches that haven't been designed for deployment at scale and don't allow consumers to modify or replace the software that runs on them," wrote Frank Frankovsky, the head of the Open Compute Project, in a May blog post.
The Open Compute Project was initially created by Facebook to share efficient, nonproprietary data center hardware designs and software, and Facebook's Ahmad is leading the group's effort to develop and promote open source switch designs.
Facebook's testing a switch design called Wedge that uses commercially available hardware and runs a Linux distribution called FBOSS based on software the company already uses to drive its servers, he says. When Wedge and FBOSS have proven themselves internally, Facebook plans to make the designs and codes open source through the Open Compute Project.
"The demand is definitely there," says Ahmad, who argues a move to open source will let tech companies configure their network switches as readily as they now configure other computers.
"If you look at web companies like ourselves, we manage hundreds of thousands of servers which have a whole development environment, they have configuration tools," he says. "We want to be able to leverage the same engineering resources [for networking equipment]."
In the long term, major switch vendors will likely migrate to open source technology to stay competitive, or at least make their proprietary systems more intercompatible, says James Kelleher, a senior analyst at Argus Research who covers the telecom equipment sector.
Already, Juniper is offering more programmable switches, but in more established markets the transition will likely be gradual, Kelleher predicts.
"Cisco is so well entrenched in the enterprise," he says. "It's gonna to be kind of hard to dislodge them or to switch quickly."
In the meantime, Facebook's new Wedge-based switches use commercially available and well-documented chips from vendors such as Broadcom to handle the actual processing of networking data, and FBOSS is effectively the operating system Facebook uses for its servers augmented with additional code to talk to the networking chips, Ahmad says.
"You still have to write some code to be able to talk to the chip, to be able to program the chip," he says. "Linux provides a development environment where you can do that."
Networking vendors such as Cumulus Networks are willing to provide buyers support for the switches, he says, and being able to more efficiently configure the devices provides a big efficiency gain.
A main challenge for many organizations may be bridging gaps that now exist between server and network engineers, says Ahmad, though he predicts those barriers may erode as both teams come to use more similar hardware and software.
"The most interesting thing in most companies is organizational issues," he says. "The server side and network side are very separate teams, and you can't stand on each others toes, as it may be."