米Facebook、ネットワークデバイス向けのコマンドランナープロジェクト「FCR」を発表

 米Facebookは8月29日、リモートから多数のネットワークデバイスに対してコマンド実行を指示できるツール「FBNet-Command-Runner(FCR)」をオープンソースとして公開したことを発表した。Facebookが開発したRPCフレームワークである「Apache Thrift」をベースに開発されており、拡張性を特徴とする。

 Facebookでは数万大規模のネットワークデバイスが数十万規模のサーバーに接続されており、ネットワーク運用のためにこれらのデバイスを継続的にモニタリングしているという。管理にはSNMPやXML、Apache Thrift、CLIなどの手法を利用した情報を収集やコマンド実行などを利用し、想定されている通りに動いていない場合はすぐにそれを検出し、対策をとっているという。

 FBNet-Command-Runner(FCR)はオペレーションを効率化するために社内で開発した技術で、ネットワークデバイス上でコマンドを走らせるためのツールとなっている。開発に利用されているApache Thriftはインターフェイス定義言語やコード生成などの機能をもつRPCフレームワークで、Facebookが開発し、Apache Software Foundationに寄贈されたもの。

 これによって、多数のネットワークデバイスに接続してコマンドを実行させるような処理を行えるという。クライアントアプリケーションはThriftがサポートするプログラミング言語で作成できるとのこと。ベンダーの依存性については、ベンダー情報を抽出することで新しいベンダーの製品を容易に加えることができるようにした。

 モニタリングに加えて、プロビジョニングやデプロイの機能もある。プロビジョニングとデプロイツールはFCRを利用してプロビジョニングのコマンドを走らせ、設定をデバイスにプッシュできるという。

 FCRはプロジェクトのWebサイトより入手できる。Python 3.5とAsyncSSHが必要。ライセンスはBSDで、Additional Grant of Patent Rights Version 2として特許使用を認める条項が付いている。

FCR
https://github.com/facebookincubator/FCR