ここから本文です

コレ1枚で分かる「仮想化とクラウド(IaaS)の違い」

ITmedia エンタープライズ 7月26日(火)16時15分配信

 「仮想化(Virtualization)」と「クラウド(IaaS:Infrastructure as a Service)」は、何が違うのでしょうか。

【画像】仮想化とクラウド(IaaS)の違いを1枚の図で解説すると

 仮想化は、サーバやストレージ、ネットワーク機器などのシステムインフラに関わるシステム資源を、ソフトウェアによる設定や定義によって調達したり、構成を変更したりする技術のことです。例えば、ある1台のハードウェアであるサーバを、あたかも複数のサーバが存在し、機能しているように見せかけたり、パラメーターの設定変更で、その機能や構成を変更したりできるようにする仕組みです。

 サーバを仮想化するソフトウェアとしては、MicrosoftのHyper-V、VMwareのvSphere ESXi、LinuxのKVMなどがあります。また、サーバ以外にも、ストレージやネットワーク機器などを仮想化するための製品があります。

 ただ、ハードウェアを仮想化しても、その起動やシャットダウン、バックアップやリカバリー、リソースの変更や監視といった運用や管理のための作業は必要です。また、どのようなシステム構成にするかを選択し、その設定に従って機能や性能を調達したり、構成を変更したりする作業も必要となります。

 IaaSは、仮想化の仕組みを土台に、上記のような運用・管理や調達、構成の作業を自動化し、それらを一体として提供するサービスのことです。これは、以前に紹介したSDI(Software Defined Infrastructure)の仕組みそのものです。このサービスを特定の企業や組織で占有する形式がプライベートクラウド、この仕組みを事業者が構築し、複数の企業や組織で共用することを前提に提供するのがパブリッククラウドです。

 このような運用・管理や調達、構成の機能を提供し、IaaSを構築するソフトウェアを「クラウドOS」と呼ぶ場合があります。例えば、OpenStackやCloudStackなどのようにオープンソースとして提供されるものや、MicrosoftのAzure StackやVMware のvCloud Suiteなどのように商用ソフトウェア(プロプライエタリソフトウェア)があります。

 ハードウェアへの直接的な操作をユーザーからは見えないようにし、ソフトウェアの設定だけでハードウェアの機能を操作し、使えるようにするという点で、WindowsやLinuxのようなOSと似ていることから、そのように呼ばれています。

 なお、PaaS(Platform as a Service:ミドルウェアをサービスとして提供するクラウドサービス)やSaaS(Software as a Service:アプリケーションをサービスとして提供するクラウドサービス)については、必ずしも仮想化を使わないので、その点は注意が必要です。

 IaaSは、ハードウェアの機能や性能を仮想化して利用するサービスであるため、「仮想化」は前提となります。しかし、PaaSやSaaSでは、ハードウェアはユーザーにとっては見えなくてもいい存在です。つまり、例えばPaaSであれば、データベースや開発・実行環境が複数の企業や組織(テナント)で共有・利用できればいいわけで、仮想化の技術を必ずしも使う必要はないのです。仮想化は、テナントごとに仮想マシンを構築し、OSを起動させなくてはならず、メモリやCPUなどのシステム資源の消費量が大きくなってしまいます。そこで、ハードウェアをユーザーに意識させる必要のないPaaSやSaaSでは、もっとシステム資源の消費が少ない方法で、複数のテナントに対応できるよう工夫が凝らされている場合も少なくないのです。

最終更新:7月26日(火)16時15分

ITmedia エンタープライズ