KATUBLO
2019年03月03日

【Docker】コンテナ型を始め、3つの仮想化技術についてまとめた

やること

dockerの仮想化技術を始め、歴代の仮想化技術をまとめる。

 

dockcrってなんなの?

コンテナ仮装化技術を用いたアプリケーションを実行する環境を作成、管理するツール

 

なぜ全てのエンジニアがインフラを扱うようになったのか?

自社で管理していたサーバー等はすべて、クラウドに上の仮想インスタンスに移行し、各種クラウドサービスの機能を用いることで開発範囲が非常に小さくなった。またインフラ構成管理ツールが多数登場し、コードでこれらを管理できるようになった。よってアプリケーションエンジニアもこれらのツールをつかって環境構築をすることが可能となり、実際に業務で求められることが多くなったことが原因である。

 

仮想化技術とは?

物理サーバーを使用するなく、仮想的なOSを動かすことでアプリケーションを動作させることを仮想環境と呼ぶ。具体例としてはwindowsマシンの上でlinuxを動かすなど。

 

3つの仮想化技術

 

ホスト型仮想化

ホストOSの上に仮想化ソフトウエアを載せる。ホストOSの上でゲストOSを動かすため、無駄なCPUリソース、ディスク容量、メモリ使用量が発生する。代表的なものとしては、「oracle VM VutualBox」などがあげられる。

 

 

 

ハイパーバイザー型仮想化

ハードウエアの上に、仮想化専門のソフトウエア「ハイパーバイザー」を置き、ハードウエアと仮想環境を制御する。ホストOSが存在しないため、直接ハードウエアを操作するため、リソースを効率良くしようすることが可能。代表的なものとしては、microsoft社の「hyper-V」などがあげられる。

 

 

コンテナ型仮想化

ホストOS上に区画(コンテナ)を作り、アプリケーションを動作させるにに必要な、ライブラリなどをコンテナ内に閉じ込めることによって、個別のサーバーのように使用することができるようにしたもの。ホストOSのリソースを分割し、これらを複数のコンテナで共有して使用する。非常に軽量なため、高速で動作する。この技術は「docker」で用いられている。

 

まとめ

「docker」はコンテナ管理ソフトウエアという認識で間違いない。この技術を用いることで軽量かつ高速な動作を可能とする。

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

大学生必見就活イベント