【レポート】
3月18日、東京コンファレンスセンター品川にて、オープンソースジャパン、OSCARアライアンス、神戸情報大学院大学開学準備室、神戸電子専門学校の主催により、「Open Source Realize Forum 2005」が開催された。当日は海外からも多くのゲストが来日し、オープンソース、特にPHP/MySQLによるいわゆる「LAMP」プラットフォームについては、興味深い多数のセッションが行われた。本稿ではその中から、「携帯系大規模Webサイト構築事例」と題したテレビ朝日の導入事例を、NECソフトウェア東北ITソリューション事業部主任佐藤正行氏の講演をもとにレポートしたい。
テレビ朝日ではもともと、既存サービスとして、PC向けの「テレビ朝日オンザウェブ」、モバイル向けの「テレ朝 com-plete!」の他、ショッピングサイトの「セレクションX」などを稼働させていたが、これらのサービスは継ぎ継ぎで開発されてきたため統一性を欠いており、会員情報の散在など、多くの課題を抱えていた。また、今後のデジタルデータ放送に向けた準備や、オンラインサービスとしての採算性の確立など、将来に向けた通信基盤の整備への必要性も高まっていた。そこで、2003年春よりスタートしたのが、この新しい通信基盤システムの開発プロジェクトだった。2004年6月には、携帯サイトも含む全てのシステムが新システムへの移行を完了し、現在、実際のサービスとして稼働しているという。
この新システムでは、開発言語としてJava及びPHPが採用されている。大規模サイトの開発実績も多いJavaは当然として、PHPが採用された背景にはテレビ局のコンテンツの特殊性が大きく関係している。テレビ局のオンラインサービスは、番組企画との連動の都合上、企画から公開までの期間が非常に短い。また、コンテンツ自体のライフサイクルも番組の放送期間に依存するため、他の業種に比べると短いものが多くなる。つまり、単一の大規模サイトとして考えるよりも、常にスピードが要求される小規模サイトの集合と考えた方が自然だ。そこで、テレビ朝日社内で更新が行われる部分についてはPHPを採用し、ユーザ自身が独自に更新、開発、拡張を行える手段を提供した。こういった用途では、オープンソース、スクリプト言語といったPHPの特徴が大きなメリットになっているという。
また、小規模サイトの集合とはいえ、全国ネットのテレビ局ともなれば、サイトへのアクセスは膨大なものとなる。例えば、同局の人気番組「仮面ライダー剣」では、毎週番組終了後に行われるクイズに対し、2時間で約9万人の回答があった。同様に、「ロンドンハーツ」では、待受画像に対して分間12万ダウンロードをカウントする。双方向参加型番組として放映されている「テスト・ザ・ネーション」に至っては、PC、携帯、地上デジタルを対象とし、実に60万人が参加するという。こういったトラフィックの集中への対応として、佐藤氏は「コンテンツは可能な限り静的であることが望ましい」と語る。これはWebサーバ自体のスループット向上もさることながら、広域分散キャッシュにおけるキャッシュヒット率の向上を狙うという目的によるものだ。実際、テレビ朝日のシステムでは、多くがテンプレートを活用して生成される静的なコンテンツとして運用されており、新システムの目的もいかに静的コンテンツを効率よく生成するか、という点に集約されていると言える。
ところが、携帯向けサイトに関しては、この対応でも十分とは言えなかった。PC向けサイトでは静的に生成できないコンテンツは少ないのに対し、携帯サイトでは、着メロや待受画像のダウンロード、参加型のアンケート、課金との絡みなど、動的コンテンツにせざるをえない部分がどうしても多くなるためだ。静的コンテンツにできないのであれば、動的コンテンツの高速化を考えるほかない。
そこで導入されたのが、PHPスクリプトの実行を高速化する「Zend Performance Suite(ZPS)」である。ZPSでは、PHPスクリプトが生成するページを様々な条件でキャッシュできる「ページキャッシュ」や、ZPSの独自APIを通してデータベースへのクエリ結果などを部分的にキャッシュする「コンテンツキャッシュ」の機能が提供されている。テレビ朝日の携帯向けシステムでは、用途に応じて、HTTP_USER_AGENT環境変数や携帯キャリア毎にページキャッシュが生成される。また、コンテンツと認証を分離し、Webサーバのプラグインレベルで認証を行った上で、会員/非会員の区別に応じてページをキャッシュするなど、可能な限りページキャッシュを活用する対策が行われている。コンテンツキャッシュは既存プログラムの改変が必要となる上、ページキャッシュほどの効果が望めないため、次善の策として利用された。最終的に、ZPSのキャッシュ機能の活用によって、動的コンテンツのスループットは数十倍にも向上したという。
同局の今後の課題としては、携帯デジタル放送への対応や、さらにスループットを向上させるための工夫がある。今後この課題に取り組むにあたり、佐藤氏はPHP及びZPSに対して、「Java連携機能の強化」「PHP自体の高速化」「データベースに対するコネクションプールの実装」「より柔軟なキャッシュ条件の指定」といった要望を挙げた。これらは、実際に極めて大規模なシステムへの適用を通じて提起された課題なだけに、今後PHP/Zendがエンタープライズ市場に進出していくためには、特に改善が期待されるポイントとなるだろう。Zendも、「PHP/Java Integration Bridge」によってJava連携を強化した「Zend Platform」を発表するなど、既にその対応をはじめている。いよいよ本格化するPHPの大規模適用に向け、テレビ朝日の事例は大きな意味を持つ先例となるのではないだろうか。
| Open Source Realize Forum 2005 - MySQL最新動向 [2005/3/18] |
| Open Source Realize Forum 2005 - Zope海外先進事例紹介 Zope CEO Rob Page氏 [2005/3/18] |
| 超新星残骸中にないはずの多量の一酸化炭素 - 天文衛星「あかり」が発見 [21:42 2/9] |
| 【レポート】ROBO-ONE委員会 - 第20回大会でのROBO-ONE Lightの開催を決定 [20:27 2/9] |
| 火星に海の存在を示す有力な証拠が発見される - ESAが発表 [18:48 2/9] |
| iOS向けSPDYライブラリが登場、普及はじまるSPDY [11:57 2/9] |
| GitHubのアクティブプロジェクト、もっとも多いのはMITライセンス [11:42 2/9] |
|
大東駿介、改名後初の写真集発売--名前を変えたのは「自分の決意表明です」 [00:30 2/10] エンタメ |
|
悲しいけれど超ウマい!極貧芸能人が編み出した奇跡のアイデアレシピベストテン! [00:06 2/10] キャリア |
|
みんなが聴きたい女性アーティスト・ラブソングベスト30を思い出の映像と共に発表! [00:05 2/10] キャリア |
|
でかっ!体長12mもあるジンベイザメが水揚げされる(動画) [00:04 2/10] キャリア |
|
間違って送ったFacebookの友達リクエストを取り消す方法 [00:03 2/10] キャリア |