検索
ニュース

コレ1枚で分かる「仮想マシンとコンテナの違い」即席!3分で分かるITトレンド

仮想化の世界で注目を集めている「コンテナ」はどのようなテクノロジーなのか、ハイパーバイザー型と比較しながら、解説します。

Share
Tweet
LINE
Hatena

この連載は

 カップめんを待つ間に、電車の待ち時間に、歯磨きしている間に“いまさら聞けない”ITトレンドが分かっちゃう! 今さら聞けないITの最新トレンドやビジネス戦略を、体系的に整理して分かりやすく解説する連載です。「この用語、案外、分かっているようで分かっていないかも」「IT用語を現場の社員にもっと分かりやすく説明できるようになりたい」――。情シスの皆さんのこんな課題を解決します。


 ハードウェアに搭載されているプロセッサやメモリの使用時間を細かく分割し、それぞれをひとまとめにして複数の個別独立したサーバのように機能させるのが「サーバ仮想化」です。こうして作られた見掛け上のサーバを「仮想サーバ」または「仮想マシン」といいます。この仮想マシンを実現するソフトウェアはハイパーバイザーで、VMwareのESXi、LinuxのKVM、MicrosoftのHyper-Vなどがあります。

Photo

 一方、1つのOSに「コンテナ」と呼ばれる「他のユーザーから隔離されたアプリケーション実行環境」を作り、あたかも個別独立したサーバのように使おうというのが「コンテナ仮想化」です。これを実現するソフトウェアはコンテナ管理ソフトウェアで、Dockerと呼ばれるオープンソースのソフトウェアが圧倒的なシェアを占めています。

 両者は、「隔離されたアプリケーション実行環境」を提供するということでは同様ですが、仮想マシンでは、それぞれにOSを動かさなくてはなりません。そのため、仮想マシンごとにプロセッサやメモリを消費し、ストレージも必要です。

 一方、コンテナでは、1つのOSで稼働しますので、プロセッサやメモリの消費は少なく、ストレージの使用もわずかです。そのため、仮想マシンに比べて起動時間が短く、同じ性能のハードウェアであれば、より多くのコンテナを同時に動かすことができます。

 また、コンテナ管理ソフトウェアがハードウェアやOSごとの違いを吸収してくれるため、既にアプリケーションやミドルウェアの稼働が確認されているコンテナであれば、他のサーバに移して動かしても確実に動くことが保証されます。

 仮想マシンでは、実行環境が変われば、ハードウェアやOSの設定を確認しなければなりませんので、コンテナよりも手間が掛かります。ただ、仮想マシンは1つの独立したサーバーとして機能しますので、仮想マシンごとに異なるOSを動かすことができます。一方コンテナは1つのOSから作られているため、OSは同じでなくてはなりません。

 システム資源の負担が大きく、可搬性は低いが、自由度が高い仮想マシン。システム資源の負担は小さく、可搬性は高いが、OSは限られるコンテナ。これらは、用途に応じて使い分ける必要があります。

Photo
【図解】コレ1枚で分かる「仮想マシンとコンテナの違い」

著者プロフィル:斎藤昌義

book
システムインテグレーション再生の戦略 [Kindle版]

 日本IBMで営業として大手電気・電子製造業の顧客を担当。1995年に日本IBMを退職し、次代のITビジネス開発と人材育成を支援するネットコマースを設立。代表取締役に就任し、現在に至る。詳しいプロフィルはこちら。最新テクノロジーやビジネスの動向をまとめたプレゼンテーションデータをロイヤルティーフリーで提供する「ITビジネス・プレゼンテーション・ライブラリー/LiBRA」はこちら


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る