Google announced today that it is open-sourcing Seesaw — a Linux-based load balancing system. The code for the project, which is written in Google’s Go language, is now available on GitHub under the Apache license.
As Google Site Reliability Engineer Joel Sing, who works on the company’s corporate infrastructure, writes in today’s announcement, Google used to use two different load balancing systems back in 2012. Both, however, “presented different sets of management and stability challenges.” So to fix this, he and his team set out to find a new solution and because the ones available at the time didn’t meet Google’s needs, they started writing their own.
“The requirements were not exactly complex – we needed the ability to handle traffic for unicast and anycast VIPs, perform load balancing with NAT and DSR (also known as DR), and perform adequate health checks against the backends,” Sing writes. “Above all we wanted a platform that allowed for ease of management, including automated deployment of configuration changes.”
Because one of the platforms already used the Linux Virtual Server (LVS) for network-level load balancing, the team stuck with this. On top of that, though, Google then implemented a modular multi-process architecture and some failover and recovery services.
“After a period of concentrated development effort, we completed and successfully deployed Seesaw v2 as a replacement for both existing platforms,” writes Sing. “Overall it allowed us to increase service availability and reduce management overhead.”
It’s worth noting that while this project comes out of Google, the open-source version is not an official Google product. So don’t expect the company to provide any official support.