アプリケーション仮想化とは
アプリケーション仮想化とは、ユーザーが使用するアプリケーションを、ユーザーのパソコン上ではなくサーバ側で保管・配布するシステムです。ユーザー個々のパソコンにアプリケーションをダウンロードして使うのではなく、サーバ上にある1つのアプリケーションをユーザー全員で共有しているようなイメージです。
似たような概念でデスクトップ仮想化というものもあります。デスクトップ仮想化はパソコンのデスクトップ自体をサーバ側に集約して使うシステムですが、それがアプリケーション単位で行うことができるのがアプリケーション仮想化です。
アプリケーション仮想化には、2つの方法があります。
- サーバベースドコンピューティング(SBC)
- アプリケーションがサーバ側で実行されるしくみ。ユーザーのパソコンに送受信されるのは「キーボードやマウスの操作信号」と「ディスプレイ表示に必要な画面イメージ」のみ。
- アプリケーションストリーミング
- アプリケーションを単独で実行できるパッケージにして、ユーザーのパソコンに配布するしくみ。OSから独立した形でアプリケーションを起動できる。
アプリケーション仮想化ができた背景
通常、アプリケーションを起動すると、アプリケーションに必要なファイルやレジストリをOSが読み込んで画面を表示します。アプリケーションを仮想化すると、ファイルやレジストリがサーバ上の仮想アプリケーションとセットになっているので、OSとアプリケーションを切り離した形で起動させることができます。
そもそも、なぜOSとアプリケーションを切り離した方がよいのでしょうか。
冒頭で述べた、WindowsXPのサポート期限が終了した話を思い出してください。セキュリティが脆弱になるので、アップデートが必要になります。しかし、独自に開発して使用していたWebアプリケーションが新しいOSに対応していないということが起こります。したがって、そのアプリケーションを新しいOSに対応するように改修するか、全く新しいアプリケーションに移行するかのどちらかになります。
しかし、自社で開発したアプリケーションの改修には、場合によっては数百万、数千万のコストがかかります。また、全く新しいアプリケーションに移行するとなると、データの移行時間やユーザー教育のコストがかさむことがあります。アプリケーションを使い続けるために、特定の業務用として一部のパソコンをWindowsXPのまま使用を継続しているケースもあります。
アプリケーションを仮想化することによって、OSのバージョンに左右されることなくアプリケーションを使用することができます。したがって、企業のシステムを継続させるために非常に役に立つものなのです。
アプリケーション仮想化のメリット
OSとアプリケーションを切り離すことで、アプリケーションの継続性が保たれることが1つのメリットです。他にどのようなメリットがあるのでしょうか。
アプリケーションをサーバ側で一括管理できる
通常、アプリケーションのアップデートはユーザー個々人に任せられます。誰か一人でもアップデートを行っていないと、その脆弱性をついた攻撃を受けることがあります(一瞬の隙を狙った攻撃なので、ゼロデイ攻撃と呼ばれています)。アプリケーションを仮想化すると、アプリケーションのダウンロードからアップデートをサーバ側で管理できるので、パソコンの管理が容易になります。
セキュリティ面に優れている
アプリケーションはサーバ側で動いているので、ユーザー個人の端末にデータが残らないのが特徴です。社内のデータを個人で管理することがなくなるので、情報漏えいの危険性が低下します。
他の端末からアプリケーションを使用できる
ユーザー個人の端末にデータが残らないことにより、リモートワークの可能性が広がります。個人のスマートフォンやタブレットから社内のデータを参照できるので、いつでもどこでも仕事ができる環境を作ることができます。
まとめ
アプリケーション仮想化では、継続的なアプリケーション使用と、アプリケーションの一括管理ができます。また、個人の端末から社内のアプリケーションにアクセスができるので、震災時に社内のサービスが停止することを防ぎます。東日本大震災の時に、この仮想化が着目されました。
セキュリティ対策のための1つの手段としても、アプリケーション仮想化を考えてみましょう。