![]()
[RailsConf2008] 欧米のRailsサイトのDeploy環境の事例
大井宏友です。RailsConf2008ではRailsアプリケーションのOptimizeやスケーリングに関するセッションが多かったり、スポンサーもそれプラスリリース管理まで踏み込んだ製品が多く、欧米ではRailsはプロトタイピング(アイデアをいち早く形にするという意味で)の段階を超えて本格運用の段階に来ていることを実感しました。
ここではカンファレンス全体で紹介されていたいくつかのサイトの実行環境を取り上げます。
事例1:巨大FaceBookオンラインゲーム「WARBOOK」
1000万ユーザー、一日40万時間プレイされているオンラインゲーム「World of Warcraft」(これもRails)のFaceBook対応版(月間10億PV)がどのような構成で動いているのか発表がありました。
構成
- 静的ファイルはLighttpd(1.4.13)で外だし。
- ロードバランサーは外だししてPerlbalで。
- 多数のリクエストに対してはMongrelサーバを追加(現在12個)。
- DBサーバ1つ
- 静的アセット用にサーバ一つ
- memcache用サーバ一つ
ポイント
- memcache。
- Amazon(EC2+S3)の利用
を採用して上記の構成で解決。
コスト
- サーバコスト:月間$2,000(!)
- 収入:月間$100,000
事例2:GitHub
- Bj:background job
- Sphinx:Free open-source SQL full-text search engine
- MC:memcache
- Nginx:high speed httpd and reverse proxy
事例3:YellowPages.com
前記事にある通り、当初はこの構成だがその後ApacheをNginxに置き換えた。
雑感
Nginx+Mongrelの台頭
日本ではあまり聞かないのですが、アメリカではApache(mod_proxy_balancer)の代わりにNginxが普通に使われているようです。Nginxが何かという説明もありませんし、一般的なスケーリングの話の中の事例でも普通にNginxが登場します。
memcacheはお約束
また、memcacheも、Optimize&Scalingのどのセッションに行っても異口同音に話していました。Rails2.1にはmemcachedクライアントが含まれますし、memcacheを使うというのは「お約束」の領域に来ているのかもしれません。

