マスコミ的役割から、ブログを経てソーシャル、リアルタイムへと、めざましく変化してきたWebのトレンド。その変遷と技術的トレンドについて考察を行いながら、Palm OS用ウェブブラウザやメッセージキュー「Q4M」などで知られる奥 一穂 氏が、「個人的経験」をもとに、現在の課題と将来の方向性について語った。
冒頭、奥氏は1997年に公開されたPalm OS用Webブラウザ「Palmscape」の開発を振り返り、有線より遅かったモバイル環境下での開発における工夫を紹介。その苦労のわずか15年後には環境が急速に進化し、およそ1,000倍の速度を手に入れることとなる。しかし一方で構成技術はほぼ変わらず、現在もHTTP/1.1全盛、HTMLも進化しながら継続して使われている。
その理由について、奥氏はHTTPとHTMLの中立性を上げる。旧来のプロトコルは、例えばPOP3はメール送信、FTPはファイル転送というように、アプリケーションと密接につながっている。しかし、HTTPは何を転送するかにこだわらず、HTMLは記述するものが何を規定しない。そのため、通信プロトコルやマークアップ言語の変化を待たずにアプリケーションが進化できたというわけだ。
そして奥氏は、HTTPがテキスト+バイナリ混在プロトコルであり、可読性・互換性と効率性を兼ね備えていること、そしてHTMLも、古いタグは非推奨になり、Dynamic HTMLやCSSが追加され、HTML5が登場するなど、「継続した進化」がなされていることを挙げ、「Webの時代は続く」と断言した。
Web技術の変遷とこれからの技術
それでは、これからのWeb技術はどうなっていくのか。奥氏は、これまでのウェブ技術のトレンドを4期に分け、それぞれの技術について解説した。
まず第1期のYahoo!などのマスコミ期は、多数の読者に同一の情報を配信する機能が求められ、httpdや一部差替がコア技術となり、httpdの同時接続数・バンド幅が技術指標となった。その性質はファイルアーカイブの運用に近いと言え、スケールアップの仕方などは今でもファイルアーカイブの運用から学べることがあるという。
そして、2期めとなる画像共有サイトも含めたブログ期は、ユーザーがWeb経由で入力した情報を不特定多数に発信する機能が求められた。コア技術は、入力された情報を管理するためのオープンソース RDBMS、over HTTPな分散ファイルシステム等に移行し、RDBとキャッシュのデータ一貫性維持に悩む人もいた。
Mixiなどに代表されるソーシャル期には、より頻繁になったユーザーの入力を、フォロワーのみへ通知する必要がでてきたため、シャーディングされた大規模環境では複数台のデータベースへの並行書込が求められるようになった。その際、耐障害性とレイテンシの2点が問題となり、同期的なACIDにかわり非同期的なBASEが注目されることとなった。BASEに基づいたサービスを構築する手法の1つはRDB、メッセージキューとワーカーを組み合わせる方法で、柔軟で複雑な処理が可能な反面、プログラミングが必要になる。もう1つは、非同期書込機能つき分散ストレージを使用する方法で、処理の定義が簡単である一方でチューニング困難、複雑な処理ができない。そのほか、最適化手法として専用サーバによる高速化や読み込み時にフォロワーリストで絞り込むPull型の方法などが挙げられた。
最後に、Twitterなどのリアルタイム期では、準リアルタイムコミュニケーションが必要となる。実現には複数のプログラミングモデルが存在し、アプリロジック的には非同期書込の一種としてストレージ以外に他のクライアントへも書き込むことになり、実装の選択肢として「メッセージキュー+ワーカーモデル」や「httpdへの通知プッシュ機能つき分散ストレージ」の2つがある。また、Long pollingの使用範囲が限定できるなら、独自サーバで行うのも良い選択だという。
以上を振り返りながら、奥氏は、「書き込み処理の増加は一貫したトレンド」「非同期処理は今後より重要になる」とし、「古いトレンド技術の変化を振り返り、そこから学ぶことが重要」「その上でともに新しい技術の未来を切り拓いていこう」と呼びかけ、セッションが終了した。