スケールアウトには限界がないのか

cpw 2010/04/27 12:43
アプリケーションサーバは分散が容易とういうことを忘れてはいけませんよ。サーバも安くなってきてますしね。人件費の方が高コストです。

スクリプト言語の息の根を止めるのは案外 SSD かもな - kなんとかの日記

データベースサーバと違い、アプリケーションサーバはスケールアウトしやすい。今の時代、コンピュータの値段は非常に安いから、スクリプト言語の性能が低くてもマシンを買い足せばいいだけ…そういう指摘がコメントに何件かあった。これはこれで正しい。しかし、クラウドの時代だとちょっと話は違うんじゃないかとも思う。

スクリプト言語の性能が低いので、マシンを 4 台に増やしました、あるいは 10 台、20 台、…に増やしました、という程度の話なら、スケールアウトでも別にいいと思う。けど先の Facebook のようにマシン数が 3 万台とか、そこまで行かなくてもマシン数が数千台の規模になると、「マシンの台数を倍にしましょう」なんてそう簡単に言えないのではないか。10 台を倍にしても 20 台で済むけど、1 万台を倍にしたら新しいデータセンターが必要になってしまう。

性能が必要となるたびに、スケールアウトするたびに、データセンターを建てるのが本当に正しいことなのか。マシンを数台増やすだけなら「今のコンピュータは安いから」で済むけど、データセンターを建てるなら数億円の話になる。それでも「安い」と言えるのか*1

データセンターまではいかなくとも、数百台や数千台の規模なら、ランニングコストである土地代・電気代・光熱費も相当なものだろう。マシン単体でみれば安いのかもしれないけど、ランニングコストは継続的にかかる金額だ。もっといえば電気容量や熱といった物理的な限界要因があるから、マシン台数を無制限に増やすわけにもいかないだろう。

昔、CPU は微細化が毎年進んでそのたびにクロック数が向上した。我々はそれが当たり前だと思ったし、それがいつまでも続くと無邪気に信じてた。Pentium 8 は 32.2GHz になるという予想をしたって別におかしくなかった。しかしそれは全くの間違いだったことは、今なら誰もが知っている。

スケールアウトについては我々は同じ過ちを繰り返していないと、誰が断言できようか。クラウドの時代には、今までの常識が常識でなくなり、新しい常識が生まれる。そのことは頭にいれておきたい。

*1:まあ無駄なスパコンよりはずっと安いけどな。