“仮想化”という言葉を聞くとまず思い浮かぶのが「サーバー仮想化」や「ストレージ仮想化」、「デスクトップ仮想化(仮想デスクトップ)」という方は多いと思います。そして、この仮想デスクトップとともに、今、多くの企業で「アプリケーション仮想化(仮想アプリケーション)」を検討・導入するケースが増えています。
今回はそのアプリケーション仮想化とは何なのか?どのようなメリットがあるのか?いくつかのポイントに分けその基本を解説していきたいと思います。
あらゆるものが仮想化される
ITを構成するほぼすべてのコンポーネントが仮想化することが可能になりつつあります。仮想化とは、ハードウェアの物理環境(CPU、メモリ、ストレージなど)に囚われず、リソースを論理的(実体なく)に分割・統合するための技術です。
たとえばサーバー仮想化なら1つの物理的なサーバーを論理的に分割し、複数の仮想サーバーを構築してそれぞれを単独で稼働させることができます。ストレージ仮想化なら複数の物理的ストレージを論理的に統合し、仮想ストレージ(ストレージプール)を構築することであたかも一つのストレージであるかのように稼働させることが可能です。
一般的に仮想化技術を使うことでリソースを複数環境で共有できるため利用効率を高めることができます。そして、今、企業が使うデスクトップ環境を仮想化する仮想デスクトップやアプリケーションを仮想化するアプリケーション仮想化が多くの企業に導入されようとしています。
アプリケーション仮想化とは
では、物理的環境に囚われないのが仮想化ならば、アプリケーション仮想化とは何なのでしょうか?
アプリケーション仮想化とは、これまでクライアントPCごとにインストールされ、稼働していたアプリケーションをサーバーに集約し、それを自由な形で配信・制限できる技術です。例えば、皆さんが普段利用しているMicrosoft Officeを思い浮かべてください。このアプリケーションはそもそもクライアントPCへインストールして利用するものですが、アプリケーション仮想化ではクライアントPCではなくサーバーにインストールされます。
ユーザーはサーバーにインストールされたMicrosoft Officeを呼び出す(画面だけを転送する)ことで、デスクトップ上で使用できるという仕組みです。もちろんMicrosoft Officeだけでなく、Webブラウザや最近では技術の発展にともないCAD/CAEアプリケーションなど高度なグラフィックソフトウェアも仮想アプリケーションで利用している企業も多くなっています。
アプリケーション仮想化とデスクトップ仮想化との違いは?
アプリケーション仮想化に似た概念を持つのがデスクトップ仮想化(仮想デスクトップ、VDI)で、何が違うのか少々混乱している方もいらっしゃるかもしれません。
しかし違いは至ってシンプルであり仮想デスクトップはデスクトップごと(Windows OSなどを含めてすべて)サーバー上で稼働しているのに対し、アプリケーション仮想化はOS以下のレイヤで切り離されて仮想化されます。広義の意味では仮想デスクトップもアプリケーションの仮想化ということになります。つまり、仮想デスクトップとアプリケーション仮想化の違いは、まるごと(OS含めて)か一部(アプリケーション)かの違いということです。
アプリケーション仮想化のメリット
アプリケーション仮想化によるメリットをいくつか簡単にまとめておきます。
OS環境に依存せずアプリケーションを利用できる
例えばMicrosoftの最新OSであるWindows 10へ移行したくても、現在利用しているアプリケーションが古いため最新OSに対応していないというケースがあったとします。
アプリケーションを刷新すれば問題ないのでしょうが、業務に馴染んでいるものをむやみに変更するのは労働生産性の低下になる可能性もあり危険です。また、OSを最新にすることで旧来使っていたアプリケーションが動作しなくなったり、挙動がおかしくなったりすることも考えられます。
企業にとっては数十、数百あるアプリケーションの動作確認を新しいOSで試すのも相当な労力がかかります。そこでアプリケーション仮想化を利用するとOS環境に依存させずにアプリケーションを稼働できるため、古いアプリケーションを最新OSでも使用することができるようになります。
これにより既存アプリケーションを使い続けたり、古いOSを使い続けたり資産継承問題をクリアできます。
ユーザーの生産性向上
今まで従業員やユーザーは、最新のアプリケーションに保つためにセキュリティパッチの適用や最新版のインストールなどをユーザー自身で行っているケースがありました。それをサーバー側に集約することで管理者が設定した最新の状態を常に利用することが可能になるためユーザーは本来の業務に集中することが可能になります。
また、企業としてもセキュリティレベルを保ったりコンプライアンスやガバナンスを強化できるというメリットがあります。
ユーザー単位で制限をかけられる
セキュリティ対策上ユーザーの役職や業務によりアプリケーションにアクセス制限をかけるのは重要なことです。しかしアプリケーションごとにアクセス制限をかけるとなるとかなり骨の折れる作業になる上に、管理が煩雑化してしまい制限漏れが発生しやすくなります。
そこでアプリケーション仮想化を導入するとユーザー単位でアプリケーションへのアクセス制限をかけられるようになるので、管理業務を効率化できます。たとえば設計部門のみにCADアプリケーションの利用権限を付与したり細かな権限管理ができるようになります。
環境の分離
サイバー攻撃の多様化・複雑化が深刻化しています。そこで企業や組織はインターネット環境と基幹ネットワークを分離するためにアプリケーション仮想化を活用するシーンが増えています。
たとえばインターネットをブラウジングするためのWebブラウザをアプリケーション配信することにより自身のPCは直接インターネット接続されていない状況においても、Webブラウザを仮想化しているサーバー経由でインターネット環境を利用することができます。
以上がアプリケーション仮想化の代表的なメリットです。それ以外にもシステム運用の効率化など仮想デスクトップ特有のメリットも持ち合わせています。
アプリケーション仮想化の注意点
アプリケーション仮想化にも注意点がいくつかあります。基本的には仮想デスクトップ同様ですが、ここにまとめておきます。
ネットワーク環境の整備が必要
こちらもこれまで個々に分散されていたアクセス負荷がサーバーに集約するので、ネットワーク帯域が切迫する可能性がありアプリケーションのパフォーマンスが低下する可能性があります。企業のネットワーク周りを強化して極力低下させないための対策が必要です。
サーバー障害がシステム全体に影響を及ぼす
通常のアプリケーションは、自身のデスクトップPCで動作するため障害が発生しても自分が使えなくなるだけです。しかし、アプリケーション仮想化では、すべてがサーバーに集約されるため、障害が発生すると利用者全員が影響を受けることになります。こうした視点から見てみると、これまで以上に管理体制の強化を図ることが必要になるでしょう。
アプリケーション仮想化は製品選定が重要
アプリケーション仮想化の効果を最大限引き出しつつ、注意点に対ししっかりと対策を取るためには製品選定が非常に重要です。つまりアプリケーション仮想化の課題点を深く理解した上でシステムを設計しているベンダーを選ぶことが、導入成功のための第一歩となります。ちなみに、マイクロソフトがAzure上でサービスとして提供するAzure Virtual Desktop(旧Windows Virtual Desktop)(AVD) は、クラウドで実行される包括的なデスクトップおよびアプリケーション仮想化サービスとして多くの企業や組織に注目されています。