サーバー仮想化とコンテナ技術、どちらが仮想化のニーズを満たすことができるでしょうか?

サーバー仮想化とコンテナ技術、どちらが仮想化のニーズを満たすことができるでしょうか?

今日

企業ITにおける最も一般的な問題の1つ

開発・運用業務を行う際

独立した効率的なシステム環境を構築する方法

資源使用量を削減し、効率性を向上させながら

また、互いに干渉せず、安全な隔離を確保できる。

チーム間のコラボレーションの問題を回避するため

企業がDevOpsをできるだけ早く導入できるようにする

サーバー仮想化とコンテナ技術の登場

これらの問題に効果的に対処するため

複数のオペレーティングシステム/アプリケーションスタック間の競合を解決する

[[206695]]

サーバー仮想化技術とは

サーバー仮想化テクノロジーの場合、仮想レイヤーは、カーネルを含む完全なシステム イメージである完全な仮想マシンをユーザーに提供します。 CPU 仮想化技術は、各ユーザーに他のユーザーから分離された専用のシステム環境を提供できます。仮想レイヤーは、仮想化された CPU、メモリ、および IO デバイスのリソースを各ユーザーに割り当てることができます。

コンテナテクノロジーとは何ですか?

コンテナは、アプリケーションに分離された動作空間を提供します。各コンテナには排他的で完全なユーザー環境空間が含まれており、1 つのコンテナでの変更は他のコンテナの動作環境に影響を与えません。さらに、コンテナは同じシステムカーネルを共有するため、複数のコンテナで同じライブラリを使用すると、メモリの使用効率が向上します。

サーバー仮想化が解決する中心的な問題はリソースの割り当てである

コンテナが解決する中心的な問題は、アプリケーションの開発、テスト、および展開です。

実際の運用では

すべての仮想化タスクに最適なソリューションはどれですか?

サーバー仮想化の観点から最適な環境分離ソリューションを探している場合、システムレベルの仮想化がより適切なソリューションです。コンテナーと比較すると、仮想化ソリューションでは、システムに対するノイジーネイバーの影響は問題になりません。現在、多くのコンテナは分離機能の向上に重点を置いていますが、仮想マシンは依然としてコンテナよりも優れた分離機能を提供します。物理サーバーから仮想サーバーへの移行は自然なプロセスであり、仮想サーバーの管理エコシステムは完成しています。

ほとんどの仮想マシンは比較的独立しており、各仮想マシンには独自のオペレーティング システム、ドライバー、およびアプリケーション コンポーネントが含まれています。適切なハイパーバイザーがあれば、仮想マシンを他の仮想化プラットフォームに移行することもできます。

ハイパーバイザーベースの仮想マシンには、完璧な分離機能が備わっています。システム ハードウェア リソースは完全に仮想化されており、ハイパーバイザーによって仮想マシンに割り当てられるため、バグ、ウイルス、または侵入は 1 つの仮想マシンに影響を与える可能性がありますが、他の仮想マシンに広がることはありません。

対照的に、コンテナは物理的なオペレーティング システム上で実行され、多数の基盤となるオペレーティング システム カーネル、ライブラリ ファイル、およびバイナリ ファイルを相互に共有し、実行を開始する前に統合された基盤となる承認 (通常、Linux 環境ではルート権限) を取得するため、分離性が不十分です。その結果、脆弱性や攻撃が基盤となるオペレーティング システムに侵入したり、他のコンテナーに移行したりする可能性が高くなり、最初のインシデントよりもはるかに広範囲に広がる可能性があります。

アプリケーションが実行されるインスタンスを分離するだけの場合、コンテナは、アプリケーションの実行環境の管理、アプリケーション インスタンスの起動、リソースのオーバーヘッドの制御に非常に効率的なツールになります。コンテナ化の最大の利点は、同じハードウェア上で占有するスペースが少なく、仮想マシンよりも多くのインスタンスを実行できることです。

Docker などの代表的なコンテナ技術の設計原則は、アプリケーション環境の変更とアプリケーションの展開の問題を解決することであり、これは DevOps の概念と非常に一致しています。 R&DクラウドのDCOSプラットフォームは、Dockerテクノロジーをエンジンとして継続的インテグレーションプロセスフレームワークをアップグレードし、コンテナ化された継続的デプロイメントフレームワークに進化させ、機能開発プラットフォーム上に実装することで、製品の自動化された継続的インテグレーションとデプロイメントを実現します。速度と移植性は、コンテナ テクノロジーの 2 つの主な特徴です。

速い

Docker コンテナ テクノロジーを例に挙げると、通常の仮想マシンは、電源を入れるたびに完全に新しいオペレーティング システム インスタンスを起動する必要がありますが、Docker コンテナはカーネル共有を通じてホストされているオペレーティング システムのセットを共有できます。つまり、Docker コンテナの起動と停止には数分もかからず、数百ミリ秒しかかかりません。

この速度の向上は、Docker コンテナを使用して作成されたソフトウェア システムが、マイクロサービス ベースのアーキテクチャを使用して構成されたソリューションであっても、仮想マシン ベースのソリューションよりも高いレベルの俊敏性を実現できることを意味します。さらに、コンテナ化されたアプリケーションは、仮想マシンやベアメタルよりもパフォーマンスが優れています。 2014 年の IBM の調査レポートでは、「ほぼすべてのケースで、コンテナーのパフォーマンスは仮想マシンと同等かそれ以上である」ことが示されています。

コンテナは大量に迅速に複製できるため、コンテナ テクノロジの重要な利点の 1 つですが、管理者が気付かないうちに大量のコンピューティング リソースを消費する可能性もあります。コンテナ化されたアプリケーションをスケールアップした後、スケールダウンし忘れると、企業にとって不要なクラウド コンピューティングのオーバーヘッドが大量に発生する可能性があります。

携帯性

VM ベースのソリューションでは、アプリケーションの移植性は通常、クラウド プロバイダーがサポートするリージョンに制限され、エンタープライズ ソフトウェアが自己ホスト環境で実行される場合、移植性はデータ センター内に制限されます。その理由は、異なるクラウドプロバイダーが通常、異なる形式の仮想マシンを提供しているためです。 Packer のようなツールを使用すると、同じ仮想マシンイメージファイルを異なるクラウドサービスで実行することは可能ですが、多くの追加作業が必要になります。実現可能ではありますが、ユーザーを単一のプラットフォームに制限してしまいます。

コンテナ テクノロジーは、マイクロサービス タイプのアプリケーションの開発に非常に適しています。この方法では、複雑なアプリケーションを基本コンポーネントに分割し、各コンポーネントを個別のコンテナにデプロイしてから、関連するコンテナをリンクして統合されたアプリケーションを形成します。アプリケーション全体を再開発する必要なく、新しいコンポーネント コンテナーを追加することでアプリケーションを拡張できます。

Docker コンテナ テクノロジーを例に挙げてみましょう。エンジニアリング チームと運用チームは、インフラストラクチャを複数のクラウド プロバイダーのサービスに拡張でき、Docker デーモンが実行されている限り、アプリケーションの正常な動作を確保できます。アプリケーションをクラウド プロバイダーから切り離すことで、IT チームの自由度が高まり、プロバイダー間のヘッジにおけるソフトウェア ソリューションの適応性が向上します。

ただし、コンテナ間の既存の依存関係により、サーバー間の移植性が制限される可能性があります。たとえば、Linux オペレーティング システム上で実行されている Docker コンテナーは、現在のバージョンの Windows Server オペレーティング システムでは実行できません。

要約すれば

完全に仮想化されたシステムには、固有のリソースセットが割り当てられます。

より強い隔離

しかし、それは占有率と総資源への依存度を増大させます。

コンテナは隔離性が弱いが、より軽量である

限られたリソースでも

何千ものコンテナを簡単に起動することも可能です。

おそらくサーバ仮想化とコンテナ技術

種類ではない

あらゆる仮想化タスクに最適なソリューション

しかし、実用化の観点から

多くの場合、同じデータセンター内に共存できる

つまり、2つの技術は互いに補完し合い、連携して機能するのです。

例えば、

コンテナ内でVMを実行する

仮想マシンで1つ以上のコンテナを実行する

こうすることで、あらゆる利便性を活用できます

<<:  Kubernetesが世界を支配するようになるのでしょうか? Dockerも例外ではない

>>:  VMware 仮想化インフラストラクチャを本番環境に実装する際に避けるべき 4 つの間違い

推薦する

ローカル移動ウェブサイトの最適化の詳細例

検索エンジンのアルゴリズムが継続的に更新されているため、SEO は以前よりも難しくなり、時間がかかる...

データは分散されており、コンピューティングもそれに追いつく必要があります。

[[221573]] 1. 背景懸命な努力の末、Zhang Dapang と Bill は分散ファイ...

Xunlei Kankan が kankan.com のドメイン名移行を完了、数百万ドル相当

Xunlei Kankanは9月21日、ネットワーク全体を新しいドメイン名www.kankan.co...

インド VPS: Windows/1G メモリ/2 コア/35g ハードディスク/500g トラフィック

2003 年から運営されているアメリカの老舗ホスティング会社、accuwebhosting をおすす...

ブランドマーケティングの6つのルール

成功したマーケティングがなければ、成功したビジネスはあり得ません。マーケティング活動は、企業が利益を...

安いWindowsVPS-$7/1gメモリ/40g SSD/1Tトラフィック/Windows2003/2008/

cheapwindowsvps は SSDVPS.com のものです。同社は現在 Windows V...

エッジ要素: Cheshijie.com の最適化とプロモーションの提案

雑談はやめて本題に戻りましょう。以下は、個人的な観点から見た Car Vision に関するいくつか...

記事ページにキーワードを配置する方法

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますキーワード...

WordPress 用のパーソナライズされたユーザーフレンドリーな 404 ページを作成する方法

ウェブマスターとして、私も間違いを犯すでしょうし、あなたも間違いを犯すでしょうし、私たちは皆間違いを...

ロビン・リーがビッグデータに関する新たな考え方を解説:価値あるデータを見つけることが困難

北京ニュース(劉霞記者)「今後5年間で大きな発展を遂げるが、BATはそれを成し遂げない」とは何だろう...

優れたクラウド戦略に関してCIOが犯しがちな間違い

エンタープライズ IT はますますクラウド テクノロジーによって推進されています。しかし、成功のため...

1 か月でキーワードを Baidu のホームページに掲載する方法

私は A5 で 1 年以上働いていますが、SEO の経験を共有する記事をあまり書いていません。他に理...

キーワード計画についてすべてのウェブマスターに警告する痛い経験

ウェブマスターのウェブサイトで最後にお会いしてから半月が経ちました。私の孟飛洋のウェブサイトは最近い...

インターネットデータセンターからの予測:5年後にはクラウドコンピューティングが企業の業務を完全に覆すだろう

新型コロナウイルス肺炎の発生後、人々は流行と闘い、感染を避けるために、できるだけ家に留まるように努め...

Kubernetes におけるステートフルとステートレスとは?

Kubernetes では、ステートレスとステートフルは、アプリケーションの動作とアーキテクチャを説...