エンタープライズ:コラム 2003/04/14 17:53:00 更新


Gartner Column:第88回 大型サーバは死せず

ブレードやクラスタといった話題の技術の登場により、高価な大型サーバが不要になるかといえばそんなことはない。それは、ITの世界で繰り返し議論されてきた「必ずしも間違ってはいないが、正しくない」主張のひとつである。

 ブレード、グリッド、クラスタ、NUMAなど、最近話題となるサーバ関連テクノロジーはどちらかといえば、小型サーバを有機的に組み合わせるためのテクノロジーが多い。では、これらのテクノロジーによって高価な大型サーバが不要になるかというと、全くそのようなことはない。

 多数の小型コンピュータを組み合わせれば、大型コンピュータと同等のことを行わせることができる−−これは、ITの世界で繰り返し議論されてきた「必ずしも間違ってはいないが、正しくない」主張のひとつである。

 もし、この主張が正しいとするならば、メインフレームをはじめとする大規模サーバはとっくに消滅しているはずだが、そういう事態にはなっていないのは周知のとおりである。

 単純なたとえを使ってみよう。現在、大都市圏のオフィスビルの空室率が高まっている。では、小規模ビルの空オフィスを多数借りれば、家賃が高い大規模オフィスビルなど不要になるかというとそういうことはない。実際、新規開発の大規模ビルの人気が高い一方で、小規模なオフィスの空室率は高まっている。大規模な組織が業務を行うためには、やはり、広いフロアスペースを有する大規模ビルが最も効率的だからある。同様に、大規模なアプリケーション処理を行わせるためには、大規模(かつ高価)なサーバが最も効率的であることが多い。

 そもそも、多数の小型のサーバを組み合わせて大規模なアプリケーション処理を行わせるためには、そのアプリケーション処理を多数の処理に分割し、多数のサーバで並行処理させることが必要になるが、これは口で言うほど容易ではない。

 もちろん、メールサーバなどのように比較的処理の分割が容易なアプリケーションもある。利用者の組織や地域ごとにグループに分け、別々のメールサーバを設置すればいいからである。しかし、一般的なアプリケーション処理では、このような分割を行うことは容易ではないし、制御テーブルなどのように、複数のプロセスが共通に更新を行うため、簡単には分割できないデータ構造も存在する。

 さらに、分割が比較的容易なアプリケーションでも、複数のサーバで処理を行うことは、システムの運用管理を著しく複雑にする。メールサーバの例で言えば、「東京地区用のサーバが一杯になったので、2つのサーバに分割しなければならない」「北海道地区のサーバの容量が余っているので、東北地区のユーザーの一部を移管したい」といった、厄介な作業に忙殺されているシステム管理者は多いのではないだろうか? つまり、運用管理の立場からは、あまりサーバの数は増やすべきではないのである。

 ほとんど問題なくサーバを分割できるケースのひとつがWebサービングである。ロードバランサと呼ばれる機器を使うことで、多数の小型Webサーバ間で処理を分散するいわゆるWebサーバファームという構成は、大規模なWebサイトであれば当たり前になっている。ブレードは、Webサーバファーム向けに最適なテクノロジーである。しかし、Webアプリケーションの一部として大規模なトランザクション処理が行われているときには、結局、バックエンドには大型サーバが必要となることが多い。

 サーバ分割の容易なもうひとつのケースが大規模科学技術計算処理である。このようなアプリケーションでは、現実的な時間内で解を得るために、並列性の極めて高いコーディングが行われることが通常であり、処理もCPU中心型であって、データベースへの更新処理が行われることはほとんどない。このようなアプリケーションでは、既にグリッドが有効性を発揮しているのはご存じのとおりである。

 テクニカルな用語で言えば、多数の小型サーバを使うことで処理能力を向上する方式を水平スケーラビリティ(スケールアウト)と呼び、大規模なサーバ(つまり、高性能のプロセッサを多数使った共用メモリマルチプロセッサ)により処理能力を向上させることを垂直スケーラビリティ(スケールアップ)と呼ぶ。

 Webサービングのようにスケールアウトが有効なケースも多いし、そこでは、ブレードやグリッドなどの新しいサーバテクノロジーが効果を発揮する。しかし、トランザクション処理を伴う大規模なアプリケーション処理では、依然としてスケールアップが必要なのであり、そこでは、結局、メインフレームやハイエンドUNIXサーバといった、高価ではあっても単体で高い処理能力を提供できる大型サーバが最も効率的な選択肢であることが多いのである。

 と、ここまでが原則論である。最近になり、Oracle RAC(Real Application Clusters)そしてNUMAなどのテクノロジーが、スケールアウトの世界とスケールアップの世界の境界線をややあいまいにしつつある。このあたりのお話は次回(5月6日掲載)とさせていただきたい。

関連記事
▼Oracle9iとLinuxが夢のユーティリティーコンピューティングを招来
▼ハイエンドサーバ搭載への道を切り開いたLinux

[栗原 潔,ガートナージャパン]