注目集めるコンテナ技術--メリット、デメリットを仮想マシンと比較

Keith Townsend (Special to TechRepublic) 翻訳校正: 川村インターナショナル 2015年02月27日 06時00分

  • このエントリーをはてなブックマークに追加

 筆者は以前、「Docker」コンテナをVMwareと統合することの難しさについて書いたことがある。VMwareは、ユーザーが仮想マシン(VM)の中でコンテナを実行することを望んでいるが、コンテナの利用方法としては、物理ハードウェア上での実行の方が一般的だ。VMを物理マシンで実行するのと同様の形である。

 コンテナはOSレベルで実行される抽象化技術で、VMを上回る効率性を実現する。本記事では、VMと比較した場合のコンテナの長所と短所について説明する。

コンテナとVMの基本的な高レベルでの違い

 VMは物理ハードウェアを抽象化する。それぞれのVMは、仮想化されたBIOSから、仮想化されたネットワークアダプタ、ストレージ、CPUまで、完全なサーバハードウェアスタックを備える。完全なハードウェアスタックを備えるということは、各VMに完全なOSが必要ということだ。各VMのインスタンス化には、完全なOSの起動が必要になる。VMのブートプロセスは通常、物理ハードウェアよりはるかに高速だ。ただし、OSや物理ハードウェアのパフォーマンス、システム負荷によっては、このプロセスに数秒~数分かかることもある。

 コンテナ抽象化は、サーバハードウェアスタック全体を仮想化するのではなく、OSレベルで実行される。ほとんどのコンテナシステムでは、ユーザー領域が抽象化される。その典型的な例が、「Citrix XenApp」などのアプリケーションプレゼンテーションシステムだ。XenAppは、セグメント化されたユーザー領域をアプリケーションインスタンスごとに作成する。XenAppの主な使用例は、数十人から数千人単位のリモートワーカーへのオフィススイートの展開だ。このために、XenAppはそれぞれの接続ユーザーについて、サンドボックス化されたユーザー領域を「Windows Server」上に作成する。各ユーザーはカーネル、ネットワーク接続、ベースファイルシステムなど、同一のOSインスタンスを共有するが、オフィススイートの各インスタンスには個別のユーザー領域が確保される。

 ユーザーセッションごとに個別のカーネルが読み込まれるわけではないため、複数のOSに付随するオーバーヘッドは、コンテナでは発生しない。したがって、コンテナのメモリとCPUの使用量は、同様のワークロードを実行するVMより少ない。よくあることだが、XenAppが単一のサーバで数百人規模のユーザーをサポートするのに対し、完全なVMを利用する「Citrix XenDeskop」は同じハードウェアで数十人単位のユーザーをサポートする。さらに、コンテナはOS内のサンドボックス化された環境にすぎないため、コンテナの開始には数ミリ秒しかかからないこともある。

コンテナ使用の難点

 セキュリティ:VMを使用する利点は、物理ハードウェアレベル、つまり個々のカーネルレベルでの抽象化だ。こうした個々のカーネルによって、攻撃対象領域がハイパーバイザに限定される。理論上は、特定のOSバージョンの脆弱性を悪用して、同一物理ホスト上で実行中のほかのVMを攻撃することはできない。コンテナは同一のカーネルを共有するため、管理者とソフトウェアベンダーは特別な注意を払って、同一ホスト内のコンテナに起因するセキュリティ問題を回避する必要がある。

 管理:Dockerなどのソリューションでコンテナの管理は楽になるが、多くの顧客は依然として、コンテナ管理は手順が明確に確立されていないと感じている。Dockerを利用している顧客の1人が先ごろ、記事を投稿して自身の体験を共有し、本番環境でのDocker管理に対する苛立ちを綴った。

結論

 Dockerのようなコンテナ管理プラットフォームが発展し続けているため、データセンター管理者はコンテナ向きと思われるワークロードの調査を継続する必要がある。エンタープライズユーザーは徐々に開始した方がいいだろう。

 特定のワークロードについてはVM内でコンテナを展開し、本番環境で同テクノロジの経験を得ることをお勧めする。例えば、Dockerのようなコンテナテクノロジを使って、複数の社内向けウェブサーバを単一のVM上にまとめてもいいだろう。あるいは、新しいアプリケーションの開発環境として、コンテナを提供してもいい。その経験を活用することで、コミュニティーにフィードバックを提供し、コンテナを自社のデータセンター運用に組み込む方法を理解することができるだろう。

figure_1
提供:Joe McKendrick

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

この記事を読んだ方に

連載

CIO
IT部門の苦悩
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
「企業セキュリティの歩き方」
「サイバーセキュリティ未来考」
「ネットワークセキュリティの要諦」
「セキュリティの論点」
スペシャル
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft WPC
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell EMC World
AWS re:Invent
AWS Summit
PTC LiveWorx
より賢く活用するためのOSS最新動向
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
米株式動向
日本株展望
企業決算