論理分割(LPAR)方式の仮想化

アプリ/サーバー環境を仮想化する手法はさまざま一言で仮想化技術といっても、用途に応じていろいろなものがあります。立場が異なれば、それぞれ異なる仮想化技術を必要とします。例えば、ホスティング事業者が必要とする仮想化技術と、ユーザー企業の情報システム部門が必要とする仮想化技術は、それぞれ異なります。ホス

上野 仁

2010年7月8日 20:00

アプリ/サーバー環境を仮想化する手法はさまざま

一言で仮想化技術といっても、用途に応じていろいろなものがあります。立場が異なれば、それぞれ異なる仮想化技術を必要とします。例えば、ホスティング事業者が必要とする仮想化技術と、ユーザー企業の情報システム部門が必要とする仮想化技術は、それぞれ異なります。

ホスティングの用途では、顧客ごとに独立したWebサイトを1台の物理サーバー上に構築できれば、それで十分です。これは、Apache HTTP ServerのVirtualHost(バーチャル・ホスト)機能などを用いることで、簡単に実現できます。ホスト名やIPアドレスの違いに応じて、アプリケーション側でリソースの振る舞いを切り替えるのです。わざわざ顧客ごとにマシン環境やOS環境を分ける必要はありません。

しかし、こうしたアプリケーション側での対応には、弱点もあります。例えば、アプリケーションの開発環境があらかじめ用意されたものに限定されるなど、機能面で制約が生じる場合があります。また、アプリケーションを共有することによって、あるWebサイト上での行動がほかのWebサイトに影響を与える可能性が生じるなど、セキュリティの面でも不安があります。

こうした問題を考慮して機能面での弱点が少ない方法を選ぶと、個別のユーザーやアプリケーションごとに独立したOS環境を構築することになります。こうした環境を実現するための仮想化ソフトの一例としては、米Sun Microsystemsの「Solaris Containers」や、米Parallels(旧SWsoft)の「Parallels Virtuozzo Containers」(オープンソース版は「OpenVZ」)などがあります。

企業内のシステムでは特に、多様なアプリケーションを1台の物理サーバーに統合するという需要から、独立したマシン環境やOS環境を運用できる仮想化製品が必要になります。実際、個々の業務システムごとに、ネットワーク構成やアプリケーションの稼働環境、ミドルウエアへの依存性などが異なっているのが現状です。

こうしたことから、異なるOS環境を1台の物理サーバーに統合できる仮想化機能が必要、ということになります。

図1: 独立したOS環境を稼働させる方式は汎用性が高い

特定アプリを仮想化する、抽象度の高いやり方もある

もちろん、企業情報システムにおいても、異なるOS環境を必要としないケースがあります。例えば、事務用途の特定業務アプリケーションです。全国各地に点在する営業窓口において商品の問い合わせや発注などに利用する定型的な業務システムや、エンドユーザーの生産性向上のためのオフィス・ソフトなどが、こうしたケースに相当します。

こうした特定業務のためのアプリケーションでは、ユーザー間のデータ保護だけを考慮しておけばよく、全ユーザーに全く同じOS環境が見えていても不都合はありません。こういった用途で使われる仮想化ソフトとしては、米Citrix Systemsのアプリケーション仮想化ソフト「XenApp」や、米GraphOnの画面情報端末ソフト「GO-Global」などがあります。

CPUが異なるサーバー間で同一のアプリケーションを動作させたい場合には、サーバーのハードウエアそのものを見えなくする仮想化手法も有効です。Javaや.NET Frameworkが相当します。特に、Java VM(Java仮想マシン)は、現状さまざまなOS上で動作しています。このため、Javaで開発したアプリケーションは、WindowsやLinux/UNIXなど各種の環境で動作します。

図1は、用途に応じた仮想化手法の住み分けを示したものです。図1の左にいけばいくほど、仮想化の粒度が荒く、抽象度が高くなります。一般的に、使用するアプリケーションを限定しない限り、抽象度が高くなるほど処理性能は低下します。抽象度が低くなるほど、物理サーバーの特性が反映されやすくなり、多くのアプリケーションで処理性能が高くなります。

性能の面では、図1の右側に示した、抽象度が低い仮想化手法が使いやすいといえます。一方、アプリケーションのバージョン・アップやOSのパッチ適用といったメンテナンスの手間を考えると、図1の左側に示した、抽象度が高い仮想化手法が使いやすくなる場面が出てきます。OSが1つしかない環境の方が、管理の手間が少なくて済みます。

性能や機能、他プラットフォームへの移行性、ソフトウエア管理の手間などを総合的に考えたうえで、適用する仮想化アーキテクチャを選択する、という使い分けがよいでしょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30