日本BEAシステムズ(以下、日本BEA)は13日、仮想化環境向けに最適化されたJavaアプリケーションサーバ「BEA WebLogic Server Virtual Edition 9.2 V1.0」の出荷を開始した。同製品はWebLogic Server 9.2をベースとして、仮想化環境上でOSを介在させずに動作するJavaVM「BEA LiquidVM」を統合したもの。
BEA LiquidVMはJavaVM本体(JRockit)とそれが動作するための最低限の機能を持った軽量OSから構成され、仮想化環境を実現するHipervisorソフトウェアと連携することで、通常のOSを必要としないJavaアプリケーション実行環境を提供する。これを利用することで、仮想化環境を構成する際に、Javaアプリケーション実行環境とHypervisorソフトウェアの間に汎用的なOSを介入させる必要がなくなり、ハードウェアのリソースを最大限有効に活用することが可能となる。
仮想化環境版Javaアプリケーションサーバのニーズ
BEAがこのような仮想化環境上で動作するJavaアプリケーションサーバの開発を目指した背景には、CPUのマルチコア化などによるハードウェアの処理能力向上があると、日本BEA 営業技術本部 プリセールスエンジニアリング部 シニアプリセールスエンジニアの中谷喜久氏は指摘する。
「ハードウェアの性能が向上しても、当然ながら通常はその上でひとつのOSしか動作しない。もし複数のOSをひとつのサーバマシン上で動作させられれば、ハードウェアリソースを無駄なく活用することができ、コストの削減につながる。近年、同様の理由から仮想化に注目するユーザは増えており、今後もその流れは加速していくだろう」。
問題は仮想化環境の上で十分なパフォーマンスを得ることができるのかという点だ。これについて中谷氏は次のように語る。
「現在、VMWareやXenなどで提供されるHypervisorソフトウェアでは、サーバマシン上で(ホストOS無しに)直接動作するので十分なパフォーマンスが実現されている。しかし一方で、Hypervisor上で動作させることを前提としてチューニングされたソフトウェアは前例がない。どうやったらHypervisorの上でJavaアプリケーションサーバのパフォーマンスを向上させることができるかと考えたとき、OS部分にスリム化する余地があるという結論に辿り着いた」。
このアイデアの出発点は、もともと同社が3年前より進めていた「Bare Metal」プロジェクトにある。Bare MetalはOSの介在無しにCPU上で直接動作するJavaVMの開発を目指した技術プロジェクトで、BEA LiquidVMは同プロジェクトの成果物となる。もともとBEAではハイパフォーマンスなJavaVMとしてJRockitを開発してきたが、OSに依存している以上パフォーマンスの向上には限界があっという。そこでOSから自立することでさらなる性能の向上を目指したのがBare Metalだ。
今回、仮想化環境上におけるWebLogic Serverのパフォーマンス向上を考えたとき、Bare Metalで目指してきたものと方向性が一致したことから、BEA LiquidVMが採用されたとのことである。
ただし、現在のBEA LiquidVMに搭載されているJRockitはBare Metal用にカスタマイズされたものではなく、通常のJRockitとまったく同じものだという。今後さらなるパフォーマンス向上のために、専用にチューニングされたJRockitの採用も検討していくとのことだ。
仮想化によって管理コストの削減が可能に
現在のところ、BEA WebLogic Server Virtual EditionはVMWare ESX Serverにのみ対応している。VMWare ESX Serverには複数台のESX Serverと仮想マシン群を統合・集中管理できるVMWare Virtual Centerが付属しており、これによってWebLogic Serverを搭載する仮想化環境をシンプルに構成することが可能となる。
また、同様にVMWare ESX Serverに付属するVMWare Motionは、稼働中のOSを停止させることなく物理サーバ間で仮想マシンを移動させることができる。これにより、物理リソースが不足した場合や、逆に過剰な場合にも容易にハードウェアの移行を行うことが可能となる。
BEAではさらに、Javaアプリケーション実行環境のための運用支援ソフトウェア「WebLogic Liquid Operation Control」の投入を発表している。これは物理サーバや仮想サーバの上で動作するJavaアプリケーションを、リアルタイムにサーバー間で自由に移動できるようにするものだという。
例えばある仮想サーバのBEA WebLogic Server Virtual Edition上でJavaアプリケーションが動作しているとき、負荷の増加によってリソースが不足したとする。このようなとき同製品を使うことで、アプリケーションを停止させることなく別の仮想サーバに移動することができる。閾値の設定等により管理を自動化することも可能だという。
Liquid Operation ControlはBEA WebLogic Server Virtual Editionだけでなく通常のOS上で動作するアプリケーションサーバにも対応している。したがって仮想サーバと通常のサーバが混在した環境でも利用することができる。
「Liquid Operation Controlのアイデアは、Javaアプリケーションをもっと便利に使いたいという顧客の要求から生まれたもの。そういう意味では仮想化とは別の、独立した製品だと考えていい。それがBEA LiquidVMによって仮想サーバという新しい環境が加わったことで、同製品の魅力がより引き出されたと言える」(中谷氏)
Liquid Operation Controlは今年度第3四半期中でのリリースが予定されている。初期バージョンはスタンドアロンで動作するソフトウェアとして提供されるが、将来的には他の管理ソフトウェアのプラグインとして提供することも検討しているという。