2010年2月19日金曜日

ゲームの世界: 結構性能や可用性については真剣勝負なのだ:FarmVille社CEOとのインタビュー=>

FarmVilleが7500万ユーザ環境をどの様に対応しているのか
FarmVilleのCEOであるLuke Rajlich氏とのインタビューを通して、FarmVille社が如何に急激なユーザ成長に対応していったかを説明している。 
FarmVilleは、サービスを開始して4日目で100万人、60日目には1000万人のユーザ規模に急成長している。 発足当時、世間で一番ユーザ数の多いゲームは高々50万人程度。 現在、発足9ヶ月目にして、同ゲームは同時利用者の平均が2800万人、合計7500万人のユーザに達している。  事実上、世界最大のゲーム、世界最大のウェブプラットホームになる。 
そのような状況の中、同社はLamp Stackを利用して開発されたコアをオープンソースを中心としている。
FarmVilleは、そのプログラムの性格上、次のような特徴を持っている。
1)  他のFacebook、Googleアプリケーションと比較して、Readに対するWriteの比率が著しく高い(Read:Write=3:1)
2)  新しい機能を追加すると、利用者の急増が大きく、場合によっては50%跳ね上がる事があり、この対応が非常に重要になってい来る。
3)  Facebookプラットホームの上で稼動するため、性能上の課題が大きい。  この問題を解消するために、Facebookのデータを大量にキャッシュする方式を採用している。 FarmVilleとFacebook間で行われるデータ通信はピーク時には3Gb/秒+キャッシュ間通信で1.5Gb/秒が加わる。 
4)  オープンソースを積極的に採用:
    a)  警報: nagios
     b)  監視:  munin
     c)  構成管理:  puppet
     d)  システム状況:  Facebook DB、Memcache 
5) ゲームを構成するすべてのコンポーネントに障害が発生しうる事を認識し、その障害がシステム全体に影響を与えないようにするために、各コンポーネントを独立化する。
 
ゲームという固有の世界ではあるが、クラウドアプリケーションの中でも特にLatency(遅延)や障害に敏感な正確を持つこの業界でのソリューションはかなり真剣に取り組んでいる状況が分かる内容で在る。