【図解】コレ1枚でわかるサーバー仮想化とコンテナの違い
ハイパーバイザを使った「サーバー仮想化」が広く使われています。ハイパーバイザとは、仮想化を実現するソフトウェアのことで、物理的には一台のハードウェアであるにもかかわらず、複数の個別・独立したサーバーとして機能させることができます。この見かけ上のひとつひとつのサーバーを「仮想サーバー」または、「仮想マシン」と言い、それを実現するソフトウェアには、VMwareのESXi、LinuxのKVM、MicrosoftのHyper-Vなどがあります。
「サーバー仮想化」による仮想マシンの使用目的は、「隔離されたアプリケーション実行環境」を作ることですが、同様の目的を実現する手段としてコンテナを使う方法があります。
コンテナは仮想マシンとは異なり、ひとつのOS上で複数のコンテナを動かすことができます。「サーバー仮想化」であれば、仮想マシンごとにOSを稼働させる必要があり、これを実行させるためにCPUやメモリ、ストレージなどを使う必要がありますが、コンテナでは1つのOSを動かすだけです。そのためシステム資源のオーバーヘッド(仮想化のために割り当てられる資源や能力)が少なくてすみます。その結果、同じ性能のハードウェアであれば、仮想マシンより多くの数のコンテナを作ることができます。
また、コンテナは、それを起動させるために仮想マシンとOSを起動させる手間がかからないため、極めて高速で起動できます。さらに仮想マシンごとにOSを用意する必要がないのでディスク使用量も少なくて済みます。
但し、コンテナはどれも同じOSです。ハイパーバイザならそれより一段下のレベル、つまりハードウェアのサーバーと同じ振る舞いをする仮想マシンなので、仮想マシン毎に別々のOSを稼働させることができる点が異なります。
ひとつのコンテナは、OSから見るとひとつのプロセスとみなされます。プロセスとは、プログラムが動いている状態のことです。そのため、他のサーバーにコンテナを移動させて動かすに当たっても、OS上で動くプログラムを移動させるのと同様に、元となるハードウェアの機能や設定に影響を受けることがありません。ハイパーバイザでは、元となるハードウェアの機能や構成に依存し、設定情報も引き継がなくてはなりませんが、コンテナは、その必要がなく、マルチ・クラウドやハイブリッド・クラウドのように、異なるクラウドやサーバー間で実行環境を移動させることも容易です。
また、開発〜テスト〜本番を異なるシステムで行う場合でも、上記のように異なるシステム環境でも稼働が保証されていることや起動が速いことで、そのプロセスを迅速に行うことができるようになります。
このようなコンテナを実現するソフトウェアを「コンテナ管理ソフトウェア」と言います。そのひとつとしてDockerが注目されています。Dockerとは、Docker社が提供するLinux用のコンテナ管理ソフトウェアです。
Dockerが注目されるようになったのは、そのコンテナを生成する設定を「Dockerfile」として公開し、それを他のユーザーと共有できる仕組みを設けた点にあります。これによって、他のユーザーが作ったソフトウェアとそれを動かすソフトウェア構築プロセスをそのままに他のサーバーで実行できるようになりました。その結果、ソフトウェアをインストール・設定する手間を大幅に削減できるようになったのです。
Dockerは、AWSやGoogleなどのクラウド・サービス・プロバイダーをはじめ、EMC VMware/Dell、IBM、RedHatなどの大手ITベンダーが採用しています。また、Microsoftも自社のクラウド・サービスであるAzureやWindows Server 2016で採用しており、「コンテナ管理ソフトウェア」として広く普及しています。
ITビジネス・プレゼンテーション・ライブラリー/LiBRA
========================================================
・人工知能についての新規チャートと解説を大幅に増やしました。
・トレンドにコンピュータの歴史について新たなチャートを追加しました。
・講演資料として「未来を味方にする学び方」を追加しました。
========================================================
ITの歴史と最新のトレンド
【新規】コンピュータとは何か p.3
【新規】コンピュータ誕生の歴史 p.4
【改訂】歴史から見たITトレンド p.5
クラウド・コンピューティング
【改訂】クラウドの定義/サービス・モデル (Service Model)・詳細 p.35
【新規】マルチテナント方式の課題を解決する選択肢 p.40
インフラ&プラットフォーム
*変更はありません
サービス&アプリケーション・先進技術/人工知能とロボット
【改訂】コレ1枚でわかる人工知能とロボット・解説改訂 p.11
【改訂】人工知能の3つの役割と人間の進化・解説追加 p.11
【新規】自動化と自律化の領域 p.15
【改訂】自動化から自律化への進化 p.16
【改訂】人工知能やロボットの必要性・解説追加 p.22
【改訂】「人に寄り添うIT」を目指す音声認識・解説追加 p.35
【新規】機械学習と推論(1)〜(3) p.47-49
【新規】ディープラーニングの音声認識能力 p.55
【改訂】人工知能・機械学習・ディープラーニングの関係・解説改訂 p.56
【改訂】第3次AIブームの背景とこれから・解説改訂 p.57
【改訂】「記号処理」から「パターン認識」へ・解説改訂 p.63
【改訂】人間の知性の発達と人工知能研究の発展・解説改訂 p.64
【新規】人間の知性と機械の知性 p.85
サービス&アプリケーション・先進技術/IoT
【新規】IoTの三層構造 p.41
ビジネス戦略
【新規】デジタル・トランスフォーメーション p.4
サービス&アプリケーション・基本
*変更はありません
サービス&アプリケーション・開発と運用
*変更はありません
トピックス
*変更はありません
講演資料
未来を味方にする学び方
実施日: 2017年9月26日
実施時間: 50分
対象者:ITベンダー・情報システム部門
最新トレンドの勉強方法について、自ら体験を交えて解説。