これは、「羅針盤—官公庁IBM通信」第5号(2009年8月号)に掲載した記事です。
日本アイ・ビー・エム株式会社 技術理事 公共事業 官公庁担当CTO 長島 哲也
仮想化が必要になった理由
最近、お客様より「クラウドと仮想化はどう違うのか」というご質問をいただきますが、実は、本来、クラウド・コンピューティングと仮想化技術は疎(そ)な関係にありました。歴史的にも仮想化技術は1960年代から脈々と開発・実践・洗練が繰り返され、今日では、さまざまなプラットフォーム上で実用に耐えられる製品が提供されるまでに成長してきました。では、なぜ仮想化技術が必要となったのでしょうか?
システムをフル稼働させたいという願望
その出発点は高価なコンピューター・システムを遊び無く使用(フル稼働)させたいという願望でした。1960から70年代には、メインフレームやミニコンといったサーバー・システムのことを「コンピューター」と呼んでいました。この時代、コンピューターはとても高価なものでしたから、一つの仕事でコンピューターを占有する当初の利用スタイルでは資源を使用していない状態の方が長く、高価な資源の低利用率が問題視されました。打開策として複数同時処理が実行可能なオペレーティング・システムや物理的なメモリー以上の記憶域を利用可能にする仮想記憶、同時に複数の入出力を可能にするI/Oサブシステム等が考案され、実際に利用されました。
一方、UNIX®やPCは当初ワークステーションと呼ばれるクライアント側のコンピューターとして普及していましたので、これらのコンピューター上に複数のアプリケーション・システムを同時実行させ資源の効率的利用を図る動機は希薄でしたが、90年代から今日に普及したクライアント・サーバー型コンピューティングやe-ビジネス型コンピューティングではUNIXやPCをサーバーとして使用することが常識化しました。しかし、当初のUNIXやPCサーバーは能力が低く、また、複数のアプリケーションを同一サーバーで稼働させる運用管理技術が貧弱であったため、多くの企業において、物理サーバーが乱立する状況を生み出し、設置スペースの拡大、管理・保守コストの増大、セキュリティーの低下、各物理サーバーの利用率低下を招くこととなりました。
しかし、80年代から今日に至る半導体、メモリーなどコンピューター資源の高速化・大容量化・低価格化ならびにソフトウェア高速化のスピードは想定をはるかに上回り、一つのアプリケーションを一つのコンピューター上で稼働させるだけでは資源を消費しきれない状態を生んでしまいました。
必要な資源を必要なときに提供するために
このような環境下で提唱されたクラウド・コンピューティング、特にプライベート・クラウド・コンピューティングでは、データ・センター内のコンピューター資源を仮想化技術によって、物理サーバーとアプリケーションを分離することが可能となり、物理サーバーを複数のアプリケーションで論理分割利用できるようになりました。この事象のみをとらえて、一部では「プライベート・クラウドとは、仮想化技術を用いたサーバー統合と同義語である」と極端な解釈をする人もいます。しかし、クラウド・コンピューティング環境では、それ以上の優位性の提供をミッションとしています。その中のメリットの一つに、「必要なコンピューティング資源を必要な時期にタイムリーに提供できる機能」があります。
このメリットを享受することに意味のある事象としては、「急激なトランザクション量変化への対応」、「機敏な新規コンピューティング資源の提供」があります。前者は、「時間的」「季節的」「イベント的」にピークが存在する業務に対するクラウド・コンピューティングのメリットとしてよく取り上げられます。後者は、「開発環境」「テスト環境」等の一時的・期間限定的な資源をタイムリーに提供可能とするものです。
どちらにしても、仮想化技術により、アプリケーションと物理コンピューターを疎結合にできたことによって、一つの仮想マシンにスケール・アップでコンピューター資源を割り当てたり取り外したりすることや、複数の仮想マシンをスケール・アウトによって短時間でクラスタリング化/デ・クラスタリング化できることによってコンピューター資源をタイムリーに提供可能になります。そういう意味では、「仮想化はクラウド・コンピューティング環境の前提」です。換言すれば、「仮想化への取り組みが、クラウド・コンピューティング構築の第一ステップ」と言っても過言ではありません。
