導入前から知っておきたい |
サーバ仮想化技術は、いよいよ本格導入期を迎えつつあるが、一方で仮想化の本格導入が新たなコストを生み出すこともある。物理サーバの台数が減れば、その分サーバ運用管理の作業が簡素化されて、コストが削減できると考えがちだが、実際にはなかなかうまくいかないようだ。特に、運用管理の複雑さや煩雑さに悩まされるケースが多いという。一体、何が課題となっているのだろうか?
業務システムでも本格導入が進む |
||
業務システムは、「一度実装したら、それでおしまい」というわけにはいかない。市場の変化にいち早く反応し、競合企業に先んじて新たなビジネスモデルを展開するためには、素早く柔軟に対応できるIT基盤が不可欠だ。まずはスモールスタートで素早くサービスを開始し、その後ビジネスの発展に合わせて柔軟にITリソースを追加し、スケールアウトできるアプローチを取る必要がある。
仮想化の導入以前であれば、まずは1〜数台の物理サーバでアプリケーションを立ち上げ、その後はシステム拡張のニーズに応じて物理サーバを追加していけばよかった。また、日々の運用管理業務も物理サーバ単位で行っていれば問題はなかった。
しかし仮想化環境へ移行した後は、このような方法は通用しなくなる。1台の物理サーバ上で複数の仮想サーバが稼働し、さらに各仮想サーバの上で異なるアプリケーションが動作するようになるからだ。例えば、以下のようなケースが挙げられ、単純にサーバを追加するだけでは、システム拡張に対応できなくなる。
- 物理サーバA上:生産管理と販売管理のアプリケーションが稼働
- 物理サーバB上:販売管理と購買管理のアプリケーションが稼働
- 物理サーバC上:生産管理と購買管理と勤怠システムのアプリケーションが稼働
しかも仮想サーバを、ある物理サーバから別の物理サーバへ移行することもある。このような状況においては、従来のような物理サーバ単位の考え方で業務アプリケーションの構築・運用を行っていくのは、極めて困難になる。
また、仮想化を導入するメリットの1つに、ITリソースの柔軟な割り当てが可能になる点がある。通常、仮想化を導入する際には、高性能なサーバ機を用意して、サーバ集約によるハードウェア運用コスト削減の効果を期待するケースが多い。これにより、各仮想サーバに割り当てるCPUやメモリ、I/OなどのITリソースは、従来の物理サーバ環境より大きくなり、実質的にスケールアップされることになる。仮想化により仮想サーバ単位のスケールアウトを行いやすくすると同時に、高性能なサーバ機を生かしたスケールアップを果たせるというわけだ。しかし、1つのサーバが使用するリソースが大きくなるということは、何かトラブルが生じた場合の影響も大きくなるということだ。安定稼働を求めるユーザーほど、そのリスクとのジレンマに悩むことになる。
仮想化環境へ既存システムを移行し終えた企業が、「では次に、新規システムを仮想化環境に」となったときに、こうした数々の問題に直面することになる。
仮想化時代の新たな課題を |
||
日立製作所(以下、日立)は、仮想化にまつわるこれらの課題に対して、ミドルウェアによるソリューションを提供している。同社が提供するSOA(サービス指向アーキテクチャ)プラットフォーム「Cosminexus」のアプリケーション基盤である、「uCosminexus Application Server」が、それだ(図1)。
図1 仮想化時代の新たな課題を3つの視点から解決 |
uCosminexus Application Server(以下、Cosminexus)は、Javaで開発されたWebアプリケーションの実行・運用基盤を提供するアプリケーションサーバ製品だ。最新のCosminexusのバージョン8.5では、仮想化環境における構築・運用を支援する機能を提供している。以下で、その内容を3つの視点に分けて紹介しよう。
【設計フェイズ】
仮想化環境での限られたメモリにおける「Full GC」の発生を抑止
前述のように、仮想化環境では高性能なサーバ機の大容量物理メモリを利用したスケールアップが可能になる。一方で、仮想サーバ上で稼働するアプリケーションがこの大容量のメモリをうまく使いきれるか、不安に感じるユーザーも多い。
特に、Javaアプリケーションでやっかいなのが、「Full GC」と呼ばれる現象だ。「Full GC」が起きると、アプリケーションの処理は止められて、JavaVMによるメモリの大掃除が行われる。物理メモリが大量にあるからといって、安易にこれを仮想サーバに割り当てると、ひとたび「Full GC」が発生した場合の停止時間が長くなり、レスポンス低下による被害が大きくなるという事態を招きかねない。この問題を解決するため、Cosminexusは以前のバージョンから「Full GCレス」という機能を搭載している。詳しくは、記事「止まることの許されないWebシステムが抱える宿命への回答とは」を参照されたい。
また、今回リリースされた新バージョンでは、この「Full GCレス」機能がさらに強化された。前バージョンでは、Eヒープ領域に自動的に退避できるのはセッションオブジェクトのみで、そのほかのオブジェクトをEヒープ領域に退避するには、APIを通じたプログラミングが必要だった。しかし新バージョンでは、これをプログラミングレスで実現できるようになった。これにより、Hibernateなどのフレームワークが扱うオブジェクトも対象に含まれるため、「Full GC」の発生をより確実に防止できる。
特に、物理サーバ環境と比べメモリ使用状況の予測しにくい仮想サーバ環境では、この機能は重宝するだろう。大規模なアプリケーションでも、「Full GC」によるレスポンス低下を気にすることなく仮想化環境へ移行できるようになるのだ。このような安定した実行環境があれば、システムの設計時にも工数を削減できる。
【構築フェイズ】
仮想サーバの詳細な設定を一括で自動に行い、設定ミスを防ぐ
仮想化環境に特有の作業として、仮想サーバの環境設定がある。ある程度の規模の業務システムになると、複数の仮想サーバに処理を分散させるため、同じ環境設定の仮想サーバイメージを複数作成し、実装する必要がある。
仮想化ソフトウェアの機能を使えば、仮想サーバの基本的なイメージは比較的容易に作成・コピーできる。しかし、OSやミドルウェア、アプリケーションなどの詳細な設定は、1台1台手作業で行う必要がある。これでは、時間がかかるうえに、設定ミスが発生するリスクも高くなってしまう。一度アプリケーションの運用を開始した後、スケールアウトするために仮想サーバを追加する場合などには、特に設定ミスが発生しやすいだろう。
Cosminexusの新バージョンでは、こうした環境設定を一括して行う機能が追加された。同製品に含まれる「Cosminexusマネージャ」というツールを使えば、業務アプリケーション単位で各仮想サーバの環境設定が一括で可能だ(図2)。また、各仮想サーバに固有の設定も、ツールを使って自動実行できる。こうした機能は、Cosminexusマネージャと仮想化ソフトウェアの管理ツールとの連携によって実現されたものだ。
図2 業務アプリケーション単位で各仮想サーバの環境設定を一括して行う |
ユーザーは仮想サーバ1台1台を個別に設定するのではなく、Cosminexusマネージャで各仮想サーバ共通のマスタイメージを作成し、自動設定するだけで済むようになる。また、設定・構築済みの仮想サーバを一括起動することも可能だ。これにより、仮想サーバの設定、構築、起動がミスなく、極めて短時間の内に実行できるようになる。
【運用フェイズ】
仮想サーバの構成・運用をGUIツール上で業務アプリケーションごとに管理可能
前述のように、業務アプリケーションを複数の仮想サーバに分散させて処理するようになると、「それぞれのアプリケーションがどの物理サーバ、どの仮想サーバで動作しているのか」を管理するのが煩雑になってくる。
アプリケーションを更新するためにサーバを停止/起動する例で考えてみよう。従来は、業務アプリケーションを構成する物理サーバを把握しておき、それらを一斉に起動/停止するだけで事足りた。しかし仮想化環境では、これを仮想サーバ単位で行わなくてはいけないため、事態は一気に複雑化する。
例えば、生産管理アプリケーションをリリースした時には、物理サーバA上の仮想サーバAと、物理サーバB上の仮想サーバBと、物理サーバC上の仮想サーバCが稼働していたとしよう。しばらくして、アプリケーションを更新しようとしたときに、この構成が物理サーバ環境のように静的なものであればいいが、仮想化環境では必ずしもそうはいかない。サーバ管理者が行った稼働率調整により仮想サーバAは物理サーバCで動作しているかもしれないし、ハードウェアメンテナンスにより仮想サーバBは、まったく別の物理サーバ、例えば物理サーバDで動作しているかもしれない。こうなると、これまでのような物理サーバ単位でアプリケーションを管理していた手法では、手が回らなくなってしまう。
このような課題を解決するため、Cosminexusの新バージョンではCosminexusマネージャを使って、物理サーバと仮想サーバの構成を業務アプリケーションごとに管理できるようになっている。各物理サーバ/仮想サーバの配置情報や構成情報を、「管理ユニット」という単位で業務アプリケーションごとにまとめ、GUIツール上で一括して管理できる。先ほどの例でいえば、「生産管理アプリケーションを構成している各仮想サーバが、現時点で、どの物理サーバで動作しているか」を一目で確認でき、かつ一括で起動/終了できるようになるのだ(図3)。
図3 各仮想サーバが、どの物理サーバで動作しているかを一目で確認できるCosminexusマネージャの管理画面 |
こうした機能を活用すれば、仮想化環境の運用管理作業を大幅にシンプル化できるはずだ。作業がシンプルになれば、作業ミスが減るばかりでなく、運用管理コストの削減も自ずと期待できる。
また、Cosminexusはもともと、日立の統合システム運用管理「JP1」とも連携でき、日々の運用監視で物理サーバと仮想サーバの稼働状況を把握して異常を素早く検知し、業務アプリケーション単位で対応することが可能だ。さらに、JP1のジョブ管理機能で、通常の運用は業務アプリケーション単位で自動実行もできる。
知っておきたい、仮想化対応した |
||
このように、Cosminexusでは仮想化に対応した数々の機能を提供する。日立では、業務アプリケーションを仮想化環境で本格運用する際に何が実際に問題となっているのか、ユーザー企業にヒアリングを行い、その結果を基にこれらの機能を開発したという。仮想化を本格導入したものの、運用管理の煩雑さに泣かされている企業にとっては、まさに痒いところに手が届くソリューションだといえるだろう。
また、ミドルウェアが提供するアプリケーション基盤で仮想化に付随する処理を吸収するため、アプリケーション本体には手を加えることなく、物理サーバ環境から仮想サーバ環境へ移行できる。そのため、これから仮想化環境を導入して既存システムを移行しようと考えている企業にとっても導入メリットは大きいだろう。
Cosminexusは日立の「Virtage」をはじめ、ヴイエムウェアの「VMware」やマイクロソフトの「Hyper-V」といった各ハイパーバイザ環境での動作をサポートしており、そのいずれにおいても「JP1」と連携した高度な運用管理を、物理サーバ環境と同様に実現することが可能だ。なお、本稿で紹介した同製品の仮想化関連の管理機能は、現時点(2010年2月)ではヴイエムウェアの「VMware」と連携しており、近い将来には、ほかのハイパーバイザにも対応する予定だという。
ちなみに、Cosminexusでは仮想化関連の機能だけではなく、レガシーシステムとの連携強化など、これまで定評のあったSOAのサービス連携機能をさらに充実させている。また、実世界で発生する大容量のデータをリアルタイムに収集・解析するストリームデータ処理や、Webテレコム(NGN)との連携など、最新技術を積極的に取り入れた機能も備えている。こうした分野に興味がある方も、ぜひCosminexusが提供する最新のソリューションに触れてみることをお勧めしたい。
本セミナーでは、経営スピードの向上ならびにシステム構築の生産性向上を実現したお客様やパートナー様の事例、関連する多様なソリューションについて数多くご紹介します。また、展示コーナーでは、セミナーでご紹介した各種製品の最新機能を具体的に実感いただくほか、パートナー企業様との連携ソリューションも合わせてご覧いただくことができます。是非ご参加下さい。
|
提供:株式会社日立製作所
アイティメディア 営業企画
制作:@IT 編集部
2010年03月02日
Cosminexus Day セミナー | ||||||
|
関連リンク | ||||||||||
|
@IT関連記事 | ||||||||||||||||||
|