コンテナの代わりに仮想化がまだ使用されているのはなぜですか?

コンテナの代わりに仮想化がまだ使用されているのはなぜですか?

2021 年のコンテナ時代においても、クラウド プロバイダーは、ゲスト VM がホスト ハードウェアから独立しているため、システムの利用可能なリソースをより多く使用し、IT モビリティを向上させるためにハイパーバイザーを使用しています。

ハイパーバイザー物理サーバーで複数の VM をゲストとして並行して実行できるようにします。

コンテナオペレーティング システムの仮想化の一種です。

どちらのシステムも同じ目的を達成できますが、コンテナの方がはるかに効率的です。

コンテナは十分なセキュリティを提供していないと言う人もいるかもしれませんが、ゼロトラストコンテナ可能かもしれない。

クラウド プロバイダーがベアメタル サーバーでコンテナ化ではなくハイパーバイザーを依然として使用しているのはなぜなのか、いまだに疑問に思います。

答え1

コンテナはない「オペレーティング システムの仮想化の一形態」。コンテナは、単一の OS イメージで複数のユーザー環境を構築する方法です。コンテナと VM で同じ目的を達成することは決してできませんでした。コンテナは、仮想マシンを置き換えることを意図したことのないテクノロジに基づいています。これは、たとえば chroot よりも安全な jail を構築する方法です (「強化された chroot」のようなものです)。

「オペレーティング システムの仮想化の形式」を確認したい場合は、Xen 準仮想化テクノロジについて学習してください。それOS 仮想化の形式です。

コンテナでは実行できないタスクは数多くあります。たとえば、Windows アプリと Linux アプリの両方を実行する必要があることが多く、他に何が必要かは神のみぞ知るところですが、それを実現する唯一の方法は仮想化です。

しかし、どちらの方法でも解決できるタスクは数多くあります。なぜ、コンテナを使用して解決できないのでしょうか?

人々の心の中に慣性があるからです。VM はコンピューターと同じで、長い間使用されており、誰もが慣れています。コンテナーはまったく異なるものです。

Windows が広く普及しているため、そのような概念はありません。真に安全なコンテナ化された環境ではライセンス制限を適用するのが難しいためだとさえ推測できます。Microsoft のライセンス条件は常に非常に曖昧でしたが、コンテナを含めると、最も忠実な支持者にとっても耐え難いものになる可能性があります。

答え2

コンテナには数多くの利点があるにもかかわらず、仮想化は非常に柔軟性が高いため、今でも使用されています。

たとえば、VM ゲストでネストされた仮想化を有効にすることができます。この機能を有効にすると、VM ゲストはホスト システムと同じ仮想化機能を持つようになります。

このようなセットアップにより、コンテナ専用のホスト システムや、コンテナをホストする限られた数の VM を使用するよりも、リソース フットプリントを大幅に拡張できます。

理論上、個々の VM はさらに 3 ~ 5 個の VM を作成し、それらをコンテナ化してより効率的に使用することができます。

答え3

完全な OS インストールと、コンテナーにはない一種の永続性を必要とするユースケースが多数あるためです。

これは Microsoft によるもので、明らかに Azure 向けですが、それでも良い比較になります。https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm

答え4

コンテナでは、すべてのコンテナで同じ OS を実行する必要があります。しかし、多くの場合、異なる OS を実行する必要があります。クラウドで Linux と Windows の両方のシステムを実行する必要があるかもしれません。さらに、新しいシステムでは動作しない特定のアプリケーション用に、Linux または Windows の特定の古いバージョンを実行する必要があるかもしれません。クラウド プロバイダーにとって、さまざまな顧客 (複数の異なる OS を必要とする可能性がある) のニーズを満たす唯一の方法は、仮想化です。

関連情報