500万倍のスケーラビリティ
カーネル読書会で、mixiのバタラさんにmixiのシステムをどのようにスケールアップしたかの話を聞く。開催以来最多の90名の登録(会場の都合で90名で登録を終了した)で、会場は立ち見が出るほどの盛況であった。宴会も50数名の参加をえてこれも大盛況であった。(大よっぱらいの人もいたけど(笑))
内容はYAPCでの発表をアレンジしたものである。ようさんの日記に詳しい報告がある。
システムを1ユーザから500万ユーザまで約2年半でスケールアップしたというお話で、苦労話満載の非常に興味深いものであった。様様な試行錯誤をへて現在のシステムにいたっているが、1ユーザから500万ものユーザをサポートするなどというスケーラビリティはあらかじめ設計されていたものではない。問題にぶつかるたびに一つ一つ問題を解決していって今に至るということである。この500万倍のスケールアップと言うのは本当にとてつもないことである。そのとてつもないことを飄々とこなしているバタラさんのお話が興味深かった。
これがシリコンバレーなら、次のようなシナリオになるだろう。
3年ほど前に誰かがSNS(Social Networking Services)的なものを考え付いたとして、仮に500万ユーザを集めるとしよう。そのビジネスプランが実行可能で期待する収益がそこそこあるのなら、それに対しVC(Venture Capital)がどんと掛け金を張る。
通常、ユーザを獲得するところが最もコストがかかるわけだが、昔のネットベンチャーはそこに莫大なコストをかけユーザを獲得していた【例えば一人当たり100ドルとか(mixiはある意味ユーザ獲得に全くコストをかけていない。口コミで友達の輪を広げていく。)】。3年前に500万ユーザを獲得するというビジネスプランを書いたとしてもたぶん誰も相手にしなかっただろう。
まあ、そんなこんなをすべて取っ払って、仮にVCがどんとお金を提供したとしよう。
ネットバブルのころだと、VCからどんと資金を調達したら、Sunのサーバ(最近はもちろんLinuxだ)をいっぱいたててDBは当然OracleRACだ。掛け金が高いので定番の部品でSIをやる。時間をお金で買う。
最初から500万人分のシステムを構築するのは非常に高価なのであるが、あらかじめ500万人分の負荷に耐えられるような設計にはしておく。1人のユーザにはもちろんオーバースペックでコスト高である。
シリコンバレー的なアプローチはトップダウンでキャパシティプランニングをしてそれに必要な人モノ金を調達する。人は人材の流動性が高いのでその道のエキスパートを適切なコストで調達可能である。お金が集まらなくて十分な収益が上げられなかったら、お金が尽きたところで、終わりである。The End。お金が尽きる前に収益をあげられれば生き残ることになる。
一方mixiはそのようなシリコンバレー的な発展の仕方をしたわけではない。バタラさんが一人で始める。ユーザも一人。まさかそれが2年半後に500万ユーザになるなんて自分自身も思っていなかった。だけど、ちょっと面白そうだからやってみた。そんな感じである。
だから今からみると、その時その時の場当たり的な対処方法に見えなくもないが、その時その時のベストエフォート、最善策を適用していくことによってシステムを育てていった。いかにして限られた資源の中で低コストでシステムをスケールアップしていくか。そしてそのアプローチは、お金も、人も、様々な資源も乏しいネットベンチャーならではの知恵とちょっとした工夫でしのいでいくのである。リスクを最小限にしながらのスケールアップというのはGoogleやYahoo!のような巨艦企業とは違ったベンチャーが取るべき賢いアプローチなのではないかとお話を聞いていて思った。
東京はシリコンバレーではない。シリコンバレーをコピーするのではなく東京ならではのユニークな方法で問題を解決していく。そのようなヒントに満ちたお話であった。
そしてカーネル読書会である。東京にはmixiやらGreeやらはてながある。
カーネル読書会とよしおかの野望
http://blog.miraclelinux.com/yume/2006/07/post_69b1.html
OSSの技術カンファレンス、縦串横串
http://blog.miraclelinux.com/yume/2006/07/oss_f5f1.html
カーネル読書会をきっかけにいろいろなコラボレーションが有機的に発生し様々な専門性をもった人たちとの核融合がおこれば面白いと思う。臨界点には達しているような気がする。




大学に在籍する人間からすると、具体的な課題がゴロゴロしていそうな所に強烈な興味を覚えました。いわゆる研究のための研究には辟易している自分には非常に刺激的でした。
投稿: 川島英之 | 2006年7月 7日 (金) 14:19
川島英之さま、コメントありがとうございます。学会とは違ったのりのコミュニティを形成できたら面白いと思っていますので、ぜひ、ご協力ください。
投稿: hyoshiok | 2006年7月11日 (火) 19:28