仮想マシンとコンテナは、抽象化の最も一般的な形式の 2 つですが、この 2 つの違いは何でしょうか?見てみましょう。
サーバー仮想化現在、ほとんどの企業では、異なるアプリケーションやプログラムが同じシステムに適していないため、特定のタスクやアプリケーションに各サーバーを使用していますが、ほとんどのサーバーは計算を実行するときに全体の処理能力のごく一部しか使用せず、サーバーの処理能力を十分に活用できないという問題があります。 仮想化は、複数のサーバーを 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 などの専用オペレーティング システムは、コンテナー化されたワークロードを安全かつ大規模に実行するために特別に構築されています。 仮想マシンとコンテナ複数のコンテナが同じホスト オペレーティング システム カーネルを使用するため、コンテナと仮想マシンにはいくつかの重要な違いがあります。
仮想マシンとコンテナのユースケース仮想マシンは、従来のリソース集約型のモノリシック アプリケーションに適しています。特に、それらのアプリケーションをクラウドに移行する準備ができている場合は適しています。 コンテナは、特にスケーラビリティ要件が高い場合に、Web サービスで使用されるマイクロサービスをホストするのに適しています。コンテナがこのように使用される場合、通常はコンテナ オーケストレーション システムによって管理され、コンピューター アプリケーションの展開、スケーリング、管理が自動化されます。これらは多くの場合、もともと Google によって設計され、現在は Cloud Native Computing Foundation によって管理されているオープンソース システムである Kubernetes をベースにしています。 それだけでなく、コンテナと仮想マシンは共存でき、コンテナは仮想マシン内で実行でき、企業は既存の仮想化インフラストラクチャ (仮想マシン管理システムなど) を使用してコンテナを管理できます。 元のテキスト: 仮想化とコンテナ化: 違いは何ですか? |
>>: ポストエピデミック時代に適切なITおよびクラウドサービスプロバイダーを選択する方法
SEO 業界で働き始めてから、最初は本当に混乱しました。フォーラムの方法に従って継続的に学習し、今で...
コミュニティ ウェブサイトは、その名前が示すように、インターネット上の小さなコミュニティです。例えば...
2010 年に設立されたスロバキアの商人である profvds は、HVM 仮想化、1Gbps の帯...
このGoogle PRアップデートは4月28日のものです。その夜、私は自分のビジネスウェブサイト(w...
数日前、私が管理するチャンネル(注:著者は重慶ポータルHualong.comのスタッフ)に、私のオリ...
[[441256]] Apache ShardingSphere はオープンソースの分散データベース...
毎日何百万ものマシンやオブジェクトがインターネットに接続される中、企業はエッジ コンピューティングを...
Kubernetes では、現在のリソース要件に基づいてワークロードをスケーリングできます。これによ...
デジタル時代に入り、クラウドコンピューティングと「人工知能+」を中心にあらゆる分野で変革と変化が起こ...
韓国の VPS は、香港と台湾を除いて中国に最も近いため、登録は必要ありません。また、高速であるため...
今日は、ブランドと小売業をデジタル化する方法についてお話ししたいと思います。データによると、流行の発...
Yecao Cloud(〜、アジア太平洋APINCおよび欧州RIPE NCCのメンバー)は、618年...
プロモーション手法について言えば、皆さんもたくさんあると思いますので、ここでは繰り返さずに本題に入り...
買い物中にお金を節約できると主張するキャッシュバックウェブサイトはかつては非常に人気があったが、現在...
クラウド コンピューティングとデータ サイエンスは複雑に関連し、クラウド プラットフォームはデータの...