広がるVirtualization(仮想化)の利用

Virtualization(仮想化)という言葉は、いろいろな場面で使われるが、今回のレポートは、コンピューターに直接関連するVirtualizationについて話してみたい。情報通信分野に直接かかわっていない読者の方には、ちょっとわかりにくいかもしれないが、今年米国では大きな話題だったので、取り上げてみたい。

そもそもVirtualizationとは何か。細かい技術的な話をしはじめると長くなってしまうので、概念レベルで書くと、Virtualizationは、コンピューターに対して物理的な現実とは異なった、論理的(仮想的)な見方をすることである。わかりにくいので、例をあげると、物理的に一つのサーバーがあったとき、それをVirtualizationによって、仮想的に、たとえば3つのサーバーとして利用する、というものだ。このようにすると、ユーザーからは、一見、3つのサーバーのように見える。

Virtualizationは、今年、米国でホットな話題だったが、その概念や利用は、実はかなり昔から行われていた。私が昔勤めていたIBMでも数十年前から使っていたし、実際、当時システムエンジニアだった私も使っていた。 Virtualizationは、集中管理しているコンピューター・リソース(資源)を、うまく分散して使うような場合に有効なので、昔、大型メーンフレーム・コンピューター全盛の時代に、Virtualizationによって、物理的には一つの大型コンピューターを使いながら、それを多くの人が、あたかもたくさんのコンピューターであるかのように使っていた。

その後、コンピューターの世界は、パソコンが登場し、ワークステーションが登場し、分散処理が主流となり、個人が使うパソコンやエンジニアが使うワークステーションで処理するアプリケーションが多くなった。また、部門ごとにサーバーを置き、クライアント・サーバー・システムとして分散化を進め、データセンターでの処理をどんどん少なくして行った。

ところがここにきて、このようなクライアント・サーバー・システムによる分散化から、再びデータセンターへの集中化の動きに変わってきた。理由はいろいろあるが、大きな理由としてはシステム管理コスト、ブラウザー・ベース・システムの広がり、セキュリティの問題、が挙げられる。システム管理コストについては、部門ごとに分散サーバーを置いた場合、ハードウェアのコストはデータセンターに大型メーンフレーム・コンピューターを置くより安い(これが分散処理に向った一つの大きな理由だった)が、分散導入された数多くの部門サーバーの管理に大きなコストがかかることになってしまった。これを解決するため、再びデータセンターに大きなサーバーを置く、あるいは、サーバー群をおいて、集中管理するほうが、コスト効率もよく、ベターだということになってきた。

2つ目の、ブラウザーベース・システムの広がり、さらにはSaaS(Software as a Service)の広がりから、アプリケーションの処理を自分のパソコンなどで行わず、データセンターに集中されたサーバーにアプリケーションを置き、ネットワークにつながれば、どこからでも使う、という方向に変わってきた。

3つ目のセキュリティの問題は、パソコンなどに機密情報を保管していると、それを管理するのが大変で、情報漏えいにつながる可能性があり、昨今の個人情報保護法のなどへの対応の意味からも、企業はできるだけ個人のパソコンには機密情報を持たせないようにしている。その結果、セキュリティを考慮し、そのような機密情報は、なるべくデータセンターのサーバーに保管しようということになってきた。部門ごとのサーバーに保管しても、そのサーバーのセキュリティを守るための体制を、それぞれの部門でとるのにコストがかかるから、どうせなら、データセンターに集中して持たせよう、というわけだ。

このような状況で、Virtualizationは、まずサーバー統合(server consolidation)のために使われている。たとえば、すべての部門サーバーをデータセンターに持ってきて集中管理することも出来るが、それでは、サーバーの数が多く、また、サーバーの能力の一部しか使われていない場合、効率が悪い。そこで、Virtualization機能を使って、少ない数のサーバーに統合して使うことにより、コスト効率を大幅に向上させようというわけだ。Virtualizationを使うので、ユーザーからは、あたかもいままでどおりのサーバーがあるかのように見えるので、アプリケーションの変更等も不要なわけだ。

このように、サーバー統合でVirtualizationを使うのが、今年の大きな話題の一つといえる。Virtualizationにより、単にコスト効率を大幅に向上させるだけでなく、データセンターにサーバーを集中することにより、セキュリティも向上できる。物理的にパソコンを取られて情報漏えいにつながることもなくなるし、セキュリティ管理の乏しい部門サーバーでの情報漏えいも防げる。さらに、同じサーバー上で、異なるアプリケーションを動かしても、それぞれをVirtualizationによって、別のシステムであるかのように使えるので、他のアプリケーションからの影響でセキュリティの問題が発生することもない。

Virtualizationはまた、古いシステムで稼動していたレガシー・アプリケーション(ずっと以前から使われているアプリケーション)を新しいハードウェアで稼動させるときにも、アプリケーションの変更なく出来るので、とても便利だ。さらに、新しいアプリケーションのテストや、新しいOSへの移行も、Virtualizationによって、新しいシステム(またはテストシステム)と、今までのシステムを2つ動かすことも可能なのでやりやすい。

ここまで、サーバーのVirtualizationについて書いてきたが、サーバーだけでなく、ストレージのVirtualizationも、SAN(Storage Area Network)などでは常識化している。これにより、SANの中のストレージ・ハードウェアの構成変更にかかわらず、ユーザーは論理的(仮想的)なストレージを見ていればよく、ストレージの拡張、デバイス変更などに対し、容易な移行が可能である。 ネットワークの世界では、インターネット上でのセキュリティ確保という意味で、VPN(Virtual Private Network)が以前から使われているが、これもVirtualizationで仮想的に専用(Private)ネットワークを構築しているわけで、考え方は同じだ。

このように広がってきたVirtualizationだが、今後さらに、サーバーで動くアプリケーション一つづつをセキュリティやパフォーマンス等の配慮から、Virtualizationで、それぞれ独立させて使おうという動きも出ている。Microsoftの新しいOS Vistaにしても、どんどん機能を加えた結果、大きなソフトウェアとなってしまっており、それを動かすためには、場合によっては、より速いCPUを持つ新しいパソコンを導入する必要があるとも言われている。もしかすると、それよりも、Virtualizationによって、それぞれのアプリケーションに必要な機能だけを備えた小さなOSを動かすほうが、効率的かもしれない。

(12/01/2006)


メディア通信トップページに戻る