仮想化とは?基本的な考え方とメリット・デメリットについて詳しく解説
公開日:2022.08.31
スキルアップITに関わる方であれば、「仮想化」という言葉を聞いたことがあるのではないでしょうか。仮想化にはさまざまな種類があり、クラウドなど他の概念と同じ文脈で使われることも多いため、正しく理解を深めることが難しい用語といえます。
今回は、仮想化について詳しく知りたいという方に向けて、仮想化の基本的な考え方やメリット・デメリット、検討の際に必要な論点などを解説します。
本記事を読むことで仮想化の基本的な知識に加え、実務に必要な考え方も学べるはずです。ぜひ最後までお読みください。
仮想化とは何か?
まず、仮想化とはどのようなものか、基本的な概念について解説します。
仮想化の基本的な概念
仮想化とは、サーバなどのハードウェア上に存在するITリソース(CPU、メモリ、ハードディスクなど)を、ソフトウェアを活用して実際の数以上に稼働しているように見せる技術のことです。サーバに限らず、ネットワークやストレージでも仮想化は行われます。
仮に1台で100の仕事をこなすCPUを備えたサーバが存在したとします。当然、このサーバが物理的に1台存在するだけでは、100の仕事が限界です。しかし、仮想化技術を活用することで論理的に複数のサーバを統合でき、100以上仕事をこなすスペックを発揮できるようになります。
このように、仮想化とはソフトフェア上で複数のITリソースを統合することにより、利用者にはあたかも単体のITリソースを使っているように見せかけながら、実際には複数のITリソースを活用する技術なのです。
逆に、単一のITリソースの中で複数のリソースを動かす技術も仮想化と呼ばれます。よく見られるのが、1つの物理サーバの中で複数の仮想サーバが動作させるサーバ仮想化という技術です。「見せかける」という手法が利用されていることが、仮想化と呼ばれる理由となっています。
仮想化が行われるケース
物理的なハードウェアを最大限活用したい際は、仮想化技術が大いに役立ちます。
あらゆる業務でITシステムが使われるようになり、求められる性能や容量は年々高まっています。そのため、IT投資の観点で、少ない物理ハードウェアでも性能を発揮できる仮想化技術は不可欠なものとなっているのです。
特に、企業の基幹システムといった大規模な仕組みを動かす場合や、多数のアプリケーションを同時に稼働させる場合、何らかの形で仮想化が行われていることが多いでしょう。
クラウド・コンテナとの違い
仮想化と似た概念として、「クラウド」や「コンテナ」が挙げられます。ここではそれぞれの違いを解説します。
クラウドとの違い
クラウドとは、ユーザーが自前でハードウェアやソフトウェアを準備することなく、インターネット経由でサービスを利用する考え方です。近年は人事や経理の業務サポートをはじめ、さまざまなサービスがクラウドで提供されるようになった影響で、身近な存在となりつつあります。
クラウドのサービスは仮想化の技術を使って提供されることが多いため、混同されがちです。クラウドと仮想化を正しく区別するには、クラウドが「サービスの提供方式」を指すのに対し、仮想化は「クラウドを実現するためにITリソースを有効活用する技術」である、と理解するとよいでしょう。
コンテナとの違い
仮想化の新技術という位置づけで、コンテナという用語もよく現れます。
従来の仮想化は、システムの根幹であるOSの階層から仮想サーバを構築するのが一般的でした。しかし、コンテナ技術を使った仮想化では、OSを独自に構築せず、既存のOSを共有する形でシステムを稼働させます。
OSを共有することでITリソースの消費量を抑え、効率的なシステム運用が可能になるのです。コンテナによる仮想化では、「Docker」や「Kubernetes」といったプラットフォームがよく利用されます。
AKKODiSでは派遣として就業中のエンジニアに対し、長期的なスキルアップ支援を目的とした無料の研修プログラムを行っています。スマートインダストリーをはじめ、職種・技術分野で選べる多種多様なコンテンツを用意しています。詳しくは関連事業のページをご覧ください。
仮想化の種類
仮想化が使われている領域は大きく以下の3つです。
- サーバ仮想化
- ネットワーク仮想化
- デスクトップ仮想化
それぞれ詳しく紹介します。
サーバ仮想化
最も一般的とされるのが、サーバの仮想化です。サーバ仮想化は、1つの物理サーバ上で複数の仮想サーバを稼働させることで、ユーザーには複数台のサーバが稼働しているように見せる技術です。
ここで構築された仮想サーバは、独自のOS(ゲストOS)、CPU、ストレージなどのITリソースを備えており、物理サーバと同等の働きをすることができます。
サーバ仮想化を実現する方法は「ホスト型」と「ハイパーバイザー型」の2種類です。ホスト型は、物理サーバのOS(ホストOS)上に仮想化ソフトウェアを導入し、仮想サーバを動作させます。一方、ハイパーバイザー型は、ハイパーバイザーと呼ばれるソフトウェアを物理サーバにインストールし、ホストOSを経由せずに仮想サーバを動作させる方式です。
ネットワーク仮想化
サーバ以外にもネットワークを仮想化するパターンもあります。スイッチ、ルーター、ロードバランサーといったネットワーク機器のリソースをソフトウェア上で複数展開するという点で、サーバ仮想化と同じ考え方です。
サーバのみが仮想化されたとしても、サーバにつながるネットワークが仮想化されていなければ、サーバとその他のITリソースを結ぶネットワークがボトルネックと化し、サーバの処理速度が遅くなるといった影響が出ます。サーバの仮想化を考える際には、ネットワークの仮想化も同時に考える必要があるのです。
デスクトップ仮想化
デスクトップ仮想化(Virtual Desktop Infrastructure:VDI)とは、サーバ上に構築した仮想的なデスクトップ環境を他の端末から利用できる技術です。
デスクトップ仮想化によって、利用者の端末にはOSやアプリケーションをインストールせずとも、元のマシンと同等の作業が可能になります。例えば出張時も、インターネットにつながる環境であれば、どこであっても会社の自席のPCと同じ環境で仕事ができるのです。
VDIを利用した場合、端末側は本体にデータを保存する必要がなくなるため、情報漏洩といったセキュリティリスクに対応する手段にもなり得るでしょう。また、VDIを活用することで、セキュリティを確保しつつ場所に囚われない業務進行が可能なるため、近年広がりを見せているリモートワークの実現にも役立ちます。
仮想化でできること
ここからは、仮想化技術によって可能になることを紹介します。
ITリソースの集約
仮想化によって複数のITリソースを集約すれば、1つの大きなリソースとして扱うことができます。
例えば、複数のストレージを統合して1つの大きな仮想ストレージとして扱うことにより、個々のストレージでは対応しきれなかった容量のデータを格納することが可能です。
また、IT部門の人数が限られており、管理対象のITリソースを減らしたいというニーズに対しても、仮想化による集約が有効な施策となるでしょう。
ITリソースの分割
仮想化技術には、1つのITリソースを複数に分割する手法(パーティショニング)も存在します。
例えば複数のアプリケーションを稼働させたい場合、アプリケーションごとに物理サーバを準備すると費用がかさむため、IT投資の観点で効率的とはいえません。ここで活用したいのが、仮想化によるITリソースの分割です。
1つの物理サーバを複数の仮想サーバに分割することで、それぞれ独立した環境でアプリケーションを稼働させられます。また、仮想化によって物理サーバが持つCPU、メモリ、ストレージといったリソースを無駄なく活用することができるでしょう。
リモートワーク環境の整備
先述のデスクトップ仮想化の項目で触れた通り、リモートワーク環境の整備においても仮想化は重要な役割を果たします。
リモートワークにおいては、いつ、どこにいても業務に必要な環境が提供されることが重要です。昨今はシンクライアント端末(ハードディスク装置を搭載していない、仮想デスクトップ環境向けの機器)を利用する企業も増えてきました。
シンクライアント端末は、ほとんどの処理を仮想環境上で行うため、端末自体にはデータを保持しないことが特徴です。これにより情報漏洩などのセキュリティリスクを未然に防止でき、安全なリモートワークを実現します。
シンクライアント端末が登場した当初は非常に高価でしたが、近年は低コストで購入できるモデルも登場しているため、リモートワークにおけるメジャーな手段となりつつあります。
仮想化のメリット
ここでは、仮想化技術がもたらすメリットを紹介します。
システムの拡張性・可用性の向上
仮想化によるメリットの1つとして、システムの拡張性向上が挙げられます。
例えば、物理サーバ上で複数の仮想サーバを稼働させている場合を考えてみましょう。もし追加で新たなアプリケーションを動かしたい場合でも、物理サーバ上に仮想サーバを増設すれば、速やかに対応できます。
一方、仮想化されていない状態で物理サーバを追加する場合は、新たにハードウェアを設置する必要があるため、時間もコストもかかるでしょう。
仮想サーバの追加であればソフト上の作業で対応できるため、より短時間かつ低コストでシステムの拡張できます。
また、特定のソフトウェアを利用することで、障害発生時に仮想サーバを退避させられる点も仮想化のメリットです。
物理サーバであればバックアップ用のサーバを準備するなどの冗長化対策が必要ですが、仮想化技術を活用することで、システムの可用性向上をより少ない工数で実現できます。
ITコストの削減
仮想化の大きな特徴の1つであるITリソースの有効活用は、ITコストの低減にも直結します。
サーバ仮想化の場合、管理すべき物理サーバの数が減ることで、サーバの電力費、設置場所に関わる費用、維持管理の費用といったさまざまなコストが目に見えて減少するでしょう。
また、物理サーバの設置台数が減ることで、サーバを設置するマシン室を縮小できる可能性があります。マシン室は一定の気温を保つための冷却設備を設置する必要があるため、維持費が高額になりがちです。
このように、仮想化によってさまざまな面でITコスト低減を実現できるでしょう。
人的リソースの有効活用
仮想化によって管理すべきITリソースを集約できた場合、単純に管理対象の物理サーバ数が減るため、従来よりもサーバ管理の工数が下がるでしょう。
IT部門のメンバーがサーバ維持管理作業の負荷に悩まされている場合、仮想化によって働き方改革を進めることもできます。また、定型的な管理作業が減ることで、IT部門の人材をDX戦略策定や新たなシステムの検討など、より前向きな業務にシフトできるかもしれません。
経済産業省が発表した報告書の中で、現行システムの維持に終始している企業は「2025年の崖」に陥ると指摘されています。「2025年の崖」とは、日本企業の多くが抱えているDX関連の諸問題が2025年以降の5年間に顕在化し、大きな経済的損失を生むとされる予測のことです。
「2025年の崖」を回避し、DXを推進していくために、IT部門にはより主体的かつ創造的な役割が求められるでしょう。そのためには、定型的な作業からIT部門を解放し、業務のゆとりを生み出すことが重要です。
-
※
仮想化のデメリット
メリットの多い仮想化技術ですが、理解しておくべき課題もあります。ここでは、仮想化のデメリットを紹介します。
必要リソースの見極めが困難
仮想化によるITリソースの有効活用を実現するためには、システム稼働に必要なITリソースの見極めが重要です。
サーバ仮想化を行うケースでは、必要なCPUのスペック、メモリやストレージの容量をあらかじめ計算した上で、仮想サーバのスペックを決める必要があります。この作業を「サイジング」と呼びます。
サイジングにおいては、実際にシステムを利用するユーザーの数、最大アクセス数、保存すべきデータ量など、多くの指標を考慮して慎重に検討を進めなければなりません。
IT部門の人員やスキルが不足している場合、サイジングを自社で完結させることは難しいでしょう。仮想化における必要リソースの見極めには一定のスキルが必要であることを理解し、外部人材の活用などをあらかじめ検討する必要があります。
エンジニア派遣を行うAKKODiSでは、スキルの高い人材の育成のため、無料研修プログラムを実施しています。詳しくは関連事業のページをご覧ください。
パフォーマンス低下の懸念
仮想化におけるサイジングは難易度の高い作業であると同時に、システムのパフォーマンスという観点でも重要です。サイジングが正しく行われずに仮想サーバのスペックが不足してしまった場合、システム稼働後にOSやソフトウェアの動作が遅くなるといった悪影響が発生します。
特に一般顧客向けシステムの場合、システムのパフォーマンス低下は企業としての信用失墜につながります。サイジングの不備によるパフォーマンス低下は、仮想化を行う際のリスクといえるでしょう。
トラブルシューティングの複雑化
仮想化されたシステムでトラブルが発生した場合、単体の物理サーバで運用されているシステムよりも原因特定が困難となる可能性があります。
サーバ仮想化の場合、物理サーバと仮想サーバのOSが階層化しており、障害発生時には該当箇所の把握すら難しいケースもあるでしょう。さらに、ハイパーバイザーなどの仮想化ソフトウェアが障害原因となる場合もあるため、各方面から必要なスキルを持ったメンバーを集めて対応にあたらなければなりません。
仮想化の導入にあたっては、障害発生時の連絡先や調査手順をマニュアルとしてまとめるなど、有事に向けた準備が必須です。
仮想化を検討する際に必要な論点
仮想化の検討にあたっては、仮想化によって何を実現したいのかを明確にし、優先順位を決めることが重要です。また、費用対効果を把握する必要があります。ここでは導入前に確認したいポイントを解説します。
実現したいことの優先順位をつける
先述の通り、仮想化には多くのメリットがある一方、デメリットも存在します。場合によっては、仮想化のメリットが組織として目指す方向性に合致しない、あるいはメリットがデメリットを上回る可能性もあるでしょう。
例えば、仮想化によってITリソースの管理工数低減が見込まれたとしても、トラブル時の早期復旧を優先するのであれば、仮想化は必ずしもベストな選択とはいえません。
組織として実現したいビジョンと仮想化によるメリットを照らし合わせ、優先順位をつけて検討を進めることが求められます。
費用対効果を算出する
仮想化によって物理サーバの集約が期待できる一方、仮想化ソフトウェアの導入といった新たなコスト要素も発生します。また、仮想化の導入には専門的なスキルを持つ人材を配置する必要があるため、そのコストも考慮しなければなりません。
仮想化においては、削減されるコストと新たに発生するコストを漏れなく洗い出し、費用対効果を算出することが重要です。
他の手段にも目を向ける
仮想化がもたらすメリットが組織として目指す方向性に合致しない場合、仮想化以外の手段も検討すべきでしょう。
例えば、自社に統一的なメールサービスを導入したい場合、自社で仮想サーバを構築してメールシステムを運用するよりも、GmailやMicrosoft365をはじめとした既存のクラウドサービスを利用した方が、迅速かつ低コストで目的を達成できる可能性があります。
仮想化は目的ではなくひとつの手段であることを認識し、広い視野で検討を進めることが重要です。
まとめ
仮想化とは、ITリソースを有効活用するために、仮想的なITリソースを構築し運用する技術のことです。一番代表的なものは、物理サーバ上で複数の仮想サーバを動作させるサーバ仮想化ですが、サーバ以外にネットワークやデスクトップ環境などを仮想化するケースもあります。
特にデスクトップ仮想化は、リモートワークを推進する手段として注目されつつある技術です。実際に仮想化を行うことで、サーバの管理負荷やコストの低減などさまざまなメリットが期待できます。
一方で、仮想化環境の構築や維持には専門的なスキルが必要です。また、サイジングを誤るとシステムの性能が低下することや、障害発生時に原因究明が難航しやすいことなど、デメリットとなる課題もあります。
仮想化を検討する際には、組織として優先すべき事項を整理した上で、仮想化で実現できることと一致しているか、費用対効果があるかなどを精査することが重要です。
仮想化に関するテクノロジーは今後もますます需要が増えることが予想されています。AKKODiSが企業のエンジニア採用担当者900名を対象に行ったアンケート調査についてもぜひご覧ください。
関連コンテンツ:【IT技術トレンドに関する調査 2022年】「ストレージ仮想化」へのニーズが増加し、 昨年より12ランクアップ|AKKODiSコンサルティング株式会社