コンピューターで作業するプログラマーのグループ

アプリケーション仮想化とは

アプリケーション仮想化の定義

アプリケーション仮想化は、私たちの日常のコンピューティング生活に影響を与えています。Netflixで映画をストリーミングしたり、リモートで会社のソフトウェアにアクセスしたり、クラウドベースのビデオゲームをプレイしたりすることは、すべて仮想化アプリケーションに依存しています。

従来のソフトウェア展開と管理では、アプリケーションは個々のデバイスに直接インストールされるため、拡張性がありません。アプリの仮想化は、複数のユーザーが、場所やデバイスの種類(デスクトップ、ノートPC、タブレット、モバイル・デバイス)の制限なしに、どこからでも中央サーバーにインストールされたソフトウェアにアクセスできるようにすることで、この問題を解決します。

企業環境では、このアプリケーション仮想化テクノロジーによってIT管理が合理化され、セキュリティーが向上し、リモートワークが可能になります。クラウド駆動型アプリケーションが組織の運用方法が中心となっているため、一元的なアプリケーション管理によりITワークロードが軽減され、分散した労働力全体でのソフトウェアのデプロイメントが加速されます。

Grand View Researchによると、世界のアプリケーション仮想化市場は2023年に34億3,000万米ドルと評価されました。2030年には84億米ドルに達し、年平均成長率(CAGR)14.3%で成長すると予測されています。¹クラウド・コンピューティングの採用とリモートワークへの移行が、この成長の主な要因です。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

アプリケーションの仮想化の仕組み

アプリケーション仮想化の仕組みを理解するには、それを可能にする中核テクノロジーである仮想化を理解することから始めましょう。

仮想化では、ハイパーバイザーと呼ばれるソフトウェア(例:Microsoft Hyper-V)を使用して、コンピューターのハードウェア上に抽象化レイヤーを作成します。このアプローチにより、アプリケーションやワークロードは、VMwareが提供するような仮想マシン(VM)上で独立して実行できるようになります。

従来、アプリケーションはコンピューター・ハードウェア上のホスト・オペレーティング・システム(通常はLinux )と直接通信していました。アプリケーション仮想化によって、その関係性が変わります。仮想化層はアプリとOSの間に配置され、基盤となるシステムに直接触れることなく、リクエストをインターセプトし、アプリケーションに必要なランタイム環境を提供します。

アプリケーションをバーチャル・デリバリーに対応させるには、シーケンスと呼ばれるプロセスが必要です。ITチームは、アプリケーションとそのファイル、設定、依存関係、レジストリ・エントリーを1つのポータブル・イメージにパッケージ化します。その後、それらの画像が中央サーバーから許可されたデバイスに配信されます。また、各アプリケーションは独立して隔離された仮想環境(またはサンドボックス)で実行されるため、他のアプリケーションや基盤となるオペレーティング・システムに干渉することなく、隔離された状態を維持できます。

アプリケーション仮想化はコンテナ化と似ているように聞こえるかもしれないが、この2つは異なるテクノロジーです。コンテナは、OSライブラリを含むランタイム環境全体をパッケージ化しますが、アプリケーションの仮想化はアプリをOSから分離します。

仮想化されたアプリケーションは、リモート・サーバー上で完全に実行できるため、ユーザーは自分のデバイスからインターフェイスにアクセスするだけで済みます。デプロイメント・アプローチによっては、ローカルに保管(またはキャッシュ)された参考情報を使用して、クライアント・デバイス上でローカルで実行することもできます。

IBM Power

IBM Powerによるモダナイゼーションとオートメーション

IBM Powerがアプリケーションのモダナイズにどのように役立つかについて、IBM Powerハイブリッドクラウド・プラットフォームのSTSMでIBMマスター・インベンターのJoe Cropperがデモを交えて説明します。

仮想アプリケーションの配信方法

アプリケーション仮想化は、いくつかの方法で実現できます。

  • サーバーベースのアプリケーション仮想化
  • アプリケーション・ストリーミング
  • ローカル・アプリケーション仮想化
  • 完全仮想化および部分仮想化
  • グラフィックス処理装置(GPU)の仮想化

サーバー・ベースのアプリケーション仮想化

単一の物理サーバー上に複数の仮想マシンを作成するサーバー仮想化とは異なり、このアプローチでは、アプリケーションはすべてデータセンター内のサーバー上で実行します。その後、ユーザー・インターフェイスのみをクライアント・デバイスに送信します。ユーザーはローカルにインストールされているかのようにアプリを操作し、すべての処理はサーバー上で行われます。

この方法は最も一般的なエンタープライズ・アプローチであり、IT管理チームにソフトウェアのデプロイメントと更新に関する一元的な権限を与えます。また、シン・クライアントおよびリモート・ユーザーのデスクトップ環境にも対応しており、全体的なハードウェア・コストを削減します。例えば、医療分野では、臨床スタッフがローカルに何かをインストールすることなく、ネットワーク上のどのデバイスからも患者記録ソフトウェアにアクセスできます。

アプリケーション・ストリーミング

アプリケーション・ストリーミングでは、アプリはサーバー上に存在し、アプリケーション仮想化ソフトウェアを通じて、オンデマンドでエンド・ユーザーのデバイスに小さなソフトウェア・コンポーネントを送信します。必要なときに必要なものだけを取り出せます。

ローカル・アプリケーション仮想化

ここでは、アプリケーション全体がエンドポイント・デバイス上で実行されますが、ネイティブ・ハードウェア上で直接実行されるのではなく、ランタイム環境の中で実行されます。

これは、ユーザーがオフライン・アクセスを必要とする場合や、ネットワーク接続の信頼性が低い地域で操作する場合に適しています。例えば、インターネット接続が不安定な場所から会社のアプリにアクセスするリモートワーカーは、この方法に頼るかもしれません。

完全および部分仮想化

すべてのアプリケーション仮想化が同じように機能するわけではありません。完全な仮想化はアプリケーション環境全体を対象とし、最高レベルの分離性と互換性を提供します。規制の厳しい業種・業務の組織は、厳格なセキュリティーとコンプライアンスの要件を満たすためにこのストラテジーを使用することがよくあります。

部分仮想化では特定のコンポーネントのみを分離し、一部の参考情報がホスト・システムと共有されます。この軽量なアプローチは、分散したチーム間で数百種類のアプリケーションを管理する大規模なエンタープライズ環境など、完全な分離が必要なく、参考情報の効率が優先される場合に適しています。

グラフィックス処理装置(GPU)の仮想化

人工知能(AI) とグラフィックス集約型ワークロードにより、 GPU 仮想化はアプリケーション配信やAIインフラの重要な側面となっています。

組織は、すべてのデバイスに専用のグラフィックス・ハードウェアを装備するのではなく、中央サーバーから仮想化されたGPU参考情報を複数のユーザーやアプリケーション間で共有できます。このアプローチにより、AI推論データの可視化など、コンピューティング負荷の高いワークロードを、通常であればそれをサポートするハードウェアが不足しているエッジデバイスで実行することが実行可能となります。

AIワークロードを大規模に実行する組織にとって、処理を一元化しておくことは、デバイス間を流れるデータ量を減らすことにより、AIストレージのサポートにもつながります。

アプリケーション仮想化のメリット

アプリケーション仮想化は、次のようなメリットを通じて、組織がビジネス価値を実現するのに役立ちます。

  • 一元管理:ITチームは、数百、数千の個々のデバイスにソフトウェアをインストール、更新、パッチを適用するのではなく、アプリケーションを単一の場所から一元管理します。この設定により、管理が簡素化され、ITスタッフの負担が軽減されると同時に、すべてのユーザーが常に最新バージョンを実行できるようになります。
  • コスト削減:一元管理によりコスト削減が最適化され、組織はハードウェアとソフトウェアのライセンス費用を減らすことができます。シン・クライアント、リモート・デスクトップ・サービス、その他の低コストのデバイスで高価なワークステーションを置き換えることができ、ITチームは小規模なスタッフでより多くの成果をあげることができます。
  • 柔軟性と拡張性:組織の成長やワークロードの需要変化に応じて、仮想アプリケーションは物理インフラストラクチャーを介さずに迅速にプロビジョニングまたはプロビジョニング解除できます。プロビジョニングに加えて、地理的な拡張やリモート・チームの追加も、追加のハードウェアやIT部門による介入なしで実行できます。
  • セキュリティーの強化:アプリケーションを隔離された環境で実行し、データを個々のデバイスではなくサーバー上に保持することで、攻撃対象領域が縮小されます。各アプリはそれぞれ隔離されたサンドボックス内で実行されるため、マルウェアがアプリケーションから別のアプリケーションに広がったり、基盤となるオペレーティング・システムに到達したりすることはありません。例えば、デバイスの紛失や盗難にあった場合でも、機密データが危険にさらされることはありません。ITチームは、物理デバイスを見つけられなくても、リモート・アクセスに関連付けられた権限を即座に取り戻すことができます。
  • 主権:アプリケーションの仮想化は、アプリケーションの処理を一元化し、定義された地理的または規制的境界内に収めることで、データ主権ソブリン・クラウドのイニシアチブをサポートします。複数の地域にまたがって事業を展開している組織や、規制の厳しい業種・業務に属する組織にとって、このアプローチは、機密性の高いワークロードが、アクセシビリティをサポートしながら、各地域のデータ・レジデンシーに関する法律に準拠できることを意味します。
  • ポータビリティ:仮想化されたアプリは、事実上あらゆるデバイスやオペレーティング・システムで実行できるため、ユーザーはどこからでも自由に作業できます。このアプローチは、リモートワークやハイブリッド・ワーク・モデルをサポートします。
  • 互換性:アプリケーション仮想化により、組織は異なるオペレーティング・システムやハードウェアでアプリケーションを実行できるため、アプリケーション同士やホストOSとの競合で発生する互換性の問題を軽減できます。この機能には、オンプレミスのレガシー・ソフトウェアを、エッジ環境などの最新のITインフラと一緒に、それぞれのプラットフォームを変更することなく実行することも含まれます。

アプリケーション仮想化とデスクトップ仮想化の比較

アプリケーション仮想化とデスクトップ仮想化は関連するタイプの仮想化ですが、それぞれ動作が異なります。

  • デスクトップ仮想化は、OS、アプリ、データを含むデスクトップ環境全体を中央サーバーでホストし、デバイスを問わずユーザーのコンピューターに完全な仮想デスクトップを提供します。
  • アプリケーション仮想化は、より具体的なアプローチです。この場合、アプリのみが仮想化され、ユーザーのデスクトップまたは他のデバイス上のOSにはそのまま残るため、軽量化され、展開も迅速になります。

仮想デスクトップインフラストラクチャー(VDI)は、最も一般的なデスクトップ仮想化手法であり、各ユーザーに専用の仮想マシンと独自のオペレーティング・システムを提供します。アプリケーション仮想化はこのレイヤーを完全にバイパスするため、インフラストラクチャー・リソースの需要が削減されます。

これら2つのテクノロジーは相互に排他的ではないことに注意してください。多くの組織は、アプリケーション仮想化を、より大規模なデスクトップ仮想化のストラテジーの一部として使用します。例えば、小売企業では、デスクトップ仮想化を使用して、コールセンターのエージェントに完全な仮想デスクトップを提供する場合があります。その後、アプリケーション仮想化を使用して、現場スタッフのデバイスに単一の請求アプリを配信できます。

アプリケーション仮想化のユースケース

アプリケーション仮想化は、以下のようなビジネスおよびテクノロジー固有のさまざまなユースケースをサポートします。

  • リモートワークと個人所有デバイスの業務使用(BYOD)
  • アプリケーションのモダナイゼーション
  • DevOpsとテスト
  • Software as a Service(SaaS)の提供
リモートワークとBYOD(個人所有デバイスの業務使用)

ハイブリッドワークとリモートワークは、従業員が業務アプリケーションを操作する方法を変えました。アプリケーション仮想化により、ユーザーは、BYOD(個人所有デバイスの業務使用)イニシアチブにより、個人のノートPC、タブレット、モバイル・デバイスなど、どこからでもアプリケーションにアクセスできるようになります。このアプローチでは、IT部門が個々のデバイスをすべて管理する必要はありません。

アプリケーション仮想化により、ユーザーは、個人所有デバイスの業務使用(BYOD)イニシアチブにより、どこからでも、個人のノートPC、タブレット、モバイル・デバイスからアプリケーションにアクセスできるようになります。この方法は、IT部門が個々のデバイスをすべて管理する必要なく実現できます。

アプリケーションのモダナイゼーション

多くの組織は、クラウドネイティブ・アプリケーションに加えて、既存のレガシー・アプリケーションにも依存しています。アプリケーション仮想化では、コストのかかる書き換えを行うのではなく、古いソフトウェアを新しいアプリケーションと並行して隔離された環境で実行することで、古いソフトウェアをそのまま維持します。このアプローチはアプリケーション・モダナイゼーションのイニシアチブをサポートします。

DevOpsとテスト

DevOpsチームやその他のチームは、基盤となるハードウェアを必要とせずに、異なるオペレーティング・システムや構成にまたがる仮想化アプリケーション環境を起動できます。このアプローチにより、開発ライフサイクル全体を通してテスト・サイクルが短縮され、環境関連の問題が軽減されるため、チームはより迅速にアプリを提供でき、ユーザー・エクスペリエンスが向上します。

Software as a Service(SaaS)の提供

ほとんどのSaaSアプリケーションは、仮想化技術を利用して、インターネット経由であらゆるデバイスにソフトウェアをホストおよび配信しています。今日の組織は、アプリケーション仮想化をSaaSツールと併用して、まだクラウド・ネイティブではないアプリケーションへのアクセスを拡張しています。このアプローチにより、Amazon Web Services(AWS)、IBM Cloud、Microsoft Azure、Google Cloudなどのプロバイダーがサポートするクラウド配信モデルへの移行が容易になります。

アプリケーション仮想化ソリューション

組織は、さまざまなソフトウェア・プラットフォームとツールを通じてアプリケーションの仮想化を採用します。通常、既存のインフラストラクチャー、セキュリティ要件、およびデプロイメントにおける拡張性の要求に基づいてソリューションを選択します。

一般的なソリューションには、デバイス間でアプリを一元的に配信するCitrix Virtual Apps and Desktopsや、Windowsベースのパッケージングおよび配信ツールであるMicrosoft App-Vなどがあります。IBM FusionやVMwareなどの広範なプラットフォームは、より広範なハイブリッド・クラウドストラテジーやアプリケーション近代化ストラテジーの一環として、アプリケーション仮想化をサポートしています。

執筆者

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

関連ソリューション
IBM Storage Fusion

AI、VM、コンテナ・ワークロードのストレージ、保護、オーケストレーションを統合することで、より高速かつ高いレジリエンスを備えたオペレーションを実現します。

IBM Storage Fusionはこちら
ハイブリッドクラウド時代のストレージ仮想化

IBM Spectrum Virtualizeで、オンプレミスとクラウドをシームレスにつなぎ、データをより柔軟に管理します。

Spectrum Virtualize for Public Cloudの詳細はこちら
IBMインフラストラクチャー・サービス

IBM Systemsのサーバーおよびストレージに関する包括的な技術的専門知識

IBMインフラストラクチャー・サービスはこちら
次のステップ

統合データ・サービスと仮想化でインフラストラクチャーを強化し、ハイブリッド環境全体で柔軟かつ高性能なワークロードを実現します。

  1. IBM Storage Fusionの詳細はこちら
  2. IBM 仮想化ソリューションの詳細はこちら