雲の先に
クラウドコンピューティングという言葉がある種のトレンドとなっているが、そろそろその先を見越して考えて起きたいと思う。 クラウドという概念が誕生するまでの流れをまず整理しておく。 高度な計算をするためにはコンピューターを高性能化したい → 汎用機やスーパーコンピュータ 単体のコンピューターの高性能化には限界があるので、複数のコンピューターで分散して計算をしたい → コンピュータークラスター コンピューターネットワークが拡大してきたので、自動的に自律的にそれらに管理を行い人的リソースを削減したい → オートノミックコンピューティング 1台あたりのコンピューター資源をもっと効率よく利用し、リソースのスケールを柔軟に増減させたい → プラットフォーム仮想化 業務に使うソフトウェアを上記のようなコンピューター環境で実行し、且つそれらを連携させたい → SOA これらの大規模なコンピューターネットワークやソフトウェア等の資源を、使いたいときに必要な分だけ使いたい → SaaSやASP これらの概念や技術の一部や全部を組み合わせたものが、今日のクラウドというもであって、それはまさに雲のように物理的実態ではなく観念的な概念である。 しかしながら、今日クラウドを謳うサービスにおいて、これらの要素の「2」と「3」にあたる分散コンピューティングというものは、実はまだ改善の余地があるのではないかと考えている。 今日のクラウドと呼称するサービスのほとんどは、仮想化されたコンピューターを物理的なホストにマッピングし、それをリッチな管理画面から、相変わらずオペレーターが操作しているだけに過ぎないのではないだろうか。 例えばもっと突き詰めて、スマートグリッドのようなシステムを夢想している。 OSやドライバといったプラットフォームは完全に仮想化されたコンピューター上で実行され、それらは複数のホストの空いているコンピューターリソースを柔軟にマウントして利用する。 しかも、それぞれの仮想化されたプラットフォーム毎の必要とするシステムリソースやそのスケールは、管理システムが過去の経験に基づき自律的に予想し、最適なタイミングで柔軟にスケールアップとスケールダウンを行う。 そこは、実行プロセスという縁起によって初めてコンピューターリソースが認知される空にすぎない世