コンテナとは
「隔離されたアプリケーション実行環境」のことです。
コンテナ型仮想化方式とは
「コンテナ型仮想化方式」は、「コンテナ」をホスト OS 上に仮想的に作成し、安全かつ処理性能が高い仮想環境のことを指します。
「コンテナ」を一軒家4人家族に例えると
コンテナは、ホスト OS 上に複数作成することができます。
そして複数のコンテナ達は、ホスト OS の(ハードウェアなどの)リソースを共同で利用します。
共同で利用とは、例えばこういった感じです。
ある一軒屋に、4人家族が住んでいるとします。
(ありえない話ですが)ある日、別の家族がやって来て、その一軒家に一緒に住むことになりました。
基盤資源である「水道」「電気」などを、それぞれの家族で共同利用(リソースの共同利用)し、部屋については、一軒家のちょうど真ん中で、パーティションで区切ります(アプリケーション実行環境)。
「ホストOS型」仮想化ソフトウェア
「ホスト OS 型」の仮想化ソフトウェアには、以下のようなものがあります。
- VMware Workstation
- VirtualBox
「ハイパーバイザー型」仮想化ソフトウェア
「ハイパーバイザー型」の仮想化ソフトウェアには、以下のようなものがあります。
- VMware ESXi
- Ctrix XenServer
- Microsoft Hyper-V
「コンテナ型」コンテナエンジン
「コンテナ型」のコンテナエンジンには、以下のようなものがあります。
- Docker
- LXC(Linux Containers)
- OpenVZ
コンテナ型では、ゲスト OS をインストールする必要がありません。
コンテナ型は、ゲスト OS や仮想ハードウェアを持たないため、「ホスト OS 型」や「ハイパーバイザー型」にあった、ゲスト OS の実行、ハードウェアエミュレーションなどのオーバーヘッドがありません。
「コンテナ型」のメリット
その結果、以下のようなメリットが生まれます。
- パフォーマンスに優れる
- 資源の消費量が少なくなる
- 構成管理・運用管理が容易になる
ハイパーバイザー型もまだまだ現役ですが、コンテナ型は急速的に普及してきているようです。