GREEが明かすオープンソース活用の実際

2006/2/10

グリー 取締役最高技術責任者 藤本真樹氏

 グリーが運営するソーシャルコミュニケーションネットワークサイト「GREE」では(GREE本体を除く)すべてのソフトウェアをオープンソースで構築している。OSはDebian GNU LinuxでリレーショナルデータベースはMySQL 4.0.x、全文検索機能はMySQL 4.0.xとSennaというオープンソースの検索エンジンを組み合わせている。WebサーバもApache 1.3.xで、画像処理系はImageMagick 6.2.x、プログラミング言語はPHP 4.3.xあるいは一部5.1.x。そのほか、キャッシュサーバ、アプリケーションフレームワーク、外部監視、グラフ化、そのほかの周辺ツール……「とにかくすべてがオープンソース」だとグリーの取締役最高技術責任者 藤本真樹氏はいう。

 デブサミ(Developer Summit)2006スピーカ資料によると、参加者の23%が製造業で占められている。職種の40%がソフトウェア開発。ほぼ満員となった会場を見回し、藤本氏は「いつもと違う客層」だと戸惑っていた。藤本氏の「独断」による普段のカンファレンス(オープンソース絡み)の客層は、私服(「シャツをズボンに入れている感じの人たち」)で、GEEKで、日曜日はプログラミングをし、なんとなくオープンソース最高と考えているか、当然オープンソースでしょう、と思っている人々だという。今回、デブサミに参加している人々の多くはネクタイをした“いわゆる普通の会社の人々”で、従来ならオープンソース関連の話を聞きに来る類の人々ではない。このような客層の変化は、オープンソースというムーブメントが一部の流行に敏感なエンジニアだけではなく、幅広い層のエンジニアに広まったことの証だといえる。

 ソフトウェアのほぼすべてをオープンソースでまかなっていることから、グリーにはオープンソースを利用していくうえでのさまざまなノウハウが蓄積されている。そのうえで藤本氏はオープンソースを活用する際に考慮すべきいくつかの要素を指摘した。

 例えば、システムのクリティカルレベルについて。オープンソースを導入するシステム(あるいはシステム内のモジュール)の冗長性、スケーラビリティ、パフォーマンスレベルをきちんと見極めること。そのうえで、導入するソフトウェアのレイヤ(影響範囲)についても事前に検討することが重要だとする。オープンソース導入の失敗事例として、藤本氏は全文検索機能(MySQL 4.0.xとSenna)で、ある日突然連続してsegfaultするようになるといった障害を挙げた。この障害については、デバッグを繰り返し、パッチを作成、あとは運用でなんとか回避したというが、このような障害発生によってサービスを止めないためにも、導入ソフトウェアのレイヤ、システムのクリティカルレベルの検討は不可欠だという。

(藤本氏は、「ほかのオープンソースの全文検索エンジン、RastやHyper Estraierなど、と比較して、sennaがどうみても一番優れているので採用している」コメントしており、sennaそのものに障害の原因があるわけではないことを明記しておく)。

 また「導入を検討するオープンソースの安定性や性能要件を検証することは当然」だとする。ポイントは導入実績、リリース後の経過時間、開発者集団のバックグラウンド、(ソフトウェア自体の)複雑さ、などだ。さらに、プロフェッショナルサポート、商用版が存在するオープンソースソフトウェアの活用という選択肢についても考慮べきである。オープンソースは必ずしも無料だというわけではない。

 グリーのエンジニアの平均年齢は25歳。彼らはPHPのCVSコミッタ2人を含む「高度な技術者集団」(藤本氏)で、オープンソースエンジニアのマインド(不満があったら直す、なかったら作る)にあふれているという。

(@IT 谷古宇浩司)

[関連リンク]
デブサミ2006

[関連記事]
IPA、2006年はオープンソースに注力? (@ITNews)
Mozilla Japanの現状と今後、オープンソースの経済的価値 (@ITNews)
「学校にオープンソースを導入しよう!」、IPAが小冊子を発刊 (@ITNews)
オープンソースで損害賠償? ビジネスにリスクはないか (@ITNews)
オープンソースを評価する「共通言語」、IPAが新手法を公開 (@ITNews)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)