マイクロサービス、クラウド、 エッジ コンピューティングのいずれであっても、今日の最先端テクノロジーの多くは、オペレーティング システムとソフトウェア インスタンスを基盤となる物理コンピューターから分離する仮想マシンの概念のおかげです。

仮想マシン – 定義

仮想マシン(VM)は、物理コンピューターに拘束されずにプログラムまたはアプリケーションを実行するソフトウェアです。 VM インスタンスには、ホスト マシン上で実行される 1 つ以上のゲスト マシンを含めることができます。各仮想マシンは独自のオペレーティング システムを持ち、同じ物理ホスト上にある場合でも、他の VM とは別に機能します。仮想マシンは通常、サーバー上で実行されますが、デスクトップ システムや組み込みプラットフォーム上でも実行できます。複数の VM は、CPU サイクル、ネットワーク帯域幅、メモリなどの物理ホストのリソースを共有できます。

仮想マシンの起源は1960 年代に遡ります。当時は、ソフトウェアを物理ホストから分離するためにメインフレームのユーザー タイム シェアリングが使用されていました。 1970 年代初頭、仮想マシンは「実際のコンピューティング マシンの効率的で独立した複製」と定義されました。今日私たちが知っている VM は、過去 20 年間でさらに普及してきました。これは主に、企業が次の目的でサーバー仮想化を採用したためです。

  • 物理サーバーのコンピューティング能力をより効率的に使用するため、

  • 物理サーバーの数を減らし、

  • データセンターのスペースを節約します。

オペレーティング システム要件が異なるアプリケーションは単一の物理ホスト上で実行できるため、アプリケーションごとに異なるサーバー ハードウェアは必要ありません。

仮想マシン – 仕組み

一般に、VM には次の 2 種類があります。

  1. 単一プロセスを分離するプロセス VM 、および

  2. システム VM : オペレーティング システムとアプリケーションを物理コンピューターから完全に分離します。

プロセス VMの例には、Java 仮想マシン、.NET Framework、Parrot 仮想マシンなどがあります。システム VM は、ソフトウェアがハードウェア リソースにアクセスできるようにする仲介者としてハイパーバイザーに依存します。ハイパーバイザーは、コンピューターの CPU、メモリ、ディスク、ネットワーク、その他のハードウェア リソースをエミュレートし、特定のニーズに基づいて個々の VM に割り当てることができるリソースのプールを作成します。ハイパーバイザーは、互いに分離された複数の仮想ハードウェア プラットフォームをサポートできるため、VM が同じ物理ホスト上でLinuxおよびWindowsサーバー オペレーティング システムを実行できるようになります。デスクトップ コンピュータ システムでも仮想マシンを使用できます。この例としては、物理 Mac ハードウェア上で仮想 Windows インスタンスを実行している Mac ユーザーが挙げられます。

ハイパーバイザー分野の有名企業には次のようなものがあります。

  • VMware (ESX/ESXi)、

  • インテル/Linux ファウンデーション (Xen)、

  • Oracle (SPARC 用 MV サーバーおよび x86 用 Oracle VM Server) および

  • マイクロソフト (Hyper-V)。

ハイパーバイザーはリソースを管理し、VM に割り当てます。また、リソースの分散を計画し、ハイパーバイザーと VM の構成に適応させ、需要の変動に応じてリソースを再割り当てすることもできます。ほとんどのハイパーバイザーは、次の 2 つのカテゴリのいずれかに分類されます。

  • タイプ 1:ベア メタル ハイパーバイザーは物理ホスト マシン上で直接実行され、そのハードウェアに直接アクセスします。タイプ 1 ハイパーバイザーは通常サーバー上で実行され、タイプ 2 ハイパーバイザーよりも効率的かつ強力であると考えられており、サーバー、デスクトップ、およびアプリケーションの仮想化に適しています。タイプ 1 ハイパーバイザーの例には、 Microsoft Hyper-VVMware ESXiなどがあります。

  • タイプ 2:タイプ 2 ハイパーバイザーは、ホスト型ハイパーバイザーとも呼ばれ、ホスト マシンのオペレーティング システムにインストールされ、ハードウェア リソースへの呼び出しを管理します。タイプ 2 ハイパーバイザーは通常、特定の使用例のためにエンドユーザー システムに導入されます。たとえば、開発者はタイプ 2 ハイパーバイザーを使用してアプリケーションを構築するための特別な環境を作成したり、データ アナリストはタイプ 2 ハイパーバイザーを使用して分離された環境でアプリケーションをテストしたりできます。例には、 VMware WorkstationOracle VirtualBox などがあります。

VM – 利点と欠点

仮想マシンの利点:

  • ソフトウェアは物理ホスト コンピュータから分離されているため、ユーザーは 1 台のハードウェア上で複数のオペレーティング システム インスタンスを実行でき、会社の時間、管理コスト、および物理スペースを節約できます

  • もう 1 つの利点は、VM が古いアプリケーションをサポートできるため、古いアプリケーションを更新されたオペレーティング システムまたは別のオペレーティング システムに移行する必要性とコストが削減または排除されることです。

  • さらに、開発者は VM を使用して、安全なサンドボックス環境でアプリケーションをテストします。アプリケーションが新しいオペレーティング システムで動作するかどうかを知りたい開発者は、新しいハードウェアとオペレーティング システムを前もって購入する代わりに、VM を使用してソフトウェアをテストできます。たとえば、Microsoft は最近、無料の Windows VM を更新し、開発者が Windows 11 を実行する評価 VM をダウンロードして、プライマリ コンピューターをアップグレードせずにオペレーティング システムをテストできるようにしました。

  • これは、特定の VM インスタンスに感染する可能性のあるマルウェアを隔離するのにも役立ちます。 VM 内のソフトウェアはホスト コンピュータを改ざんできないため、悪意のあるソフトウェアが大きな損害を与えることはできません。

ただし、仮想マシンにはいくつかの欠点もあります。

  • 物理ホスト上で複数の VM を実行すると、特に特定のアプリケーションのインフラストラクチャ要件が満たされていない場合、パフォーマンスが不安定になる可能性があります。また、多くの場合、物理コンピュータよりも効率が低くなります。

  • 物理サーバーがクラッシュすると、そのサーバー上で実行されているすべてのアプリケーションが失敗します。ほとんどの IT 企業は、物理システムと仮想システムをバランスよく使用しています。

仮想マシン: 仮想マシンとは何ですか?

仮想化 – 他の形式

サーバー仮想化における VM の成功は、 仮想化の他の分野への応用につながりました。

  • メモリ、

  • ネットワークと

  • デスクトップ。

データセンターに適合するほぼすべてのハードウェアは、 仮想化の概念をすでに経験しています ( アプリケーション デリバリー コントローラーなど)。

ネットワーク仮想化の分野では、企業はNetwork-as-a-Service オプションネットワーク機能仮想化(NFV)を検討しています。ここでは、市販のサーバーが特別なネットワーク デバイスを置き換えて、より柔軟でスケーラブルなサービスを可能にします。対照的に、ソフトウェア デファインド ネットワーキングは、ネットワーク コントロール プレーンをフォワーディング プレーンから分離し、自動プロビジョニングとネットワーク リソースのポリシーベースの管理を可能にします。 3 番目のテクノロジーである仮想ネットワーク機能は、NFV 環境で実行できるソフトウェア ベースのサービスであり、次のようなプロセスが含まれます。

  • ルーティング、

  • ファイアウォール、

  • 負荷分散、

  • WANの高速化と

  • 暗号化。

たとえば、Verizon は NFV を使用して仮想ネットワーク サービスを強化し、顧客が必要に応じて新しいサービスや機能をセットアップできるようにします。サービスには、仮想アプリケーション、ルーティング、ソフトウェア定義の WAN、WAN の最適化、さらには VoIP やユニファイド コミュニケーションなどのリアルタイム IP ベースのサービスを一元管理し、安全に提供するサービスとしてのセッション ボーダー コントローラー (SBCaaS) が含まれます。

仮想マシンとコンテナ

仮想マシンの成長は、コンテナなどのテクノロジーの進歩も促進します。これらはコンセプトをさらに一歩進めたもので、Web アプリケーション開発者の間でますます人気が高まっています。コンテナ環境では、単一のアプリケーションをその依存関係とともに仮想化できます。コンテナにはバイナリ、ライブラリ、アプリケーションのみが含まれるため、仮想マシンよりもオーバーヘッドが大幅に低くなります。

ただし、複数のアプリケーションを一緒に実行する必要がある場合や、古いアプリケーションを古いオペレーティング システムで実行する場合などには、VM は依然として役立ちます。さらに、コンテナはアプリケーションを共有できるオペレーティング システムしか持たないのに対し、VM はアプリケーションとオペレーティング システムを分離できるため、コンテナはVM ハイパーバイザよりも安全性が低いと考える人もいます。

IDC の Software-Defined Compute 部門のリサーチ ディレクターである Gary Chen 氏は、クラウド アーキテクチャとコンテナにもかかわらず、VM ソフトウェア市場は引き続き重要であると考えています。 「仮想マシン ソフトウェア市場は、驚くほど回復力があることが証明されており、今後 5 年間成長し続けるでしょう。非常に成熟しており飽和状態に近づいているにもかかわらず、今後数年間はプラス成長するだろう」と、IDC の世界仮想マシン ソフトウェア予測 2021 ~ 2025 年の一部として専門家は書いています。

仮想マシン、5G、エッジ コンピューティング

仮想マシンは、 5Gエッジ コンピューティングなどの新しいテクノロジーの一部とみなされています。たとえば、Microsoft、VMware、Citrix などの仮想デスクトップ インフラストラクチャ (VDI) プロバイダーは、自社のVDI システムをハイブリッド ワーク モデルまたはホーム オフィスで働く従業員に拡張する方法を模索しています。

「VDI では、基本的にキーストロークとマウスの動きをリモート デスクトップに送信することになるため、非常に低い遅延が必要です」とカーネギー メロン大学のコンピューター サイエンス教授、マハデブ サティナラヤナン氏は言います。 2009 年、コンピューティングの専門家は、仮想マシン ベースのクラウドレットを使用して、インターネットのエッジにあるモバイル デバイスにより優れた処理機能を提供する方法について書きました。エッジ コンピューティング開発の開始信号

5G セルラーでは、 ネットワーク スライシングのプロセスでソフトウェア デファインド ネットワークと NFV テクノロジを利用して、仮想化サーバー上の VM にネットワーク機能をインストールし、以前は独自のハードウェアでのみ実行されていたサービスを提供します。現在使用されている他の多くのテクノロジーと同様、これらの革新は、仮想マシンの本来の概念がなければ不可能でした。 (FM)

この投稿は、米国の姉妹誌である Network World の記事に基づいています。