米Linux Foundationは2016年11月8日(米国時間)、データ収集のオープンソースソフトウエア(OSS)「Fluentd」が「Cloud Native Computing Foundation(CNCF)」の管理するプロジェクトになったと発表した。Fluentdは古橋貞之氏(写真)が開発を始めたOSSで、現在は米Googleや米Microsoftのクラウドの中でも使われている。

 Linux Foundation傘下のCNCFは、「Docker」コンテナを集中管理するOSS「Kubernetes」の開発を主導する団体。KubernetesはGoogleが開発したOSSだが、Googleは2015年7月にKubernetesの開発をCNCFに移行すると発表していた。CNCFは現在、Kubernetes用の運用管理ツールである「OpenTracing」や「Prometheus」の開発なども主導している。

写真●Fluentd開発者の古橋貞之氏
[画像のクリックで拡大表示]

 Fluentdは、ビッグデータ分析のクラウドサービスを提供する米Treasure Dataの共同創業者である古橋氏が2011年に開発を始めたOSS(関連記事:OSSで世界に挑む 在学中に起業し渡米 DWHクラウドを提供)。Fluentdは、テキスト形式で保存されているWebサーバーのログデータやNoSQLデータベースのデータなどさまざまな形式のデータを、分析に適した「JSON」形式に変換した上で高速に収集するツールだ。Fluentdには現在、異なるデータ形式に対応する「プラグイン」が600種類以上も存在する。

「Kubernetes」で主流のログ収集ツールに

 FluentdはTreasure Dataのクラウドサービスの中核となっているだけでなく、最近はGoogleが提供するKubernetesのクラウドサービス「Google Container Engine」におけるコンテナの稼働ログ収集にも使われている。またMicrosoftも同社の運用管理ツール「System Center Operations Manager」のLinux用管理エージェント「OMS(Operations Management Suite) Agent for Linux」のコアに、Fluentdを採用している。

 古橋氏が開発を始めたFluentdは今や、GoogleやMicrosoftのクラウドを支える存在にまで成長している。これまではTreasure Data社内で開発を進めていたが、ユーザーからの要望なども急増していることから、CNCFの中でオープンな形で開発を進めることにした。「Kubernetesの開発の中心であるGoogleからも要請もあった」。古橋氏はそう語る。

 CNCFの公式プロジェクトになることで、FluentdはKubernetes環境におけるログ収集ツールの“標準”としての評価が定まった。米Red Hatも11月8日、同社が販売するKubernetesのディストリビューション(検証済みパッケージ)である「OpenShift」にFluentdを採用したことを発表している。

「ポケモンGo」の負荷にも耐える

 Fluentdはインタープリタ型のプログラミング言語である「Ruby」で開発されているため、社外からはスケーラビリティ(拡張性)に対する懸念も寄せられていたという。しかし「スケーラビリティに関する懸念は『ポケモンGo』が払拭してくれた」。Treasure Dataの太田一樹CTO(最高技術責任者)はそう語る。

 ポケモンGoの開発会社である米Nianticは、ポケモンGoのバックエンドにGoogle Container Engineを使用している(Googleの発表)。前述したようにGoogle Container EngineにはFluentdが使われており、「ポケモンGoのような巨大システムが稼働している環境でも、Fluentdが安定してログを収集できることが実証された」(太田CTO)ということだ。

 FluentdのCNCF入りは、Treasure Dataにとって機械学習ライブラリ「Hivemall」が米Apache Software Foundation(ASF)の「Incubator(育成)」プロジェクトに認定されたのに続く実績となる(関連記事:日本発OSSで初の快挙 ASFが認めた機械学習ライブラリ「Hivemall」)。

 Hivemallは分散データ処理ソフト「Hadoop」「Spark」の関連ソフトであるため、Hadoop/Sparkの開発を主導するASF入りを選んだ。FluentdがASFではなくCNCFを選んだのは、「CNCFはASFに比べると柔軟な組織体制であり、CNCFに入ってもFluentdの開発スピードが減速しないと考えたため」。Fluentdの開発エンジニアであるTreasure DataのEduardo Silva氏はそう説明する。