クラウド時代こそ、エンドユーザーの観点が不可欠ビジネス視点の運用管理(3)(1/2 ページ)

クラウドコンピューティングの活用例が増え続ける一方で、システムのパフォーマンス管理に問題を抱える企業も増加している。ではクラウド環境にあるシステムを安定的に活用するためにはどんな管理が必要なのか? ここでも“エンドユーザーの観点”が役立つ。

» 2011年04月28日 12時00分 公開
[福田 慎(日本コンピュウェア ),@IT]

 IT業界には数年ごとにいろいろな“ブーム”が起きますが、ここ数年のブームは間違いなくクラウドコンピューティングでしょう。現時点では、企業内の重要なシステムにまでクラウドを採用しているケースはまれですが、「本格的な検証に入った」あるいは「一部のシステムに試験的に導入した」例は数多くあり、遅かれ早かれ、多くの企業が導入を検討しなければならない時期が近づいていると思います。

 しかし、実際に導入した企業からは、システムのパフォーマンスに関する複数の問題が報告されており、今後クラウド環境の運用管理に対する注目はますます高まっていくと思われます。そこで今回は、「クラウド活用における、エンドユーザー体感監視=APMの重要性」について紹介したいと思います。

クラウド環境の運用管理の難しさ

 SaaSPaaSHaaS/IaaS、といったクラウドサービスの導入は、社内のIT部門の役割を大きく変える可能性があります。例えば、従来のように社内にサーバ群を設置して、その上でソフトウェアを稼働させている場合には、ソフトウェアやハードウェアの管理はIT部門の重要な任務の一つでした。しかしクラウドサービスを利用するようになると、そうした管理はクラウドプロバイダが担うようになります。IT部門は日々の運用管理という“雑務”から解放され、より生産的な業務に集中できるようになるとも言われています。

 しかし遠い将来ならともかく、今日のクラウドサービスでは全てをクラウドプロバイダに任せて安心できるほど完璧ではありません。少なくとも現時点でのクラウドサービスには、「エンドユーザーから見たパフォーマンス」という面において複数の懸念事項があります。

 その懸念事項とは、多くの場合、クラウドコンピューティングを支えている仮想化技術に由来しています。

 例えば、仮想環境では「あるゲストOSのCPU使用率が高くなった場合、そのゲストOSに優先的にCPUリソースを割り当てる」といった設定を行うことができます。また、「あるホスト(物理サーバ)の負荷が一定以上になった場合、他のホストにゲストOSを移動させて、そのホストの負荷を軽減させる」ような処置も行われます。さらにこれらは、設定によっては全て自動的に行われます。“必要なとき、必要なだけ、ITリソースを使える”クラウドコンピューティングは、こうした仮想化技術が支えているのです。

 しかし、以上のような仮想化技術も、「パフォーマンス管理」という視点で見ると、さまざまな問題をはらんでいます。

 例えば、前述のように、「あるホスト(物理サーバ)の負荷が一定以上になった場合、他のホストにゲストOSを移動させて、そのホストの負荷を軽減」させた場合、この動作によって負荷が軽くなった物理サーバはパフォーマンスが改善するはずです。一方、負荷が重くなったサーバはパフォーマンスが悪化するでしょう。しかもこうした動作が、設定によっては自動的に行われるのです。

 これは今までのオープン系のITシステムでは考えられなかったことです。従来のITシステムは、ほとんどの場合、そのシステム専用の物理サーバを用意し、実稼働に入った後は、そのサーバに手を加えることは極力避けるのが常識でした。従って、いったんサービスが安定運用に入れば、パフォーマンスに問題が起こっても、 その原因をサーバの外部に求めて対処してきました。具体的には、ユーザー数の増加や、ネットワークの遅延などです。

 しかし仮想環境では、サーバの外部環境に変化がなくても、「自動的なリソース追加」「システムの移動」などにより、突然サーバやその上で稼働しているソフトウェアのパフォーマンスが悪化する(場合によっては改善する)可能性があるのです。これはシステムの運用管理を行う立場からすると、管理が複雑になり、安定的な運用も難しくなることを意味しています。

共有されるリソース、所在のあいまいさが管理を複雑に

 では、以上のことを踏まえた上で、「クラウド環境におけるパフォーマンス管理の懸念事項」を考えてみましょう。大きく分けて、問題は3つあります。

マルチテナント

 1つはマルチテナントのクラウド環境に起因する問題です。前述のように、クラウド環境では基本的に全てのサーバが仮想化され、1台の物理サーバ上に複数の仮想サーバが共存しています。プライベートクラウドの場合は“自社内の複数システム”、パブリッククラウドの場合は“複数の企業の、複数のシステム”が同一サーバ内で稼働することになります。これが「マルチテナント」です。

 一方、ネットワークなどのインフラ、一部のソフトウェアは複数のシステムで共有されます。具体的にどの部分がどう共有されているかはクラウド環境によって異なります。例えば、SaaSの場合はデータベースやアプリケーションなども共有していることが多いため、共有のレベルが高いと言えますが、IaaSは物理サーバは共有しているものの、その上のOS、実行環境などはシステムごとに分かれている点で共有のレベルは比較的低いと言えます。

ALT 図1 「複数のシステムが同一の物理サーバ上に共存し、インフラやリソースを共有している環境」では、あるシステムの負荷状態が他のシステムのパフォーマンスに直接影響することになる

 ただ、いずれのケースにおいても、「複数のシステムが同一の物理サーバ上に共存し、インフラやリソースを共有している環境」では、あるシステムの負荷状態が他のシステムのパフォーマンスに直接影響することになります。

 そうしたパフォーマンスの悪化(場合によっては改善)が、自動的な設定、環境の変更によって突然起こり得ることが、クラウド環境にあるシステムのパフォーマンスを管理する上で最も大きな課題なのです。

場所の問題

 また、パブリッククラウドを利用している場合、自社のシステムがどこのデータセンターで稼働しているのかを特定することが難しい上、その場所が変わることもあります(この点はクラウドプロバイダによって異なります。小規模なプロバイダや、プライベートクラウドの場合は場所がはっきりしていることもあるでしょう)。これはクラウドプロバイダ側の運用次第でパフォーマンスが変わることを意味しています。

 なお、「クラウドサービスを提供している場所」がパフォーマンスに与える影響は、一般的に想像される以上に大きいようです。私が在籍しているコンピュウェアでは、主要なクラウドサービスのパフォーマンスを計測すべく、「CloudSleuth」というコミュニティサイトを立ち上げています。そのサイト上では、弊社が世界中に設置した計測拠点から、各クラウドサービス上に置いたWebサイトに定期的にアクセスして、そのレスポンスタイムを計測した結果を公開しているのですが、以下の図2のように地域によってレスポンスタイムが大きく異なることが珍しくないのです。

ALT 図2 主要なクラウドサービスのパフォーマンスを計測すべく、コンピュウェアが運営している「CloudSleuth」というコミュニティサイト。世界中に設置した計測拠点から、定期的にクラウド内に置いたWebサイトにアクセスし、そのレスポンスタイムを計測している

 もちろん、これは「クラウドサービスを提供している場所がパフォーマンスに影響を与える」ことを示す一つの根拠に過ぎません。しかし、弊社の計測結果を基に考えれば、ITの世界では「世界は小さくなった」と言われ、国内、国外といった“場所の違い”はもはや意味をなさないかのように考えられがちですが、「エンドユーザーから見たパフォーマンス」という意味では、必ずしもそうではないと言えるのではないでしょうか。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ