楽天とオープンソース、その密接な関係

2003/11/13

楽天 開発本部 開発推進部 部長 安武弘晃氏

 楽天市場のサービスを裏で支えるシステムは、多様なアプリケーション(「サーチ」「アフィリエイト」「購入履歴」「ポイント」「フォーラム」「店舗編集」「受注処理」「メールマーケティング」「アクセス分析」「ノウハウ共有」など)が複雑に絡まりあって存在している。開発言語はJava、PHP、Perl、C、ColdFusionを活用し、DBMSにはOracleをはじめ、Informix、MySQLを採用、OSにはSolaris、FreeBSD、Linuxを活用する。
 
 稼働するアプリケーションによって環境や開発言語が異なるこの“異様な”システムは、1997年のサイト開設以来、「手探りで開発してきた結果の姿」(楽天 開発本部 開発推進部 部長 安武弘晃氏)にほかならない。買収を繰り返し、質の向上と共に規模の拡大を指向してきた同社の屋台骨。この“怪物”は、増殖し続けるIT技術を貪欲に取り込みながら、さらなる成長を遂げようとしている。

 日本有数の大規模Webサイトに成長し、現在でも2倍のペースで規模を拡大し続ける楽天だが、今後さらに成長を遂げるためには、いままでのような「手探りの開発手法」を採用し続けるわけにはいかない。「多人数のスタッフが参加し、このような巨大なシステムを構築するには、効率的な開発手法を導入しなければならない」と安武氏はいう。同社では、独自の開発フレームを構築し、「誰が作っても同じ品質に近づける」ような手法を取り入れる必要がある。

 オープンソースの技術を積極的に活用する同社では、特にPHPでの開発に意欲をみせている。開発スタイルは「極めてオープンソース的な開発スタイル」(安武氏)となっている。共通ライブラリ管理チームを設置し、共通のクラスライブラリを開発チーム間で共有しながらも、厳密な拘束を課すことはなく、CVSでのバージョン管理を行いながら、各チーム間(違うアプリケーションを開発するチーム)で柔軟に対応する仕組みを採用している。また、IDEとしてPHPの利用を前提として、Zend Studioを採用している。

 安武氏によれば、PHPの利点は「豊富なドキュメントの存在、導入コストの安さ、再起動の不必要性、安定度の高さ」だという。課題点もある。Connection poolおよびSessionの点で負荷がかかってしまう傾向にあること、人材不足、テストツールの少なさ、頻繁なバージョンアップなどだという。とはいえ、PHPに限らず、オープンソース技術は「使い方次第で商用製品とそん色のない、時にはそれ以上の結果を出せる」(安武氏)とコメントした。

(編集局 谷古宇浩司)

[関連リンク]
楽天市場
Zend Open Source Systems Japan

[関連記事]
急速に増えたオープンソース技術者、「スキルは高くない」 (@ITNews)
e-Japan構築の本質は『オープン』にしかない、サン (@ITNews)
オープンソースで損害賠償? ビジネスにリスクはないか (@ITNews)
MSに忍び寄るオープンソース運動の足音 (@ITNews)
「オープンソースはソフト産業を壊滅させる」は正しいか (@ITNews)

情報をお寄せください:



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