- Community Home
- >
- HPE Community, Japan
- >
- HPE Blog, Japan
- >
- Dockerコンテナと仮想化の違いとは?SynergyとDevOps
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
Dockerコンテナと仮想化の違いとは?SynergyとDevOps
最近、Dockerコンテナと仮想化の違いは何?という質問を多くいただくようになりました。今日はこの違いについて技術面とビジネス面から説明をしてみたいと思います。
私は秋刀魚が大好きなので、安いときにスーパーで大量に買って圧力鍋で20分。こういった、汁も含んだお料理の作り置きを保存するのに便利なのがプラスチックの保存容器。これ、実は英語では、Plastic Container と呼びます。
よく、コンテナ技術を説明するときに貨物を運ぶ大きなコンテナの絵を使われる方も多いのですが、個人的にはこちらの秋刀魚を入れたPlastic Containerのほうが、出来ることを語る上ではしっくりきます。
まずは技術面からDockerコンテナと仮想化の違いをできるだけ簡単に説明してみたいと思います。
Dockerコンテナとは?という資料中にこんな絵が使われることがあります。
仮想化との比較です。1個の物理サーバーを複数のシステムに分割して使う、という目的では、仮想化とDockerコンテナは同じ目的を達成できるのですが、Dockerコンテナは1つのOSを複数領域に区切っているだけなので、従来の仮想化と比べると軽量動作が可能で、コストも安いわけです。また、コンテナ一つ一つは単なるファイルなので、100個のコンテナの立ち上げもファイルのコピーだけで済むので、数秒で終わってしまいます。
ただ、この図がどうしても多くの誤解を生んでしまう原因なのです。
「なるほど、OSは一個なのね。そうすると、仮想化と異なり、異なるOSが動いているシステム同士は一つの物理サーバーに混在はできない、というわけだ。」
いえ、違います。WindowsとLinuxの混在は難しいですが、Linux同士であれば、異なるバージョンのOSは同一物理サーバーに混在可能なのです。むしろ、これが出来るので多くのアプリケーション開発者がコンテナを利用したがるのです。
はい、頭の中、パニックですよね…
実はOSを少し「分解」して考えるとわかります。
OSは大きく分けて、「ライブラリ」と呼ばれる部分と、「カーネル」と呼ばれる部分に分けることができます。「カーネル」というのはOSの心臓部分で、ハードウェアとアプリケーションを中継ぎする役目をします。ただ、動作は非常にシンプルで、最新のカーネルを利用していれば、数年前のカーネルで動いていたアプリケーションも問題なく動作させることができます。
アプリケーションとOSの互換性の問題が起こるのは、「ライブラリ」の部分です。「ライブラリ」とは、そのアプリケーションが動作するのに必要な様々な機能を持った沢山のファイルの固まりです。図2のようにOSのバージョンが異なると、それに含まれるライブラリも別物となります。
ライブラリが異なると、アプリは全てテストしなおし、ということになるわけです。
これを踏まえて、Dockerコンテナで「異なるOSを動かす」とはどういうことかを示したのが、下記の図です。
カーネルは最新のものを利用して共通で使いますが、ライブラリはアプリがそれぞれ必要とするものを使うことが出来るということなのです。
ここからはアプリ開発者(Dev.さん)の目線で考えて見ます。以前、Dev.さんとOps.さんのケンカの話を書かせていただきました。DockerコンテナはこのDev.さんの働き方改革に大きく役立ちます。
Dev.さんは、自分でアプリケーションを作りましたが、ある特定のOSライブラリと一緒でしか動作ができません。これまでは、このライブラリを含むOSを使わせてください、といった依頼をOps.さんにする必要がありましたが、Dockerコンテナでは、自分が作ったアプリケーションとその動作に必要なライブラリを丸ごと、コンテナに入れることが出来るのです。Ops.さんにコンテナごと渡して、これを動かして!と言えばいいのです。
これにより、Dev.さんの働き方は大きく変わります。手元のPCで開発することが出来て、本番稼動時もOps.さんの力を借りずにコンテナを配置、増設することが自由に出来るようになります。開発期限が迫っているシステムの場合、Ops.さんの作業待ちで、システム稼動が夜中にずれこんでしまったり、などということが無くなるのです。また、他のエンジニアが作成したDockerコンテナをDocker Hubからダウンロード可能ですので、似たようなアプリケーションを作成するときは開発時間を大幅に短縮することが可能です。
これがしっかりと社内で実装できてくると、Dev.さんと Ops.さんの担当範囲が大きく変わり、Dev.さんのみで開発できる部分が増えてくるため、開発期間を大幅に短縮することが可能になるわけです。
Dockerコンテナの、仮想化との違いをご理解いただけましたでしょうか?素晴らしいソリューションではありますが、いくつか課題があります。
Dockerコンテナと一般的なサーバーのみを利用している場合、もしも物理サーバー自体が不足するパフォーマンス問題にぶつかると、物理的なサーバーの増設が必要ですので、Ops.さんに増設の依頼をすることとなります。
今、弊社がイチオシしている、HPE Synergyは、この物理サーバーの増設自体もDev.さんが出来るようにしよう、と目論んだ製品なのです。特別知識のないDev.さんがマウスやキーボードの操作で、簡単に物理サーバーの増設が可能となるのです。まるでパブリッククラウドを利用しているように。
HPE Synergyの具体的な機能はまた別の機会に!
- ブログへ戻る
- より新しい記事
- より古い記事
- kkuma 場所: HPE Linux技術情報サイトの歩き方~CentOS代替ディストビューション情報について~
- 土井康裕 場所: 篠田の虎の巻「PostgreSQL 15 GA 新機能検証結果」公開!
- MiwaTateoka 場所: Windows Server 2019のCertificate of Authenticity (C...
- 今更感 場所: 【連載】導入前のアドバイス – アレイコントローラー
- OEMer 場所: タイトル: HPE OEM Windows Serverのライセンスに関する質問にすべて回答しましょ...
- いわぶちのりこ 場所: 【連載】次世代ハイパーコンバージド「HPE SimpliVity」を取り巻くエコシステム ー 第3回...
- Yoshimi 場所: ジェフェリー・ムーア氏からのメッセージ - 未訳の新著 "Zone To Win" を解説! (2)...
- Yoshimi 場所: ジェフェリー・ムーア氏からのメッセージ - 未訳の新著 "Zone To Win" を解説! (...
- 三宅祐典 場所: 「HPE Synergy」 発表! ~ (3) この形・・・ ブレードサーバー??