【クラウド・コンピューティングと仮想化】についてまとめてみる。サンの発想から。
グレッグ・パパドポラスが仮想化とクラウド・コンピューティングについて5-6分で説明しているビデオがあります。こちらなので、英語だけれどちょっと見て下さい。見て頂いた後に、ビデオが英語なのと、グレッグ特有の早口で、わかりずらいと思われるので、このグレッグの説明に私の意図もちょっと加えて、説明してみます。
□■□■□■
まず、コンピュータ・アーキテクチャの変遷を簡単な図にしてみると、このようになる、と思います。1960-1980年代は、ハードの上でソフトウェアが稼働していた時代です。皆さんは知らないでしょうが、アドレスゼロ番地から変更できる、そんなOSも存在していました。実は、次の時代との間に、HW, OS, APP と三層になる時代がありますが、あえて最初の形態に含まれることにします。アプリケーションを開発して、OSの上で生でじかに動かす。Windows と Basic の関係のようなものです。日本特有の問題ですが、メインフレームの中には、OSの上で、直にアプリ(APP)が動いているものもあります。
ミドルウェア(MW)が出てきた、1970年代の終わりごろから、開発の生産性が向上し、複雑になるコンピューティング資源を取り扱う面倒を、ミドルウェアに依存することができるようになりました。当初はデータベーストランザクションシステムなどがそうでした。
そして他のコンピュータ・アーキテクチャとネットワークでつながることが始まり、その一形態としてクライアント・サーバが出てきました。90年代に入ると、インターネットへのアクセスも始まり、インターネット用のミドルウェアも出てきました。
インターネット用のミドルウェアは、httpサーバ、アプリケーションサーバ、ポータルサーバ、メールサーバ、ディレクトリーサーバなど、SSO アクセスサーバなど、たくさんの種類が出てきました。元々はみな、各IT企業がそれぞれに、インターフェースを作っていましたが、たくさん出てくるとお客様が大混乱。そこで、標準化が重要となり、国際標準が作られるようになりました。
□■□■□■
2005年前後から、クラウド・コンピューティングと言われ始めました。最近になるまで、これがユーティリティ・コンピューティングなのか、グリッドなのか、SaaSなのかと混乱していましたが、徐々にその形が定まってきたように思われます。特に近年の仮想化の発展の中で、さまざまな仮想技術が、クラウド・コンピューティングを具現化するのに、重要な役割を果たしています。
クラウド・コンピューティングにおけるレイヤーを考えると、SaaS (Software as a Service)、PaaS (Platform as a Service)、IaaS (Infrastructure as a Service)に分かれます。
二番目に貼り付けた図を見てみると、この雲を構成するすべてをサポートしたものが、SaaSになることがわかります。この図から、APP(アプリケーション)を外して、そこは開発者が作成するが、それ以外をサポートする、それが PaaS です。さらに、MWやOSまでも使う側が用意し、HWだけをサポートする場合は、IaaSになります。
いずれの場合も、今までの技術では、特有の技術に対して、いちいち別途に対応していましたが、仮想化がこの複雑さを軽減するようになっています。仮想化は単に、VMware や Xen だけではなく、クラウド・コンピューティングでは、それらのVMが取り扱わない資源も仮想化の対象になっています。
運用者が、システムごとに異なる、プロプラエタリな、運用インターフェースを全て覚えることは無理です。たとえば、OS もそうですし、MW もそうです。それを一括・包括して、仮想化し、人の感覚に合っていて、操作し易い運用ツールも必要です。しかも仮想化による、複雑な運用も極力自動化していきたいところです。
サンが「Q-layer」を買収したのも、また、VMのオープンソース製品「VirtualBox」を買収したのも、そういった、クラウド・コンピューティングに於ける仮想化に対処するためです。この雲の中のコンピュータ・アーキテクチャは、企業内にあっても公開されているサービス会社の基盤であってもいい、それをプライベートとパブリックと呼んでいます。企業は自社内にクラウドを作っても良いし、外部のサービスを使ってもいいし、複合型(ハイブリッド)で、自社の中にも持ち、外部も使うという形式でもいい訳です。
勝間和代さんの「起きていることはすべて正しい」の言葉を借りるならば、クラウド・コンピューティングは必然的な方向なのかもしれませんね。