仮想化への道

今月の日経SYSTEMSに富士フィルムで行われた基幹システムの仮想化に対する取り組みが紹介されていた。

仮想化そのものは大変有用で、私も検証環境や社内での客先環境を模すのに良く使用している。実機を使用しなくてよいというこの利点にはかなり恩恵を受けている。なかったらと思うとちょっと怖いくらいだ。
ただ、富士フィルムの例でみられるように実際の基幹システムに仮想化を取り入れるには実のところ、未だに多くの問題を抱えている。
私が感じる一番の問題は、アプリケーションのサポートだと考えている。これは私自身がアプリケーションを作成するベンダーの立場であり利用する立場でもあるからだとは思う。

アプリケーションのサポート

私が仕事で主に使用しているデータベースはOracleなのだが、Oracleは仮想化上での動作をOracleVM以外ではサポートしていない。実際のところ、VMWareVirtualPCHyper-Vでも動いてはいるのだけど、障害時を考えると少し怖いものだ。Oracleも決してバグの少ない製品とはいえない事はこれまでも身をもって知っているし。
いくつかのアプリケーションベンダーの仮想化に対する対応はマチマチ。いくつか細かい違いはあるようだけど

  1. 物理環境で再現出来たらサポートします
  2. 仮想環境が原因だったらサポートしません

という2種類が多いように思える。字面の問題のように見えるが、前者はユーザー側で確認をするのに対して後者はベンダー側で確認をするというスタイルだ。
比較的容易にインストールさせる事が可能なソフトウェアであれば前者で問題ないだろうが、大規模なシステムであった場合にはそもそもインストールが困難なので後者が選ばれると思う。ただ、ここで問題になるのがベンダー側の対応。サポートの仕方はベンダーで異なるだろうが、おおむね

  1. 現象の再現確認
  2. 再現結果からの調査・修正等の対応
  3. アナウンス

のような流れになると思う。ここで問題になるのが、ベンダー側の環境で再現しなかった場合にそれが"本当に仮想化が原因”かどうかの判断をどうつけるのかではないだろうか。実際のところ、物理環境であっても現象によっては必ず再現するとは限らなく、いくつか複数の要因が重なって初めて発現する問題もある。また、仮想化が原因であるというのであれば、ベンダー側で仮想化環境を構築して検証を行う必要が出てくる。
となると、ベンダー側はユーザー側が使用している仮想化ソフトに対しての知識や、環境を用意しておく必要が出てくる事になってしまう。サポート部隊の涙目が見えてきそうな話だ。おそらく、そもそもの仮想化ソフトを限定しているのかもしれないが…。実際のところ、どうなのだろうか。気になるところだ。

ちなみにWindowsは以下の仮想化環境でサポートをしているようだ

  1. Cisco WAAS Virtual Blades 4.1
  2. Citrix XenServer 5 Embedded Edition
  3. SUSE Linux Enterprise Server 10 SP2
  4. VMWare ESX 3.5 Update 2
  5. VMWare ESX 3.5 Update 3
  6. VMWare ESXi 3.5 Update 3
  7. Xen Server 5

http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpsupport.htm

上記一覧にOracleVMがまだ入ってない事を考えるとWindows+Oracleの環境で公式のサポートを得る事は難しいという事か。いずれにしても、綱渡りである事に変わりはない。

<2009.03.07追記>
コメントに情報をいただいていますが、OracleWindows,Linux以外の環境ではサポートを表明しているようです。
http://www.oracle.com/technology/products/database/clustering/certify/db_virtualization_support.pdf
HP-UXAIXは正直私は触ったことがないです。Solarisくらいかな・・・。Oracleの利用目的から考えるとこれらを選択肢に入れるのはいいかもしれませんね。私はその前にこれらOSの知識を手に入れないと不安でしょうがないですが…。
でも、たとえばHPのnParそのものはWindowsLinuxもサポートしているのになぜHP-UXのみに限定しているのか。そしてOracleVMではそのWindowsLinuxをサポートしているのか。
このあたりは企業戦略が見え隠れしているような気がしなくもないですねぇ。純粋に信用していないだけなのかもしれませんが。

ではどうするのか

さて、困った。どうしたものか。
仮想化環境を提供しているベンダー。VMWareMicrosoftOracleもまたそうなのだが、これらの中でどこかが明確な方針を出してくれれば少しは動きやすいとは思うのだけれど、現在のところ主だった動きはないように思う。サポートの手厚さでは24時間サポートを打ち出しているOracleVMが手厚そうと言えば手厚そうだ。
シェアで言うと先行していたVMWareが大きいのではないかと思う。
いずれにしてもベンダーがいくつかのアプリケーションベンダーを巻き込んでサポート体制の新しい枠組みを作っていかなければいけないのではないかと考えている。望むならば申し出のあったアプリケーションベンダーに対して仮想化環境を提供。検証するための枠組みを作っていって欲しいと考えている。
もちろん、星の数ほどあるアプリケーションベンダーそれぞれに対してそのような事が可能かどうかというと、無理があるのかもしれない。かといって仮想化に対するユーザーのニーズというものはこれからも増え続けて行くわけで何かしらの対応をとっていかなければいけないだろう。