最近,「サーバー仮想化」がますます注目されるようになってきた。サーバー(OS+ミドルウエア+アプリケーション)をまるごと仮想化し,1台の物理サーバー上で複数の仮想サーバーを稼働できるようにする技術である。これまで物理サーバーとOSの関係は1対1だったが,それが1対nになるわけだ。また,仮想サーバーは100%ソフトウエアなので,他の物理サーバーに移動させたり,保存,複製したりすることも容易である。

 このようなサーバー仮想化技術の主な用途は「サーバー統合」である。管理しきれないほど増えたx86サーバーを仮想化して,少数の物理サーバーに集約するために利用できる。実際の導入事例を見ると,仮想化の対象となるシステムの内容にもよるが,物理サーバーの台数を4分の1くらいにまで削減している。ITpro読者に対するアンケート調査では,仮想化を導入・検討している回答者の7割がサーバー統合のために仮想化技術を使うとしている。

 ここで興味深いのは,2006年から2007年にかけて首尾よくx86サーバーを仮想化・統合した企業の多くが,異口同音に「サーバー統合もいいけど,運用してみて分かった別のメリットも大きい」という感想を述べていることだ。担当者の口ぶり概して嬉しそうで,サーバー統合のメリットより,想定外のメリットのほうがお気に入りであるようにも感じられた。

 彼らが話す「別のメリット」とは,新規システムや新規の開発環境のために,「必要なサーバーを,必要なときにすぐ用意できること」を指す。これが彼らの仕事を楽にしたり,さまざまな応用を生み出すきっかけになっている。

 例えば,新規システムをテストするための検証環境を大至急用意したいとしよう。従来なら空いているサーバーを探したり,環境をセットアップしたりするためにスタッフが何時間も費やすところだ。しかし,仮想サーバーならわりと簡単に検証環境を用意できる。管理ツールをながめてキャパシティに余裕のあるサーバーを探し,そこに仮想サーバー(標準的な検証環境をセットアップしたひな型)を複製して起動するのである。これなら作業を大幅に短縮できる。

 事前に準備しておくべきものは,仮想サーバーのひな型とサーバーの「リソース・プール」だ。リソース・プールと言うと難しそうに聞こえるが,要は仮想化ソフト(ハイパーバイザー)をインストールしたサーバー群である。このリソース・プール全体を見渡してどこかにキャパシティの余裕があれば,それを使ってすぐに新しい仮想サーバーを立ち上げられる。

 こうした仮想化技術をクライアントPCに応用した例もある。プログラマが使う開発用PCを仮想的にサーバー上で動かし,そこにプログラマが自分のPCからリモート・アクセスする,という使い方だ。シンクライアントの1形態だが,最近は「デスクトップの仮想化」とも呼ぶ。プログラマの人数が多くても開発環境のひな型を複製してすぐに提供できるし,VPN(仮想プライベート・ネットワーク)を介して,開発ベンダーのオフィスから利用することもできる。

 このほか,技術者のアイデア次第でいろいろな応用がきく。仮想サーバーをネットワークで転送して別のデータセンターで動かすとか,ソースコード(および業務ノウハウ)の流出防止のためにデスクトップ仮想化を使うなど,現場で利用されている工夫は多種多様だ。

 このような工夫によって得られる省力化効果がどれほどなのか,一概には言えない。しかし,その便利さや面白さが,技術者たちの心をつかんでいるのは確かなようだ。