コンテナ型仮想化
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
プライム・ストラテジー株式会社はコラム「コンテナ型仮想化」を公開しました
こんにちは、日立ソリューションズの吉田です。
今回は、最近話題になっている「コンテナ型仮想化」について、ご紹介したいと思います。
OS上に「コンテナ」と呼ばれる隔離されたアプリケーションの実行環境を作成し、一台のマシン上であたかも複数のマシンが動いているかのような環境を実現するのが、「コンテナ型仮想化」技術です。
従来の仮想化技術である「ハイパーバイザー型仮想化」では、KVMやXenのようなハイパーバイザーと呼ばれるソフトウェアが、仮想的なハードウェアである「仮想マシン」を提供する技術です。この「ハイパーバイザー型仮想化」では、ハードウェアレベルでの仮想化を実現するため、別々のOS(VM)を動作させることができます。しかし、それではVMの容量が大きくなり、起動に時間がかかります。
「コンテナ型仮想化」では、OS上の実行環境を仮想化するため、OS自体は限定されますが、実行環境である「コンテナ」のサイズが小さくなり、起動も早くなります。そのようなこともあり、近年注目を浴びています。
この「コンテナ型仮想化」の領域では、二つのソフトウェアが覇権を争っています。一つ目は「Docker」です。「Docker」は非常に軽量なコンテナ型のアプリケーション実行環境で、現在の米国Docker社が2013年にオープンソースのプロジェクトとして公開されました。「Docker」ではアプリケーションとその実行環境、展開/操作方法などをまとめて1つのパッケージにし、それを「Dockerイメージ」として保存/配布しています。
これに対して、この「コンテナ型仮想化」に最適化したOSである「CoreOS」が2014年に米国CoreOS社によって、公開されました。「CoreOS」は、「Docker」を組み込んだLinuxOSでクラウド環境で動かすことを前提としています。その後、CoreOS社は、「Docker」のセキュリティ面の課題を解決するために独自のコンテナ実装である「Rocket」(後の「rkt」)を開発しました。
これにより、分裂するかと思われた「コンテナ型仮想化」は、2016年6月にコンテナの統一仕様を実現する「Open Container Initiative(OCI)」発足に両社ともに参画し、分裂の危機は防ぐことができました。
ソーシャルもやってます!