Facebook Unveils Network Load Balancer, Provisioning Tool

Facebook today announced two new tools that expand its DIY-networking portfolio: Katran load balancing software and Zero Touch Provisioning, an automated system for building backbone networks. The technologies were introduced at the invitation-only Networking @Scale technical conference in San Jose, Calif.

Katran provides a "completed reengineered" forwarding plane and is deployed on backend servers in Facebook's points of presence (PoPs), engineers at the social network wrote in a detailed blog post. Katran has helped Facebook improve performance and scalability as demands on the company's network increase, and "reduce inefficiencies such as busy loops when there are no incoming packets," they wrote.

They said they built Katran to meet Facebook's network load balancer requirements: run on commodity Linux servers; coexist with other services on a server; easy maintenance; and easy debugging.

Continuing its tradition of sharing its network designs, Facebook is open sourcing Katran. "By sharing it with the open source community, we hope others can improve the performance of their load balancers and also use Katran as a foundation for future work," the engineers wrote.

Facebook spearheaded the creation of the Open Compute Project seven years ago, focused on open data center component designs. The company has been a major proponent of open networking, and its networking contributions to OCP include its Wedge switch and Fabric Aggregator. Engineers at the company have said they need to design their own networking equipment in order to provide the flexibility Facebook's enormous, fast-growing network requires.

Along with Katran, Facebook introduced its Zero Touch Provisioning tool, which it described as a scalable workflow automation system that reduces time-consuming routine networking tasks as engineers build backbone networks. The system uses an approach Facebook calls Vending Machine, inspired by candy and soft-drink dispensing machines.

"In the case of Facebook's Vending Machine, the input is a device role, location, and platform, and out pops a freshly provisioned network device, ready to deliver production traffic," engineers wrote in a blog post.

The tool "has already empowered our engineers to move faster, to solve problems more creatively, and to take a far more iterative approach to building our networks and our network deployment tools," they said.