詳細説明:仮想化とコンテナ化、その違いをご存知ですか?

詳細説明:仮想化とコンテナ化、その違いをご存知ですか?

仮想マシンとコンテナは、抽象化の最も一般的な形式の 2 つですが、この 2 つの違いは何でしょうか?見てみましょう。

[[401862]]

サーバー仮想化

現在、ほとんどの企業では、異なるアプリケーションやプログラムが同じシステムに適していないため、特定のタスクやアプリケーションに各サーバーを使用していますが、ほとんどのサーバーは計算を実行するときに全体の処理能力のごく一部しか使用せず、サーバーの処理能力を十分に活用できないという問題があります。

仮想化は、複数のサーバーを 1 つのサーバーに統合し、複数の仮想環境を実行することでこの問題を解決します。各 VM には独自のオペレーティング システム (オペレーティング システムは異なる場合があります) があり、その上にアプリケーションをインストールできます。

仮想マシンは、互いに分離され、仮想ホストからも分離されるように設計されているため、あるアプリケーションのセキュリティ問題が、別の仮想マシンで実行されている別のアプリケーションに影響を与えることはありません。同様に、アプリケーションがクラッシュしてサーバーの再起動が必要な場合でも、他の VM の動作に影響を与えることなくその VM を再起動できます。ただし、この分離は時々破られることがあります。これは VM エスケープと呼ばれる現象です。

また、仮想化により、VM は移植可能であるため、スケーラビリティも向上します。たとえば、仮想ホスト上の VM で 2 つのアプリケーションが実行されているが、一方のアプリケーションで大量のリソースが必要なために、2 つの VM が同じホスト上で共存できなくなるという状況が考えられます。

仮想化がなければ、アプリケーションを新しいサーバーに移動するのは困難な作業になります。しかし、VM はコンピュータ ファイルの形式で存在するため、このファイルはネットワーク経由 (またはストレージ メディア経由) で新しい仮想ホストに簡単にコピーまたは移動できます。実際、VMware の vMotion や Microsoft の Live Migration などの機能を使用すると、仮想マシンを実行中に新しいホストに移動できるため、提供されるサービスが中断されることがなくなります。

それに加えて、これは災害復旧にも重要な意味を持ちます。災害が発生した場合、プライマリ サイトをミラーリングせずに仮想マシンをセカンダリ サイトに転送できます。基本的に必要なのは、セカンダリ サイト上に十分な数の仮想ホストがあることだけです。

ハイパーバイザーは、基盤となる物理サーバーとオペレーティング システムの間で実行される中間ソフトウェア レイヤーであり、複数のオペレーティング システムとアプリケーションがハードウェアを共有できるようにします (仮想マシン モニターと呼ばれることもあります)。これは、独自の OS カーネルを含み、物理サーバー上で直接実行される VMware ESXi などの「ベア メタル」ハイパーバイザー (タイプ 1 ハイパーバイザーとも呼ばれる) である場合もあれば、Windows Server および Windows 10 上で実行される Microsoft の Hyper-V などのオペレーティング システムに組み込まれたハイパーバイザー (タイプ 2 ハイパーバイザーとも呼ばれる) である場合もあります。

IBM は 1960 年代に最初のハイパーバイザーを開発しました。現在人気のあるハイパーバイザーには、Hyper-V、ESXi、KVM、Nutanix AHV などがあります。

容器

仮想化とは対照的に、コンテナ ホストはコンテナ システムだけでなく独自のオペレーティング システムも実行する必要があります。

コンテナは、単一のアプリケーション (またはマイクロサービス) と、実行に必要なその他の重要なファイルで構成され、コンテナ ホストのオペレーティング システム カーネル、バイナリ、およびライブラリを活用して実行されます。これらの共有ファイルは、読み取り専用ファイルとしてコンテナーに公開されます。コンテナ ホスト上で実行されている他のコンテナも、ホストのカーネル、バイナリ、ライブラリを共有します。

コンテナは仮想マシンよりもはるかに軽量で起動が速いため、マイクロサービスの実行に最適です。マイクロサービスの需要が増加するとコンテナを有効にし、需要が減少するとコンテナを削除できます。また、パブリック クラウド、プライベート クラウド、従来のデータ センター間で簡単に移動することもできます。

現在最も人気のあるコンテナ環境は Docker ですが、他には rkt、Apache Mesos、lxc、containerd、Hyper-V コンテナ、Windows Server コンテナなどがあります。

Red Hat の Fedora CoreOS などの専用オペレーティング システムは、コンテナー化されたワークロードを安全かつ大規模に実行するために特別に構築されています。

仮想マシンとコンテナ

複数のコンテナが同じホスト オペレーティング システム カーネルを使用するため、コンテナと仮想マシンにはいくつかの重要な違いがあります。

  • コンテナは仮想マシンよりもはるかに小さく、または「軽量」で、通常は数メガバイトで構成され、必要なハードウェア リソースもはるかに少なくなります。つまり、物理サーバーは仮想マシンよりも多くのコンテナをホストできます。
  • コンテナは数秒または数ミリ秒で起動できます。対照的に、仮想マシンの起動には長い時間がかかります。
  • コンテナはすべてホストのオペレーティング システムを共有するため、すべてのアプリケーションは同じオペレーティング システム上で実行する必要があります。対照的に、仮想ホスト上で実行される仮想マシンは、さまざまなオペレーティング システム (Linux、Unix、Windows など) を実行できます。
  • コンテナを使用する場合、コンテナ ホストのオペレーティング システムのみにパッチを適用して更新する必要があります。一方、仮想マシンでは、オペレーティング システムごとにパッチと更新が必要です。
  • 1 つのコンテナがコンテナ ホストのオペレーティング システムをクラッシュさせると、そのホストで実行されているすべてのコンテナが失敗します。
  • コンテナ ホストのオペレーティング システム カーネルのセキュリティ脆弱性は、そのホストがホストするすべてのコンテナに影響します。

仮想マシンとコンテナのユースケース

仮想マシンは、従来のリソース集約型のモノリシック アプリケーションに適しています。特に、それらのアプリケーションをクラウドに移行する準備ができている場合は適しています。

コンテナは、特にスケーラビリティ要件が高い場合に、Web サービスで使用されるマイクロサービスをホストするのに適しています。コンテナがこのように使用される場合、通常はコンテナ オーケストレーション システムによって管理され、コンピューター アプリケーションの展開、スケーリング、管理が自動化されます。これらは多くの場合、もともと Google によって設計され、現在は Cloud Native Computing Foundation によって管理されているオープンソース システムである Kubernetes をベースにしています。

それだけでなく、コンテナと仮想マシンは共存でき、コンテナは仮想マシン内で実行でき、企業は既存の仮想化インフラストラクチャ (仮想マシン管理システムなど) を使用してコンテナを管理できます。

元のテキスト: 仮想化とコンテナ化: 違いは何ですか?

<<:  DevOps 実装の核心と 13 の経験のまとめ

>>:  ポストエピデミック時代に適切なITおよびクラウドサービスプロバイダーを選択する方法

推薦する

SEO はそれほど難しいことではないということをお伝えしておきます。

SEO 業界で働き始めてから、最初は本当に混乱しました。フォーラムの方法に従って継続的に学習し、今で...

コミュニティウェブサイトのSEOはウェブサイト構築システムから始まります

コミュニティ ウェブサイトは、その名前が示すように、インターネット上の小さなコミュニティです。例えば...

プロバイダー: スロバキア VPS、月額 10 ユーロ、1G メモリ/1 コア/20g ハードディスク/1Gbps 帯域幅 (トラフィック無制限)

2010 年に設立されたスロバキアの商人である profvds は、HVM 仮想化、1Gbps の帯...

PageRank の更新後の感想を共有してください

このGoogle PRアップデートは4月28日のものです。その夜、私は自分のビジネスウェブサイト(w...

Baidu のスナップショット日付から見た Baidu 検索エンジン

数日前、私が管理するチャンネル(注:著者は重慶ポータルHualong.comのスタッフ)に、私のオリ...

ShardingSphere 分散データベースの紹介

[[441256]] Apache ShardingSphere はオープンソースの分散データベース...

エッジコンピューティングに関する3つの誤解

毎日何百万ものマシンやオブジェクトがインターネットに接続される中、企業はエッジ コンピューティングを...

Kubernetesを一緒に学ぶ: 自動スケーリング

Kubernetes では、現在のリソース要件に基づいてワークロードをスケーリングできます。これによ...

素晴らしい! Volcano Engine パブリック クラウド シティ共有カンファレンスが広州で開催され、「クラウドに乗って広東省を助けよう」と呼びかけています。

デジタル時代に入り、クラウドコンピューティングと「人工知能+」を中心にあらゆる分野で変革と変化が起こ...

hostkvm: 韓国の VPS (cn2\cmi とその他のハイブリッド BGP) の簡単な評価と測定されたネットワーク データの共有

韓国の VPS は、香港と台湾を除いて中国に最も近いため、登録は必要ありません。また、高速であるため...

オムニチャネルオンラインマーケティングレポート!

今日は、ブランドと小売業をデジタル化する方法についてお話ししたいと思います。データによると、流行の発...

Yecao Cloud: 618 中年セール、香港 VPS は年間 138 元から、広帯域 + 無制限トラフィック、BGP/CN2/Huawei 専用回線

Yecao Cloud(〜、アジア太平洋APINCおよび欧州RIPE NCCのメンバー)は、618年...

SEOのためのメールマーケティング

プロモーション手法について言えば、皆さんもたくさんあると思いますので、ここでは繰り返さずに本題に入り...

万家ショッピング、1兆ドル規模の「リベート市場」に関わる反ダンピングで閉鎖の可能性

買い物中にお金を節約できると主張するキャッシュバックウェブサイトはかつては非常に人気があったが、現在...

クラウドコンピューティングとデータサイエンスの違い

クラウド コンピューティングとデータ サイエンスは複雑に関連し、クラウド プラットフォームはデータの...