仮想化の行く末は?

コンピュータ資源の仮想化が大流行りである。

世の中のサーバはクラウドコンピューティングに向かい、猫も杓子もクラウドの時代という様相を呈している。 本コラムでも「クラウド破産時代のホスティングサービス選び」(2010.10.05)、「クラウド時代のシミュレーション型BI」(2010.08.24)、「クラウド化予測」(2010.08.03)、「クラウド時代のOSとは」(2009.10.27)というように、昨年あたりから立て続けに「クラウド」というキーワードがタイトルに入っている記事が登場するようになった。

本コラム執筆者は必ずしも時代の最先端を行っているなどとおこがましい主張をするつもりもないが、以前、「ゼロ年代の情報技術を「情報技術」で振り返る」(2010.03.09)でも解説したように、ある程度のトレンドは掴めているはず。 望むと望まざるとに関わらず、クラウド時代は既にやってきている。

クラウドを支える仮想化技術

クラウドコンピューティングに対する批判に、「クラウドコンピューティングはバズワード?」というものがある。 確かにユーザからみると利用形態は単なるWebアプリケーションにしかみえず、「SaaSやASPとどこが違うの?」と疑問を抱くのももっともだろう。 SaaSやASPにしても、そのありがたみはエンドユーザまではイマイチ浸透しておらず、バズワード扱いされていたというのに。

クラウドコンピューティングの本質はサーバ実装の隠蔽によるスケーラビリティの確保にある。 ユーザに提供するサービスが革新的になったわけではないところが、誤解を招く根本であろう。 しかし、システム管理側にとってはたいへん有難い仕組みである。 サービスを提供する計算リソースを、ユーザのニーズに合わせて柔軟に用意することができるからだ。 1年を通じて定常的な需要が発生しているサービスは珍しく、アクセスが特定の時期に集中することはよくある話。 そのときだけサーバを増強したり、あるいはアクセスが激減したときにサーバを縮退させたりといった調整が簡単にできる点が重要なのである。

このように柔軟な運用を可能としている根本的な技術が、仮想化技術である。 仮想化技術を用いた環境では、物理サーバの上でいくつもの仮想マシンが動作する。 このようなことが可能になったのも、物理サーバの処理速度が十分に速くなったため、その上で複数の仮想マシンを動かしても全く問題にならなくなったからだ。

仮想化が目指す最適化とは

ユーザニーズの予測が難しい一般向けサービスだけでなく、組織内のITシステムをクラウドコンピューティング化することにも、メリットはある。 これまで、組織内の様々な部署が要求するIT化を、都度、システム構築してきたという経験をお持ちの方も多いことだろう。 その結果として、バラバラなハードウェアによる継ぎ接ぎのシステムが何となく稼働しているという悲惨な状況をよく聞く。

クラウドコンピューティングにはこれらをまとめて受け入れる包容力がある。 分散してしまった社内のITリソースを、まとめて管理することができればメンテナンス性も上がり、運用コストを下げることができるようになる。

クラウド環境化では、どの物理サーバでどの仮想マシンが動いているのかを、通常は意識する必要がない。 したがって、前述したように組織内でのITリソース利用ニーズの増減に対応した柔軟なシステム運用を実現できるだけでなく、管理の自由度が上がるという利点もある。 例えば、特定の物理サーバについてメンテナンスが必要となったとき、そのサーバで稼働していた仮想マシンを代替機に移して運用すれば、サービスを停止することなくメンテナンス作業をすることができる。

さらに、より高度なシステム運用のシナリオも考えられる。 それは、システムの利用率に応じて物理サーバの電源を落とすことによって、環境に優しい運用をしようというものだ。 仮想マシンを稼働中に移動させるライブマイグレーションという仕組みを上手に使えば、そのような運用も可能になる。 閑散期には、あちこちで稼働している少ない仮想マシンを1ヵ所にまとめてしまい、節電しようという考えである。

仮想化に対するアンチテーゼ

ただし、先日、某大学で一般学生を相手にITに関する包括的な講義を行った際、「クラウドコンピューティングという言葉を知っているか」と尋ねてみたところ、まだその認知度は数パーセントに満たなかった。 業界では盛り上がっているものの、一般への浸透はまだまだこれからというところのようだ。 クラウドコンピューティングが普遍的な概念になるには、エンドユーザからの支持は不可欠だろう。 本稿で紹介したシステム最適化の理想像もその一助となれば幸である。

ところで、最後にRebuntuという仮想化を皮肉った作品を紹介したい。

Rebuntuは最近人気の高いUbuntuをベースに構築したLinuxディストリビューションの1つであり、Rebuntuの最新バージョンではUSBやCDからブートするブータブルOSとなっている。 しかし、Rebuntuは「再生以外、何もしない」。

Rebuntuが起動すると、自動的に仮想化環境が立ち上がるようにプログラムされている。 そして、その仮想化環境を用い「Rebuntuそのもの」を起動するのだ。 仮想マシンとして起動したRebuntuは、さらに仮想化によるRebuntuを起動する。 このようにして、再起的にRebuntuが次から次へと起動されていく。 もちろん物理的なメモリには限界があるので、資源を使い尽くしたところでRebuntuの処理は破綻する。 Rebuntuのウェブサイトには動作の様子を示したスクリーンキャストが用意されているので、興味を持った方は閲覧してみるとよいだろう。