サーバー仮想化ソフトウェアとは?
サーバー仮想化ソフトウェアは、物理サーバー上に仮想マシン(VM)を作成・管理し、各仮想マシンが独立して稼働するサーバーとして機能することを可能にします。サーバ仮想化により、IT部門は今日の強力な物理サーバの潜在能力を最大限に引き出すことができます。物理マシン上の各VMは、他のVMから独立して動作し、独自のオペレーティング・システムとアプリケーションを実行します。
サーバー仮想化ソフトウェアは、物理ハードウェアとVMの間のレイヤー(通常はハイパーバイザーと呼ばれる)として機能し、ハードウェア・リソースを抽象化し、仮想化ハードウェアとしてVMに提示する。ハイパーバイザーは、CPU、メモリ、ストレージ、ネットワーク・リソースなどのハードウェア・リソースを各VMに割り当てる。一般的に、ハイパーバイザーは実行するために物理マシンのリソースの5~10%を必要とする。
ハイパーバイザーの種類と使用例
主なハイパーバイザーは2種類ある。
タイプ1 ハイパーバイザー
通常、エンタープライズ環境で使用され、物理ハードウェア(すなわち「ベアメタル」)に直接インストールされるタイプ 1 ハイパーバイザーは、VM にハードウェアリソースへの直接アクセスを提供し、ハードウェアリソースの割り当てを動的に管理し、各 VM が他の VM から独立して動作できるようにする。タイプ1ハイパーバイザーには、VMware ESXi™、Microsoft® Hyper-V®、Citrix Hypervisor™(旧XenServer®)などがある。
タイプ1ハイパーバイザーの使用例には次のようなものがある:
- サーバーの仮想化。物理マシンが複数のVMを実行し、サーバーとして機能することで、ハードウェアリソースの利用率を向上させ、仮想サーバーの展開と管理を効率化する;
- データセンターにおける大規模なインフラストラクチャを構築・管理し、ハードウェアの効率的な利用と柔軟なコンピューティングリソースの割り当てを可能にする;
- クラウド・コンピューティング/サービスとしてのインフラストラクチャー(IaaS)。ハイパーバイザーによって、IaaSプロバイダーは柔軟で容易にスケーラブルなコンピューティング環境を構築・管理できる;
- 高可用性とフォールトトレランス。ハイパーバイザーは、より多くのユーザーがアクティブになったときや、ホストに障害が発生したときに、仮想サーバーを迅速にスピンアップできるようにする;
- ソフトウェア開発とテスト。開発者やソフトウェア・コード・テスターは、ホスト環境に影響を与えることなく、本番環境を素早く複製し、さまざまなオペレーティング・システムや構成でソフトウェアの互換性をテストすることができる。
タイプ2 ハイパーバイザー
一般的にデスクトップやワークステーション環境で使用されるタイプ 2 のハイパーバイザは、ホストオペレーティングシステムの上で動作し、ゲスト仮想マシンに仮想化機能を提供する。管理する VM のハードウェアリソースを動的に調整するタイプ 1 のハイパーバイザとは異なり、タイプ 2 のハイパーバイザでは RAM などの物理リソースを VM に割り当てる。タイプ2のハイパーバイザーには、VMware® Workstation、Oracle® VirtualBox、Microsoft Virtual PCなどがある。
タイプ2ハイパーバイザーの使用例には以下のようなものがある:
- デスクトップ仮想化。レガシー・アプリケーションを使用するため、あるいはコンピューティング環境を分離するために、ユーザーがローカル・システム上でVMを実行する(例えば、仕事関連のコンピューティングと個人的なコンピューティング);
- ソフトウェア開発では、開発者が物理的なマシン上のOSとは異なるOSを使用してローカル・デバイス上でコードを書いたり、開発マシンを物理的なマシンから分離したい場合に使用する;
- ソフトウェアのテストやデバッグを行う場合、テスト用のマシンは1台で十分です(完全な本番環境ではありません);
- 教育やトレーニングでは、それぞれの専用ハードウェアを必要とせずに、さまざまなオペレーティング・システムやソフトウェア設定、ネットワーク設定を練習したり実験したりすることができる;
- デモとプレゼンテーション。プレゼンターや営業担当者は、1台の物理的なマシンを使って、オンデマンドでソフトウェアのデモを実行できる。
リソースの割り当てを動的に調整することができるため、本番環境でサーバ仮想化を実現するためには、タイプ2ではなくタイプ1のハイパーバイザが使用されることに注意されたい。
サーバー仮想化ソフトウェアの代替アプローチ
別の仮想サーバーソフトウェアのアプローチには、パラ仮想化やOSレベルの仮想化(コンテナ化として知られる)がある。
パラ仮想化
パラ仮想化では、ゲスト・オペレーティング・システム(OS)が基盤となるハイパーバイザーと直接通信するように変更され、ゲストOSが仮想化環境で稼働していることを認識できるようになるため、特定のオペレーションを実行する際に必要なリソースについて、ハイパーバイザーにタイムリーな呼び出しを行うことができる。
ハイパーバイザーと直接通信することで、パラ仮想化はメモリ管理、I/O操作、システムコールなどのタスクに関連するオーバーヘッドを削減し、特定のシナリオでは完全仮想化よりも優れた性能を発揮する。
パラ仮想化はゲストOSに変更を加える必要があるため、そのままではすべてのOSと互換性がない場合があります。パラ仮想化をサポートする仮想化プラットフォームには、VMware vSphere®とXen(フリーでオープンソース)の2つがあります。あるいは、ゲストOSのソースコードを変更して、パラ仮想化を有効にすることもできます。
サーバー仮想化に使用する場合、パラ仮想化はこのようなユースケースに最適である:
- アプリケーション・データがセカンダリ・ストレージ・デバイスと頻繁に交換されるような、I/O集中型のワークロード;
- 高いネットワークスループットが要求される場合(帯域幅の重いアプリケーションなど);
- リアルタイムアプリケーション(ビデオ会議、VoIP、オンラインゲーム、一部の電子商取引アプリケーション、インスタントメッセージ、チームコラボレーション);
- ハイパフォーマンス・コンピューティング;
- レガシーアプリケーション。
OSレベルの仮想化/コンテナ化
OSレベルの仮想化、別名コンテナ化では、単一のオペレーティング・システム・インスタンス内に複数の分離されたコンテナを作成し、管理することができる。これらのコンテナはオペレーティング・システムを含まないため、「真の」VMではない。その代わり、各コンテナは独自のアプリケーションとCPU、メモリ、ファイル・システムなどの分離されたリソースを持つ個別の環境を提供し、すべてのコンテナはホストOSカーネルを共有する。
単一の物理サーバ上で複数のオペレーティング・システムを実行する必要がないこのアプローチは、コンテナが完全なVMよりも少ないリソースを消費することを意味するが、オペレーティング・システムに関する同じ柔軟性は提供しない。初期のコンテナ技術の1つであるDocker®はLinuxベースですが、物理マシン上で実行されるマイクロLinux VMを使用してWindows®およびMacOS®マシン上でコンテナをプロビジョニングすることで、この柔軟性の低下に対処しています。
コンテナは、ポータブルでスケーラブルな方法でアプリケーションをデプロイし、実行するために一般的に使用される。各コンテナはアプリケーションとその依存関係をカプセル化し、ソフトウェアのパッケージ化、管理、デプロイを容易にします。コンテナはまた、アプリケーション間の分離を提供し、アプリケーションが同じホスト・サーバー上で実行されている場合でも、アプリケーションの競合を排除します。
サーバー仮想化に使用される場合、コンテナ化はこれらのユースケースで最高の性能を発揮する:
- アプリケーションのテストやデプロイといったDevOpsの活動;
- マルチクラウド環境にアプリケーションを展開し、各環境で一貫したアプリケーションの実行を可能にする;
- 複数のオペレーティングシステムを排除することでインフラを最適化し、スケーラビリティの向上と効率的なリソース割り当てを可能にする;
- アプリケーションのテストとデバッグ
- レガシーアプリケーションをサポートし、最新システムへの移行や統合を容易にします。
エンドユーザー・アプリケーションに最適な選択とは?
従業員にアプリケーションを提供する場合、タイプ1のハイパーバイザーを使用したサーバー仮想化が最も典型的なアプローチである。なぜだろうか。仮想デスクトップ・テクノロジーは、生産性アプリケーションを含む仮想デスクトップを従業員に提供することを目的として構築されており、ITチームがサーバー・リソースを管理し、エンド・ユーザー・エクスペリエンスを最適化することを可能にする多くの機能を備えています。
タイプ2のハイパーバイザーを利用する仮想技術は、一般的に、この投稿で説明したユースケースで個人によって利用される。
パラ仮想化は、レスポンスとパフォーマンスが最優先される特定のアプリケーションのために、企業環境で採用されることが最も多い。
コンテナは主に、ソフトウェア開発チームやDevOpsチームによって使用され、彼らの仕事を容易にするのに役立っている。エンドユーザー・コンピューティング・チームは、タイプ1ハイパーバイザーを使用する仮想化テクノロジーに多大な投資を行ってきたため、ビジネスクリティカルなレガシー・アプリケーションのような特殊なユースケースを除いて、コンテナ・テクノロジーに移行するインセンティブはほとんどない。
しかし、顧客にアプリケーションを提供するために、サーバー仮想化ソフトウェアに代わるものを探しているWindows ISVであれば、GO-Globalをご検討ください。
GO-Global®により、ISVはパブリック、プライベート、またはハイブリッドクラウドから、ブラウザをサポートするあらゆるデバイスにWindowsアプリケーションを公開することができます。GO-Globalを使用することで、IT部門はWindowsアプリケーションをCitrix®やVMwareのVDIソリューションよりも最大70%低コストで提供することができます。低コストにもかかわらず、GO-Globalはエンタープライズレベルのスケーラビリティを提供しますが、インストール、構成、および使用が簡単で、実装に必要な技術オーバーヘッドが大幅に少なくなっています。
詳細については、デモをリクエストするか、30日間の無料トライアルをダウンロードしてください。