Googleが今日(米国時間1/29)、ロードバランサーSeesawをオープンソースにする、と発表した。このLinuxアプリケーションはGoogleのGo言語で書かれていて、これからはApacheライセンスによりGitHubで入手できる。
Googleのインフラの日常的メンテナンスを担当しているSite Reliability Engineer(SRE)の一人Joel Singが、今日の発表声明で述べているところによると、Googleは2012年までは二種類のロードバランシングシステムを使っていたが、しかしどちらも、“管理と安定性に問題があった”。そこで、彼と彼のチームは新しいソリューションを探したが、Googleのニーズを満たすものがなかったので、自作することになった。
“要求はそれほど複雑ではなかった。必要なのは、ユニキャストとエニーキャストの仮想IPを扱えること、NATとDSR(またの名DR)でロードバランシングができること、そしてバックエンドに対する健康診断ができることだ”、とSingは書いている。“何よりも必要なのは、管理のしやすいプラットホームだった。構成を変えたときのデプロイの自動化、とかね”。
一部ではすでにネットワークレベルのロードバランシングにLinux Visual Server(LVS)を使っていたから、Singのチームもそうすることにした。ただしそれに加えて彼らは、 モジュール構造のマルチプロセスアーキテクチャと、フェイルオーバーやリカバリのサービスも実装した。
“開発は短期間で集中的に行い、完成しデプロイにも成功したSeesaw v2で二つの既存のプラットホームをリプレースした”、とSingは書いている。“これにより、全体的に、サービスの可利用性が向上し、管理のオーバヘッドが減った”。
なお、このプロジェクトの提供者はGoogleだが、オープンソースのバージョンはGoogleの公式のプロダクトではない。だから、サポートをGoogleに求めることはできない。