最大級規模のOSCON 2007
7月23日~27日にオレゴン州ポートランドで行われたOpen Source Convention(OSCON) に今年も参加してきました。昨年はスピーカーだったのですが、今年は一参加者として25日から27日までの通常セッションに参加です[1] 。セッション数も昨年より1.5倍ほど増え、最大で同時に15トラックが並行で走るという今までにない最大規模のOSCONだったように思います。フリーランチや夕方にはビールなどが振る舞われましたが、展示場いっぱいに配置されたテーブルが満員になるほど盛況でした。
自分の体は1つしかないので、どのスロットも1つのセッションしか参加できなかったわけですが、参加したセッションの中からいくつかをピックアップして紹介したいと思います。
Supersizing YouTube
セッションで埋め尽くされたスケジュール表
すでにいくつかのカンファレンスでも話されているYouTubeに関するセッションでは、特にスケーリングについての話題が中心でした。YouTubeは主にPythonでコーディングされているようですが、Apache+mod_ pythonからカスタムのlighttpdへの移行、memcachedを利用したオブジェクトキャッシング、MySQLのレプリケーションセッションをエミュレートすることによりプロダクション環境からパーティション環境へのスムーズな移行を実現するといった内容で、ほぼ自社でやっていることと同じだなぁと思いつつも、おもしろいアイデアもいくつか見つけられたセッションでした。
TheSchwartz
Six Apartからは分散ジョブ処理システムであるTheSchwartz についてと、TypePadのスケーリングプロジェクトについてのトークが発表されました。TheSchwartzはYAPC::AsiaでBrad Fitzpatrickも最新のトピックとして紹介 していましたが、実際にこれを専門にして発表するというのは初めてで、80人程の部屋がほぼ満室になるほどでした。
TheSchwartzは非同期かつ分散した環境で各種ジョブを処理させるという枠組みを再実装して利用しやすくしたもので、MySQL(SQLiteもサポート)上のデータベースにジョブを格納し、各ワーカープールで処理を行って結果を返す、という単純なフレームワークです。実際にVoxやLive Journalではメール送信や画像のリサイズなど、時間のかかる処理、かつWebアプリケーションで直接行う必要のないものをワーカーに行わせるという用途で、プロダクション環境で利用しています。実際に参加者の中でもテストしているという人もいたようですし、また日本のPerlコミュニティの中でも紹介されつつあるので、今後注目のソフトウェアといえるかもしれません。カンファレンスの前後にはPythonやRuby用のクライアントやワーカーライブラリの実装が始まっていて、Perlを使っていない企業やプロジェクトでも利用できる日は遠くなさそうです。
Google Gears
オフラインでWebアプリが使えるブラウザ拡張機能Google Gearsのエンジニアリング担当Aaron氏から、Gearsを既存のWebアプリケーションに組み込む方法やTips、また将来のロードマップなどについての解説がされていました。Google ReaderやGoogle Docsなど、既存のアプリケーションでも対応具合がまちまちなことに関しては、そのほとんどが20%ルール[2] でのプロジェクトであるということで、エンドユーザがオフラインモードになることを意識せず利用できることが理想だと話していました。またGoogle Gears自体がすでにオープンソースになっていて、今後はpure JavaScriptのJSONパーサ・エンコーダなど、Gears自体のAPIに組み込んでいく予定とのことでした。ほかのソフトウェアでもJSONをプロトコルの一部またはベースに採用しているものが多く、一緒に参加したBrad Fitzpatrickと「みんなJSONJSON言ってるなぁ」という話をしましたが、本当にそれは強く感じました。
まとめ
さすがに15トラックもあると全体を通した感想というのは難しいですが、個人的には「Webサービスのスケーラビリティ」「 プログラミング言語の拡張(とくにDSL:Domain Specific Language) 」 「 JavaScriptやCometフレームワーク」といったトークが目につき、興味を持ちました。