コンテナ仮想化とは?サーバ仮想化とは何が違うのか

LINEで送る
Pocket

はじめに

docker01_logo

dockerと言うソフトが登場して、仮想化の技術として「コンテナ仮想化」と言うものが注目されて来ています。

今回は、この「コンテナ仮想化」と従来の「サーバ仮想化」の違いやメリットについて書いて行きたいと思います。

特徴・メリット

サーバ仮想化

・特徴

サーバの仮想化とは、ホスト上のCPUやメモリなどのリソースを細かく分割し、それを複数のユーザに割り当てて占有させる事で、1台のホストで複数のサーバが動いているように見せる機能の事です。

仮想化するのは、サーバのハードウェアに当たる部分となります。

そのため、仮想化したそれぞれのサーバ上でシステムを動かすためには、必ずゲストとなるOSが必要となります。

docker02_VM

(引用元:What is a Container | Docker

 

・メリット

サーバ台数の削減

 →今まで余っていたサーバのリソースを仮想マシンに割り当てる事で、リソースを有効活用する事が出来る

 

サーバをファイル感覚で管理

 →サーバ情報をファイルで管理するため、バックアップ・リストアがファイルのコピー感覚で行える

 

・代表的な管理ソフト

 ESXi(VMware)

 Hyper-V(Microsoft)

 KVM(Linux)

 

コンテナ仮想化

・特徴

ホスト上で動く1つのOS上に、コンテナと呼ばれる独立したシステムが動く空間を複数作り、これを複数のユーザやサービスに割り当てる機能の事です。

それぞれのコンテナは1つのOS上で動きながらも、これを使用するユーザやサービスから見ると、別々のサーバで動いているように見える事になります。

このように、サーバ仮想化では必ず必要となっていたゲストOSが、コンテナ仮想化では必要がなくなります。

この事から、サーバ仮想化はハードウェア部分を仮想化しているのに対し、コンテナではOSよりも上のレイヤーに当たる部分を仮想化している事になります。

docker03_Container

(引用元:What is a Container | Docker

 

・メリット

容量の軽量化

 →ゲストOSが必要なくなるため、仮想化するためのディスク容量を削減できます。

起動・停止が高速

 →仮想マシン・ゲストOSの起動停止プロセスがないため、コンテナ環境の起動停止が非常に高速になります。

構成がシンプルで、別環境への移行が容易

 →仮想化した環境を別環境に移行する際、サーバ仮想化では基になるハードウェア情報からの引き継ぎが必要でしたが、コンテナではその手間がなくなるため、別の実行環境へ移行するのが容易になります。

・代表的な管理ソフト

 docker(docker社)

まとめ

このように、コンテナ仮想化は「軽量・シンプル」が特徴の技術です。

そのため、環境を複数用意し、さらに構築しては繰り返し作り直す事が必要となるようなテスト環境などには、向いているものではないでしょうか。

現在でも様々な機能追加がされていて、Amazon,Googleなどが提供するクラウドサービスでも標準でコンテナ管理機能をサポートするサービスも登場しているため、今後の動きが気になる所でもありますね。

 

関連記事

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

4 + three =