この記事では、仮想マシンのアーキテクチャ3種類についてまとめています。
仮想マシンのアーキテクチャ3種類
仮想マシンのアーキテクチャの種類には大きく分けて、「ホスト型・ハイパーバイザー型・コンテナ型」の3種類があり、それらの特徴についてまとめてみました。
ホスト型

ホスト型では、ホストOS上に仮想化ソフトウェアをのせて、その上で仮想マシンを稼働させる方式です。
代表的なソフトウェアとしては、以下が挙げられます。
- VMware Workstation Player
- VMware Function
- Oracle VM VirtualBox
メリット
- 手軽に導入できる
デメリット
- ハードウェアの管理はホストOSが行うので、ハードウェアにアクセスするにはホストOSを経由しなければならず、余計なオーバーヘッドがかかる
ハイパーバイザー型

ハイパーバイザー型は、物理サーバに直接ハイパーバイザーをインストールして、その上で仮想マシンを稼働させる方式です。
ハイパーバイザーとはOSのようなもので、ハイパーバイザー型は仮想化ソフトウェアを利用することによって、物理マシンのホストOSが不要になります。
ハイパーバイザー型は「モノシリックカーネル型」と「マイクロカーネル型」に分けることができますが、今回は割愛します。
ハイパーバイザー型の代表的なソフトウェアとしては以下が挙げられます。
- Microsoft Hyper-V
- Linux KVM
- Citrix Xen Server
メリット
- ホスト型のようにホストOSを必要としないので、ハードウェアを直接制御することができ、ホスト型に比べるとオーバーヘッドを抑えることができる
- OSを自由に選ぶことができる
- カスタマイズ性が高い
デメリット
- アプリケーションの起動速度が遅い
- 専用の物理サーバを導入する必要があったり、スペック選びに慎重になる必要がある
コンテナ型

コンテナ型は、ホストOS上に複数の「コンテナ」と呼ばれる、アプリケーションの起動に必要な本体やライブラリ、設定ファイル等をひとまとめにしたものを作成して、コンテナを動作させるために必要な「コンテナエンジン」上で動作させる方式です。
ホスト型やハイパーバイザー型との違いとして、ホスト型やハイパーバイザ型は仮想マシンの上にゲストOSを起動する必要がありましたが、コンテナ型では、ゲストOSを起動せずに、アプリケーションの実行環境を構築することができます。
メリット
- ホスト型やハイパーバイザー型に比べると、より少ないリソースでアプリケーションの実行が可能
- 全体的な動作や処理速度が速い
- リソース消費が少ない
デメリット
- 同一のOSを利用するので、異なるOSで稼働するアプリケーションを同じコンテナエンジン上に乗せることはできない
コメント