デスクトップ仮想化はどんなニーズに応えるものなのか?
昨今、さまざまなメディアで取り上げられる機会が増えたデスクトップ仮想化ですが、具体的にはどのようなものなのでしょうか? 漠然としたイメージはあるのですが・・・。今回は、基本的なところから教えていただければと思います。
端的に説明すると、私達が普段利用しているPCのデスクトップ環境を抽象化することによって、ハードウェアから独立した利用や運用を可能にするための技術です。最近では、すっかり定着した感のあるサーバー仮想化と同じ考え方ですね。
確かにサーバー仮想化に似ていますよね。その違いについては後ほど伺うとして、、、先に機能の抽象化という点についてもう少し教えていただけますか?
PCという言葉を聞いて私達が想像するのは、ディスプレイやキーボードなどを備えた物理的なクライアントデバイスと、OSによって提供されるデスクトップ機能が組み合わさったものだと思います。両者は一体化していて切り離すことはできませんし、普段そんなことを考える機会はないでしょう。つまり、クライアントデバイスを使うこととデスクトップ機能を使うことは事実上ほぼ同義ですよね。
しかし、実際にはクライアントデバイスと機能が一体化しているためにさまざまな不便も生じているわけです。例えば、ノートパソコンには、紛失による情報漏えいのようなリスクがありますよね。筐体を落とすと内部に保管されたデータまで失ってしまう。これは、クライアントデバイスとデスクトップの機能が結びついているために生じる問題と言えます。
そして、ここが肝なのですが、PCを使って何か作業を行う場合にユーザーは「物理的なクライアントデバイス」を使いたいわけではなく、「デスクトップの機能」、しいては「アプリケーション」「データやファイル」、もっと言えば業務をこなすためにPCを使いたいのですよね。ただ、これまではクライアントデバイスと機能が密接に繋がっていたので、色々な不都合にも目をつぶらなければならないというわけです。
そこで、デスクトップの機能を抽象化し、PCの物理環境から切り離して利用してはどうかという考えが出てくる。「仮想化」という言葉を聞くと、「実体がないもの」というイメージを抱く方が多いようですが、実際には仮想化とは「機能を抽象化すること」だと理解すればいいかと思います。それを実現するための技術が、デスクトップ仮想化なのです。
ちょっと、概念的な話で難しいですね。
例えば、すでにサーバー仮想化では、それらが実現されていますよね。本来であれば、サーバーの筐体とその上で提供される機能は不可分でしたが、仮想化することによって物理的な制約から切り離された。一台のサーバーの上で複数のサーバー機能を提供したり、ハードウェアのリソースを柔軟に拡張したりすることが可能になったわけです。