Open Compute Projectのスイッチハードウェアの自由で多様な構成を支える共通プラットホームOpen Network Linux | TechCrunch Japan

Big Switch NetworksFacebookとNTTが今日(米国時間10/7)、Open Compute Project(OCP)のスイッチハードウェアのために、Open Network Linuxと呼ばれる統一的なオペレーティングシステムを共同開発することを発表した。

舌を噛みそうな名前だけどこのプロジェクトは、FacebookのようなWebスケールの企業でも、あるいはそのほかの企業でも、とにかくOpen Compute Projectのオープンソーススイッチを利用する企業を助けることが目的であり、技術者たちはこのプラットホームをベースとして、スイッチの転送(forwarding)アルゴリズムを、自分の用途や考え方に合わせて構成していく。

これまで、このOCPプロジェクトはいろんな部位のばらばらな集まりで、エンジニアがそれらを縫い合わせる必要があった。Open Network Linuxはこれらの部位をひとつにまとめ、自由な組み合わせと構成で使えるようにする。また無用に複雑な部分を簡素化する。

このプロジェクトの始まりは18か月前にさかのぼり、そのときはBig Switch Networksがスイッチ用OSの最初の部分をOCPに提供した。Big Switchの協同ファウンダKyle Forsterは、“スイッチOSは複雑怪奇な野獣だ”、と言っている。それには二つの大きな部位があり、それらはプラットホームのコードと、転送エージェント(forwarding agent)だ。OCPのスイッチのハードウェアの設計は、Facebookが提供している。

なるべく簡単に言うと、プラットホームは、Linuxという名前が示すようにベースとなるオペレーティングシステムのコードで、その上でスイッチを作り上げているさまざまな部位を構成する…フロントパネルのLED、環境センサ、ファンのドライバ、などなど。そしてBig SwitchのCTO Rob Sherwoodによると、エンジニアはこのベースコードの上で転送エージェント部位を作っていくが、スイッチがネットワークと対話するときの方式はエージェントが独自に定義する。

そしてそこに、企業による違いや差別化要因ができる。プラットホームのコードが安定すれば、エンジニアはそれが無事に使えることを単純に期待するが、転送エージェントは別だ。“パケット転送エージェントに関しては、誰もが独自の考え方を持っている”、とSherwoodは述べる。

今日の発表によって、これからは誰もが自分好みのエージェント部位を作り、それをスイッチソフトウェア全体のスタックにプラグインできる。三社のパートナー…Big Switch Networks、Facebook、NTT…は今週後半に、この能力をデモする。そのとき見せるのは、転送エージェントの三種類の参考実装だ: FacebookのFacebook Open Switch System(FBOSS)、NTTのL3 Routing、そしてBig Switch NetworksのOpenFlow

これらの参考部位は、エンジニアが自分のエージェントを作り始めるときのたたき台になる。将来的には、オープンソースのプロジェクトとして寄贈されるものもあれば、プロプライエタリにキープされるものもあるだろう、とSherwoodは語る。

Facebookがハードウェアの内製を志向したときにOpen Compute Project(OCP)という第三者機関を作り、そこに設計やソフトウェアをコントリビュートする、という方式を選んだ。その最初のものが、Facebookのトップオブラック(top of rack)スイッチ、別名The Wedgeだ。

OCPには二つのねらいがある。ひとつは、大企業がその公共性を意識して、Webスケールのハードウェアの創造から学んだことを、広く共有すること。もうひとつは、Facebookの外部のエンジニアたちからの貢献を期待することだ。

Big Switch Networksは、OCPのハードウェアに関心があるが、それらをインストールしたり実装するスキルや人材のいない企業を、助ける役目だ。

たしかに特殊で複雑なプロジェクトだが、しかし基本はあくまでもオープンソースのプロジェクトであることだ。オープンソースという基盤の上で企業がソリューションを構築していく。OCPはその過程を助ける。オープンソースのコードが基盤にあれば、エンジニアたちは各自が勝手に車輪を再発明する必要がなく、しかしその上に咲く花の部分では、自由な創造と差別化を追究できる。

このプロジェクトも、まさにそうだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa)。