【連載 クラウド#4】仮想化とは?種類とメリット、クラウドとの違いについて解説

f:id:pcads_media:20200122162118j:plain

今や日常的に使われる言葉となった「クラウド(cloud)」。普段パソコンを使わないスマートフォン(スマホ)ユーザーの間でもよく使われているため、耳にする機会は年々増えていることでしょう。

そこでTECH Streetでは全5回の連載で「クラウド」について学べる記事シリーズを展開中!今回は、仮想化の種類について解説します。

▼前回の記事はこちら

www.tech-street.jp

仮想化とは

「クラウド」と共に、最近よく聞かれるようになった「仮想化」という言葉。現代においては、様々なものが仮想化されています。仮想化は様々な無駄を省くことができるため、企業を中心にどんどん導入されているのです。また、クラウド・コンピューティング(クラウド)との関連性も非常に高いとされています。この記事では、仮想化の種類を比較し、それぞれの違いやメリットについて解説します。

仮想化とはそもそもどんなものなのでしょうか。また、なぜ仮想化する必要があるのでしょうか。詳しく見ていきましょう。

仮想化の概要

仮想化とは、コンピューターやハードウェアなどを実際の物理的な構成とは異なったもののように動作させる技術のことです。例えば、仮想化ソフトウェアを利用して、コンピューターやサーバーの中に仮想マシン環境をつくることができます。よく混同されがちなものにクラウドが挙げられますが、クラウドは仮想化の技術をベースとしたサービスや環境を意味します。 仮想化ソフトウェアを使用することで、1台のサーバーコンピューターを複数のサーバーコンピューターであるかのように扱えるようにしたり、複数のハードディスクをまるで1台の大きなハードディスクのように機能させたりすることができます。このように、物理的な構成によらずコンピューターやハードウェアを分割、統合することができるメリットがあるのです。 企業では、プライベートクラウドとあわせて使用されていることが多いようです。こうした仮想化用ソフトウェアを提供している企業の代表格としてVMwareが挙げられます。VMwareとは、1台のコンピューター上で複数のOSやソフトウェアを動かすことのできる仮想化用ソフトウェアを提供している企業です。「VMware ESX」「VMware ESXi」といったVMware製品は、サーバーなどの仮想化環境構築に最適と言われています。

代表的な仮想化実装方法は「ホストOS型」と「ハイパーバイザー型」

代表的な仮想化実装方法として「ホストOS型」と「ハイパーバイザー型」が挙げられます。「ホストOS型」はホストOSと呼ばれるOS上で仮想化ソフトウェアを用い、別のOS(ゲストOS)を運用する方法のこと。たとえばホストOSであるWindows上で仮想化ソフトウェアを使い、ゲストOSとしてMacを運用することが可能です。 一方「ハイパーバイザー型」はハードウェア上に仮想化ソフトウェアであるハイパーバイザーを動作させ、ハイパーバイザー上でゲストOSを運用する方法のこと。ホストOS型と違って、現状のホストOSをそのまま利用できず、また、ハイパーバイザーの動作環境(物理サーバー)が必要です。他方、ホストOS側の処理が必要とされるホストOS型と違い、ハードウェアを直接制御できるため処理速度が向上します。

なぜ仮想化する必要があるのか

今、企業を中心にITにかかるコストが見直されています。「いかに無駄を極力減らしつつ最大限のパフォーマンスを行うか」が一つの鍵になっているのです。そこで省スペース・省コスト・省エネのメリットがある仮想化技術が注目を集めています。初期費用やランニングコストを抑えつつ、省スペースで最大限のパフォーマンスを発揮するためには仮想化が欠かせないと言えそうです。 サーバーの仮想化を例にとって考えてみましょう。一般的なサーバーは、通常1つの物理マシンに対し、1つのサーバーOSを搭載しています。この使い方は一見簡素なように見えて、実際は10%程度しかCPUリソースを使用しておらず、CPUリソースを持て余している場合があります。このようなサーバーを複数台所有していると、かなりのCPUリソースを無駄にしていることになってしまいます。このCPUリソースを使わない手はありません。 そこで仮想化技術が役に立ちます。仮想化ソフトウェアを使用することで、複数の物理サーバーの役割を1台の物理サーバーに統合したり、1台の物理サーバー内に複数の仮想サーバーを設けたりすることが可能になります。そのため、物理サーバーの電力消費量も下げることができます。物理サーバーを新たに購入する必要もなくなり、企業としてはコストカットにつながります。

どういったものが仮想化できるのか?

ストレージやネットワークなど、様々なものが仮想化できます。それぞれ見ていきましょう。

ストレージの仮想化

ストレージの仮想化とは、複数のストレージ装置を仮想的に一つのストレージとして機能させること。ストレージ仮想化を用いることで、複数のストレージ装置を統合し、一つの論理的なストレージプールを作ることができます。このストレージプールをストレージ管理者は柔軟に拡張することが可能です。

ネットワークの仮想化

ネットワークの仮想化とは、ネットワーク回線やネットワーク機器を仮想化すること。例えばルーターやケーブルなどが仮想化の対象となり得るでしょう。このネットワークの仮想化によって、ネットワークを論理的に構築するために必要な機器、アダプタ、IPアドレスなどを自由に構成することができるようになります。 この仮想ネットワークの制御や構築を、ソフトウェアでより自由に行おうとする考え方を「SDN(Software-Defined Networking)」と言います。SDNでは従来のように、ケーブルや機器といった物理的なものを繋いでネットワークを構成しません。ソフトウェアを使用して、通信を制御していきます。

アプリケーションの仮想化

アプリケーションの仮想化とは、アプリケーションをサーバーが保管し、ユーザーの端末に配布するシステムのこと。この仮想化を行うことによりユーザーは、端末機種やOS種別を意識せず、必要なアプリケーションを利用できるメリットがあります。サーバー側から配信されたアプリケーションを利用するため、わざわざアプリケーションをインストールする必要もありません。イメージとしてはユーザー全員でサーバー上のアプリケーションを共有しているようなものです。 アプリケーションの仮想化の方法の一つに、デスクトップの仮想化が挙げられます。デスクトップの仮想化とは、サーバーに仮想的なデスクトップが搭載されているような状況のこと。仮想的なデスクトップに複数のコンピューターがネットワークを経由してアクセスしているような状態とできます。

仮想化により実現されるメリット

ここでは、仮想化がもたらす様々なメリットについて見てみましょう。

可用性を高められる

仮想化により、可用性を高めることができるというメリットがあります。例えば仮想サーバーを例にとって考えてみましょう。仮想サーバーは物理サーバーと切り離されているため、万が一物理サーバー側に障害が発生しても別の物理サーバーに切り替えることができます。また、仮想サーバーは簡単にデータをバックアップできるため、物理サーバーと比べて復旧も容易にできるメリットがあります。こうした可用性の高さから、従来のオンプレミス型サーバーから仮想化ソフトウェアを用いたクラウドサーバーへの移行を選ぶ企業が増えています。

拡張性のある構成を構築できる

仮想化を行うことにより、拡張性のある構成を構築できるようになります。例えば、ハードディスクの容量を拡張したい場合、物理サーバーの場合はハードディスクを別途購入する必要があります。しかし、仮想サーバーの場合は設定画面でハードディスクの容量を変更するだけで拡張できます。CPUやメモリといったリソースも同様に適宜変更できる点がメリットの一つと言えるでしょう。

運用保守性を高められる

仮想化によって、運用保守性を高めることができます。すなわち、システムの復旧作業もしやすくなるということです。仮想化することでサーバーなどの物理的なIT資源の一元管理が可能になります。そのため、1つの管理画面で複数の仮想サーバーを管理することができ、運用保守性が高まるメリットがあります。

まとめ

ここまで見てきた通り、仮想化によって多くのことが実現しました。クラウドサービスを筆頭に、仮想化技術と非常に関連性の高いサービスも現在では増えつつあります。クラウドサービスとともに仮想化技術の導入も増えていき、今後も欠かせない技術となっていくことでしょう。

今回は仮想化についてみていきましたが、【連載 クラウド#5】としてエッジコンピューティングの概要とメリットについて紹介します。お楽しみに!

▼過去の連載はこちら。 

www.tech-street.jp