仮想化とは何か、なぜ使用すべきか?

広義において、仮想化とは、実際のコピーではなく、仮想のコピーを作成するプロセスです。この場合の「仮想」とは、元のものとほとんど区別がつかないほど似ていることを意味します。「ほぼ同じ」というフレーズのように。
仮想化は、特定のパラメータのセットを密接に模倣するためにコンピュータプログラムを使用することです。「ハイパーバイザー」と呼ばれる特定のソフトウェアツールが、指定されたパラメータ内でソフトウェアを使用して仮想環境を作成します。
仮想化には多くの種類があり、それぞれに用途がありますので、最も一般的な仮想化のタイプに議論を制限します。
ハードウェア仮想化
これはほとんどのユーザーにとって最も馴染みのある仮想化のタイプです。VirtualBoxで仮想マシンを実行すると、ハードウェア仮想化を実行していることになります。ビデオゲームシステムエミュレーターも同じ原則に従い、ハイパーバイザーを使用して過去のビデオゲームコンソールのパラメータを生成します。
ハードウェア仮想化では、ハイパーバイザーがゲストマシンを作成し、モニター、ハードドライブ、プロセッサなどのハードウェアデバイスを模倣します。場合によっては、ハイパーバイザーがホストマシンの構成を単にパススルーしていることもあります。他の場合では、環境のニーズに応じて、完全に独立したシステムが仮想化されます。

これはハードウェアエミュレーションとは異なり、はるかに複雑で低レベルのプロセスです。ハードウェアエミュレーションでは、ソフトウェアを使用して1つのハードウェアが別のハードウェアを模倣できるようにします。たとえば、ハードウェアエミュレーションを使用して、ARMチップ上でx86ソフトウェアを実行できます。Windows 10は、このタイプのエミュレーションをその「どこでも1つのOS」戦略で広範に使用しており、AppleはPowerPCからIntelプロセッサに移行する際にRosettaで使用しました。
しばしば、仮想化にはいくつかの制限が必要です。ハイパーバイザーは、ホストデバイスの仕様を超えることができません。2TBのディスク上で10TBのハードドライブストレージを持つハイパーバイザーを実行することはできません。その数値をハイパーバイザーを通じて偽って提供しようとすることはできますが、使用中にすぐに崩壊します。
仮想化されたハードウェアは、通常、実際のハードウェア環境よりも遅くなります。しかし、ハードウェア仮想化には、コストが低く、実装が迅速で、展開においてより大きな柔軟性があるという利点があります。これはシリコンバレーの「迅速に動き、物事を壊す」という倫理の下で評価される特性です。
ハードウェア支援仮想化は、仮想化プロセスを支援するために特別に設計されたハードウェアを使用します。一部の最新のプロセッサには、仮想化に優しい最適化が含まれており、より迅速で流動的なプロセッサ仮想化を可能にします。
さらに読む: Windows 10用の無料仮想化ソフトウェア4選
デスクトップ仮想化
デスクトップビジュアライゼーションは、ユーザーが対話する物理ハードウェアからデスクトップ環境を分離します。オペレーティングシステム、デスクトップ環境、ユーザーファイル、アプリケーション、その他のエンドユーザーファイルをユーザーのコンピュータのハードドライブに保存するのではなく、デスクトップはユーザーのために仮想化されます。ユーザーの視点から見ると、この環境はローカルディスクのように見えますが、少し遅いかもしれません。

しかし、システム全体は実際にはサーバーによって管理されています。これにより、システム管理者はリモートアクセスポイントからユーザーのデスクトップ環境を完全に制御できます。サーバーで更新を展開することで、トンネリング、物理アクセス、デバイス固有のユーザープロファイルを必要とせずに、エンドユーザーに即座に適用されます。デスクトップ環境を実行するハードウェアから分離することで、ユーザーは任意のデスクトップコンピュータから「自分の」コンピュータにアクセスできるようになります。
ネットワーク仮想化

前述の2種類の仮想化に似て、ネットワーク仮想化はネットワークトポロジーを模倣しますが、従来のネットワーク管理に使用されるハードウェアから切り離されています。物理的なネットワーク制御インフラストラクチャを実行するのではなく、ハイパーバイザーがソフトウェア環境内でその機能を再現します。ネットワーク仮想化はハードウェア仮想化と組み合わせることができ、すべてのハイパーバイザーが相互に通信するソフトウェアネットワークを作成します。ネットワーク仮想化は、負荷分散やファイアウォールなどの上位ネットワーク機能をテストおよび実装するために使用でき、ルーティングやスイッチングなどのレベル2および3の役割にも使用できます。
結論
仮想化の主なペナルティは速度です。仮想環境は、一般的に「実際の」プラットフォームで実行されているホスト環境よりも遅くなります。しかし、速度だけが重要ではありません。次の瞬間のパフォーマンスが重要でない環境では、組織は仮想化を使用してコストを削減し、柔軟性を高めることができます。単一のユーザーは、仮想化を使用してアクセスできないハードウェア環境を模倣し、1台のコンピュータで複数のオペレーティングシステムを同時に実行できます。