データプラットフォームのソフトウェアの保守や定期的なアップデートに煩わされることがなくなれば、データが持つ可能性を最大限に引き出すことに集中できます。
公開日:2022年6月1日
仮想化とは、物理ハードウェアプラットフォームの代わりに仮想ハードウェアプラットフォームを使用することです。仮想サーバー、仮想デスクトップ、仮想ストレージデバイスなどのコンピューティングリソースを、仮想化ソフトウェアを使用して作成します。このソフトウェアによって作成された仮想マシン(VM)は、ハードウェアを基盤にソフトウェアを実行している物理マシンと同じように動作します。ユーザーの観点から見た仮想化の主な目標は、物理コンピューターを使った作業との違いを感じさせないようにすることです。ITマネージャーの観点から見た仮想化の目標は多岐にわたり、管理の簡素化、拡張性の向上、運用コストの削減などがあります。
仮想化は、物理ハードウェアでは実現できない柔軟性を提供します。仮想ハードウェアを実行する1台のコンピューターは、複数の仮想マシンを同時にエミュレートすることができ、これらの仮想マシンはそれぞれが完全に独立しています。たとえば、Windowsサーバーは同時に12台のVMを実行でき、LinuxのようなオープンソースプラットフォームのディストリビューションとWindowsを組み合わせることもできます。それぞれのVMを操作しているユーザーからは、他のVMのユーザーが見えることはありません。この戦略の重要なメリットの1つは、企業が12種類の異なるデバイスではなく、1台のサーバーでさまざまな種類の異なるワークロードをホストできることです。
このようなオンプレミス環境でのシンプルな仮想化にもメリットがありますが、仮想マシンを大規模に導入し一元的に管理できるクラウド環境は、仮想化テクノロジーと切っても切れない関係にあります。最近のほとんどのWebプラットフォームやアプリケーションプラットフォームは大規模な仮想環境で動作し、数千台のVMが同時に実行されることもあります。これだけの規模の仮想環境を運用するには、VMの管理に細心の注意を払う必要があります。また、選択したクラウドプラットフォームでの作業に関する豊富な経験も欠かせません。
この記事では、仮想化のさまざまな種類、市場に出回っている主要な仮想化ツールとプラットフォーム、導入のためのベストプラクティスなど、仮想化について詳しく説明します。
仮想化はシミュレーターの一種と考えることができます。オペレーティングシステムやアプリケーションなど、実際のコンピューターの動作を模倣した「仮想マシン」と呼ばれる仮想コンピューターを作成するために、仮想化ソフトウェアという特別なソフトウェアがあります。仮想マシンを作成するこのソフトウェアはハイパーバイザーと呼ばれます。ハイパーバイザーは、それぞれに異なる仮想オペレーティングシステムやアプリケーションを搭載した複数の仮想マシンを、1つのホストで実行できます。
1つのハイパーバイザーで複数のVMを実行するとパフォーマンスが大幅に低下することが多くなるため、管理ソフトウェアが重要な役割を果たします。結果として仮想化はパフォーマンスがそれほど重要視されないアプリケーションによく使用されますが、仮想化にはコスト、柔軟性、セキュリティに関する多くのメリットがあるため、その強みは欠点をはるかに上回ります。
現在使用されている仮想化には以下のような種類があります(ただし、これらに限定されるものではありません)。
- サーバーの仮想化:仮想化について話題にする場合、特に明記されていない限り、一般的にはサーバーの仮想化を意味しています。仮想サーバーとは、仮想マシンを使用することと同義であり、仮想的に実行されるサーバーOSのインスタンスを意味します。サーバーの仮想化が一般的に行われているクラウドサービスでは、ホスティングプロバイダーが仮想サーバーを顧客に貸し出し、多くのサーバーが個々に独立しながら、同じ物理サーバースペースを共有できます。
- デスクトップの仮想化:デスクトップOSもサーバーと同じように仮想化できます。これにより、完全なデスクトップPCと同等のパワーを持たないシンプルなデバイスを使用したデスクトップサービスにリモートからアクセスできます。
- ストレージの仮想化:ストレージの仮想化では、物理的なストレージデバイスをセグメント化したり統合したりして仮想化されたストレージやディザスタリカバリスペースを作成することで、管理や保護をより簡単に行えるようになります。
- ネットワークの仮想化:このタイプの仮想化テクノロジーでは、小さなチャネルにセグメント化された仮想のネットワークリソースを、必要に応じてリソースやユーザーに割り当てることができます。管理者はこれによってネットワーク上のリソース割り当てをより細かく制御できます。
- アプリケーションの仮想化:アプリケーションの仮想化は、そのソフトウェアを実行することを想定していないオペレーティングシステム上で、ソフトウェアを実行できるようにします。ゲストOSと呼ばれるこのタイプのソフトウェアを利用すると、たとえば、Windowsコンピューター上でLinuxアプリケーションを実行し、ウィンドウを切り替えるだけでそのアプリケーションを使用できるようになります。
仮想化の種類には、サーバーの仮想化、デスクトップの仮想化、ストレージの仮想化、ネットワークの仮想化、アプリケーションの仮想化などがあります。
クラウドコンピューティングは仮想化なしでは考えられません。この2つのテクノロジーは密接に関係しており、ハイブリッドクラウドを含むクラウドコンピューティングの機能は仮想化テクノロジーに完全に依存しています。クラウドコンピューティングプロバイダーは、さまざまな「as a Service (サービスとして)」の形で仮想化を実装しています。消費者レベルでは、何百万人ものユーザーが、Webベースの電子メールやオンラインファイルストレージシステムなどのツールを介して、仮想サーバーと直接やり取りしています。エンタープライズレベルでも、クラウドコンピューティングは仮想サーバーに大きく依存しています。仮想WebサーバーはWebサイトをホストし、仮想アプリケーションサーバーはモバイルアプリやeコマースシステムなどのエンタープライズワークロードを実行します。
これらのクラウドベースサービスは、プロセッサを自動化し、変化するニーズに対応できる柔軟性をもたらすため、企業にとって不可欠です。仮想サーバーは瞬時に起動でき、需要がなくなればすぐに停止できます。これにより、企業は高価で管理の難しい多数の物理サーバーやその他の物理リソースを稼動させ続けることなく、高い可用性と顧客満足度を維持できます。
仮想化テクノロジーは、以下をはじめとする多くのメリットをもたらします。
- コスト削減:仮想サーバーは、物理サーバーやその他のハードウェアリソースに比べて、運用コストをはるかに低く抑えられます。クラウド環境では仮想サーバーを従量課金モデルで運用できますが、コンピューターハードウェアや物理サーバーを運用するには多額の初期投資に加え、電力、冷却、人件費などの継続的な維持費が必要になります。
- 柔軟性の向上:WindowsマシンしかないオフィスでLinuxアプリを実行する必要が生じた場合、仮想化アプリケーションを利用すれば、マシンをもう1台購入することなく簡単に別の運用環境を利用できます。
- アップタイムの向上:仮想サーバーに障害が発生しても、追加コストなしでほぼ瞬時に作成し直すことができるため、ダウンタイムの短縮につながります。仮想サーバーへのアクセスを提供しているクラウドサービスプロバイダーのほとんどは、オンプレミスのデータセンターでは太刀打ちできないレベルのアップタイムを保証しています。
- 容易な移行:異なるオペレーティングシステムへの移行や、物理サーバー間の移行は骨の折れる作業です。仮想空間では、運用環境がまったく異なる場合でも、ユーザーからユーザーへ、あるいは別の環境へと、ほんのわずかなキーボード操作でリソースを移行できます。
- 安全なサンドボックスの運用:仮想化を利用することで、試験用のコードを安心してテストできる安全なサンドボックスを作成できます。問題が生じた場合にはサーバーを即座に強制終了できるため、ネットワークの残りの部分に損害を与える心配がありません。
このテクノロジーを初めて利用する人にとって、仮想化には以下のような課題があります。
- 複雑さの増大:仮想化ソフトウェアの管理は、オンプレミスソフトウェアの管理ほど直感的に理解できるものではなく、相当な学習が必要です。仮想マシンのインスタンスが数百、あるいは数千に増えると、極めて複雑になり、コストも増加します。
- パフォーマンスの問題:仮想サーバーは、仮想化を可能にするために必要な抽象化レイヤーが追加されているため、ローカルハードウェアで実行されるソフトウェアよりもパフォーマンスが低くなります。リアルタイムの高いパフォーマンスが求められるようなコンピューティング環境では、仮想化が適切でない、あるいは追加のリソースが必要になる場合があります。
- 監視の難しさ:仮想サーバーの実行速度は、物理サーバーほど簡単には判断できません。パフォーマンスに関する有意義なインサイトを得るには、通常は追加の監視ソフトウェアが必要になります。
- バックアップの欠如:仮想デバイスは、障害が発生するとすべてが失われます。システムの最後の正常な状態を保持するハードドライブやその他のストレージデバイスがないため、バックアップやその他のフェイルオーバーツールの管理には注意が必要です。
- ローカルで管理できない:物理デバイスであれば、IT管理者はローカルで管理して運用を微調整できます。仮想環境ではそのような管理ができないため、管理者によっては問題となる可能性があります。
- セキュリティの問題:一般的に、クラウドサービスはオンプレミス環境と同等かそれ以上に安全であると考えられていますが、サービスが仮想ファイアウォールやその他のセキュリティソリューションを含む最高レベルのセキュリティで運用されていること、そしてパッチや更新プログラムが定期的にインストールされていることを確認するのは組織の責任です。仮想環境が複雑になるほど、このプロセスは困難になり、ミスが起こりやすくなります。
仮想化を導入するには、以下の手順に従います。
- 試験運用から始める:ローカルの仮想マシンをデスクトップレベルで設定し、プライマリ環境内で別のオペレーティングシステムをエミュレートします。これにより、仮想マシンを隅々まで把握し、リソース割り当ての基本を理解し、さまざまな仮想環境の扱い方を学ぶことができます。このように小規模な環境であれば、多くの仮想化テクノロジーを自由に試してみることができます。
- 仮想環境を拡大する:役目を終えたサーバーや使用していないその他のコンピューティングデバイスを、フル機能の仮想化プラットフォームとして再利用し、1台のサーバーで複数のVMを試験的に実行できます。これにより、さらに複雑な環境の構成と管理、新しいVMの起動と強制終了、さまざまな仮想マシンへのストレージリソースの割り当て方法を学びます。
- VM管理ツールを実装する:VM管理ツールは、すべてのVMを適切な状態に保ちます。このソフトウェアはVM環境の調整に役立ち、管理者はダッシュボードを使用して仮想化運用を一元的に監視できます。このソフトウェアを使用すると、さまざまなVMアクティビティを簡単に追跡できます。そのため、オンプレミスサーバーを使用しているなど、リソースが制限されている場合には不可欠です。
- クラウドでの仮想化に着手する:1台の物理サーバーでも、十数台のVMであれば管理するのは難しくないかもしれませんが、クラウドでは1,000台以上のサーバーにすばやく拡張できます。最初から利用する必要はありませんが、クラウドプラットフォームにはVMのインスタンスを設定するためのさまざまなツールが用意されており、各種機能を備えたさまざまなツールが提供されることもあります。まずは、最も低コストで一般的なツール(たとえば、Amazonはt2.microツールとAmazon Linux 2 AMIツールを推奨)から始めて、方向性を決めましょう。
- 設定を微調整する:VMのストレージボリュームを設定し、必要なセキュリティ設定を理解するための作業を行います。仮想マシンもマシンであることに変わりはなく、VMからアクセスできるデータは、オンプレミスサーバーのデータと同じように保護する必要があります。必要に応じてVMを終了し、そのデータを削除する方法を学びましょう。
- VMへのリモートアクセスを始める:ユーザーが仮想マシンに接続し、仮想マシンを使用してデータを処理できるようにすることが、仮想化テクノロジーの最終目標です。VMに安全に接続し、ワークロードを管理し、エンドユーザーとアクセスを共有する方法を理解します。最も重要なことは、ユーザーや管理者が行うさまざまな設定や決定が、サービスに支払う価格にどのように影響するかを理解することです。繰り返しになりますが、請求書を見てショックを受けないようにするためには、時間をかけて小規模に始め、より堅牢な処理環境を構築していくことが重要です。
仮想化の導入に必要なのは、積極的なテスト運用と、環境の拡張に役立つ管理ツールの実装です。
ソフトウェアベースのソリューションに加えて、すべての大手クラウドサービスプロバイダーは仮想化プラットフォームを提供しています。この市場の主な企業をご紹介します。
- VMware:仮想化市場のパイオニアであり、同社の社名は仮想化の代名詞となっています。VMwareは、さまざまな種類のニーズに対応した複数の仮想化ソリューションを提供しています。多くのクラウドサービスは自社のプラットフォームでVMwareソリューションをサービスとして提供しています。
- Microsoft:同社のHyper-Vソフトウェアは、Windowsプラットフォーム上でネイティブのハイパーバイザーとして動作するように設計されています。これは、近年登場した最も注目されている仮想化プラットフォームの1つであり、Azureサービスを支える重要なプラットフォームとして位置付けられています。
- Amazon:Elastic Compute Cloudサービスは、VMを大規模に導入するためのコアプラットフォームです。
- IBM:同社のデータ仮想化サービスには、クラウド、データベース、データレイク、ウェアハウス、ストリーミングデータなど、複数のデータソースで1つの分散クエリーエンジンを使用できるWatson Queryなどがあります。
- Google:Google Compute Engineも、大量の仮想マシンを管理するサービスとして人気があります。
- Red Hat:Red Hatは、広く使用されている低コストのLinux市場向け仮想化ツールを販売しています。
- Oracle:Oracleの多くのVMサーバーツールは、多数のオペレーティングシステム、Kubernetes、その他のコンテナなどのサポートが優れていることで知られています。
- Citrix:Citrixは、デスクトップ仮想化サービスの大手企業です。
- Apple:ParallelsとApple社のBoot Campは、MacユーザーがAppleのハードウェア上でWindowsをVMとして実行できるようにするシステムです。
仮想化は企業に計り知れない価値をもたらしますが、導入と管理が複雑になることがあります。ここでは、このテクノロジーを最大限に活用するためのベストプラクティスをいくつかご紹介します。
- VMのパフォーマンスを定期的に評価する:構成が変わればパフォーマンスも変わります。分析を定期的に収集して精査し、システムのストレステストや実験を行い、ユーザーが求めるパフォーマンスが発揮されているか、それがコストに見合っているかを確認する必要があります。SLAをよく読み、パフォーマンスが期待に沿わない場合の請求権について理解しておきましょう。
- 長期的な視点で準備する:クラウド環境は、これまでのオンプレミス環境よりもはるかに柔軟性がありますが、それでも選択したサービスが将来的に必要となるキャパシティやパフォーマンスを備えていることを確認することが重要です。クラウドサービスプロバイダーの限界を理解し、長期的なニーズを満たすことができるかどうかを確認しましょう。
- VMの無秩序な増加を回避する:VMの無秩序な増加は、仮想マシンを作成しすぎてすべてを把握できなくなることで起こります。追加の仮想サーバーを何台でも簡単に作成できてしまうため、(時には膨大な数の)不要なリソースや使用されていないリソースが過剰にプロビジョニングされることがあります。不要になったVMを終了し、オンプレミス環境と同じように、仮想環境を注意深く追跡する必要があります。
- VMのオーバープロビジョニングを回避する:同様に、仮想マシンに必要以上のリソースを割り当ててしまうこともよくあります。これはコストの増加につながりますが、パフォーマンス上の実質的なメリットはありません。適度な可用性を確保しながら、必要最小限のリソースでVM構成を維持しましょう。
- VMのセキュリティ問題に注意する:仮想マシンも、物理マシンと同様のセキュリティソフトウェアや設定を使って構成する必要があります。セキュリティへの配慮を怠れば、標準的な侵入検知ソフトウェアが実行されていないために、そのVMを利用してネットワークの一部に侵入できることにハッカーはすぐに気付きます。
- VMにもバックアップが必要:仮想マシンを新規作成するたびに、ゼロからすべて作成し直すのは避けたいものです。VMの構成と設定を定期的にバックアップしておけば、同じ作業をやり直す必要がなくなります。
92%もの企業がサーバーの仮想化をすでに利用していることを考えれば、このテクノロジーがなくなることはないでしょう。実際、導入は増加の一途をたどっています。あるアナリストは、今後5年間の市場成長率が11.5%に上り、2026年には1,200億ドルに達すると予測しています。また、あらゆる形態の仮想化テクノロジーの導入が進むとも述べています。今後数年間で、アプリケーションとネットワークの仮想化は大きく普及すると考えられます。
一方、仮想化市場が拡大し続ける中、多くのベンダーがコンテナに移行する方法を提供することになるでしょう。これは、過去5年間でKubernetesの導入が急速に拡大したことからも明らかです。現在、数多くのベンダーが、VMとともにコンテナの拡張性と俊敏性を活用できるようにするための成長戦略を策定しています。
クラウドサービスでは、技術に詳しくないユーザーでも仮想マシンの作成と管理を簡単に行えるローコードおよびノーコードソリューションの展開が進んでおり、仮想化テクノロジーは今後もより使いやすく、より強力なものになっていくでしょう。今後、仮想化テクノロジー(特にサーバーの仮想化)は、サービスプロバイダー間の違いがますます曖昧になり、コモディティ化が進むと見られています。
仮想化テクノロジーにまったく依存しない企業の運営というものはもはや想像できません。仮想化によって個別のハードウェアを保有する必要がなくなり、より公平な競争環境が生まれました。この環境では、あらゆる規模の組織が必要なときに必要な場所で、従来のデータサーバー環境を運用するよりもはるかに低いコストでコンピューティングリソースにアクセスできます。
クラウド主導トランスフォーメーションの現状(Harvard Business Review Analytic Services)
クラウドを活用したトランスフォーメーションの現状を理解し、ハイブリッド化の進展がもたらす課題を克服するための具体的なステップとベストプラクティスを学ぶことができます。