コンテナ型とホストOS型とハイパバイザ型、どれもPC環境仮想化の仕組みですが微妙に違いがあります。2024年現在WEB業界ではコンテナ型が主流になっています。筆者はDockerとバーチャルボックスを触った経験がありますが、細かい部分が問題で出るとわからないこともありました。そこで違いをまとめておきたいと思います。
コンテナ型
代表されるのはDockerですね。知名度は低いですが実はそのほかにもあります。containerd、Podmanなど実はまだまだほかにもあるので余裕があれば調べてみるのも面白いと思います。
メリット
軽量
まずは軽量です。立ち上げた時にローカルマシンの負担が低いです。
早い
立ち上がり時間が短いです。ホスト型と比べると体幹で数倍は早いです。これはホストOSのカーネルをそのまま使用しているという仕組みが影響しているようです。
設定が楽
例えばPHPの環境を構築する際には通常PHPやApachなどのインストールが必要ですがDockerであればそれらが簡単に立ち上がる仕組みができています。これは後述のホストOS型でもできると思いますがエコシステム(DockerHubなど)が進んでいるのはコンテナ型だというのが個人的な印象です。
デメリット
割とデメリットはないかなという印象ですが、環境によるエラーやバグは多めかもしれません。
使われる場面
ウェブシステムのローカルの開発環境としてよく使われます。
構成図
+---------------------------------------------------------+
| ユーザーインターフェース |
+---------------------------------------------------------+
| コンテナ #1, #2, #3 ... |
+-----------------+------------------+-------------------+
| アプリケーション | アプリケーション | アプリケーション |
| & ライブラリ | & ライブラリ | & ライブラリ |
+------------------+-----------------+-------------------+
| コンテナエンジン |
+---------------------------------------------------------+
| ホストOS |
+---------------------------------------------------------+
| 物理ハードウェア |
+---------------------------------------------------------+
ホストOS型
代表的なのはVirtualBoxやVMWareなどです。
メリット
ゲストOSをホストOSで動かせるため気軽に違う環境のテストができます。またハードウェアもエミュレートするため、たとえばメモリリソースのテストなども必要な際は便利です。
デメリット
ホストOSとゲストOSで別々のカーネルを立ち上げて使うのでコンテナ型、ハイパバイザ型に比べると重いです。
使われる場面
ウェブシステムのローカルの開発環境としてよく使われます。
構成図
+-----------------------------------------------+
| ユーザーインターフェース |
+-----------------------------------------------+
| 仮想マシン #1, #2, #3 ... |
+---------------+--------------+---------------+
| ゲストOS | ゲストOS | ゲストOS |
| (VM1) | (VM2) | (VM3) |
+---------------+---------------+--------------+
| 仮想化ソフトウェア (ホスト型) |
+-----------------------------------------------+
| ホストOS |
+-----------------------------------------------+
| 物理ハードウェア |
+-----------------------------------------------+
ハイパバイザ型
一番有名なのはMicrosoftのHyper-Vではないでしょうか。一番の特徴としてホストOS(いわゆるMac、Windows、Linuxなど)を介さず物理サーバ上に直接インストールされる形になるということです。
メリット
ホストOSを介さないためパフォーマンス、スケーラビリティ、セキュリティの面で優れています。
使われる場面
データセンターや、企業環境で使用されます。
構成図
+---------------------------------------------------+
| ユーザーインターフェース |
+---------------------------------------------------+
| ゲストOS #1, #2, #3 ... |
+---------------+---------------+------------------+
| 仮想マシン | 仮想マシン | 仮想マシン |
| (VM1) | (VM2) | (VM3) |
+---------------+---------------+------------------+
| ハイパーバイザー (Type-1) |
+---------------------------------------------------+
| 物理ハードウェア |
+---------------------------------------------------+
コメントを残す