クラウドコンピューティングは運用モデルであって、テクノロジではない。クラウドコンピューティングモデルが分散型アプリケーションに数多くの課題をもたらし、同時に分散型アプリケーションよりも多くの点で優れているのは、この決定的事実のためだ。
また、既存のアプリケーションアーキテクチャコンセプトの多くがクラウドで機能するのもそのためであり、多くの開発者が、従来型ITの自己完結型環境では軽視したり、無視したりできるようなアーキテクチャの側面に対応することを余儀なくされるのもそのためだ。
クラウドがアーキテクチャの変化を強要する機能の中で、最も興味深い面の1つは、アプリケーションを取り巻く2つの頻繁に衝突しあう「現実」の相違点を、開発者が認識せざるを得なくなるということだ。2つの現実とは、われわれ人間が日々生きている物理世界の現実と、電子機器や電線、独自の規則で構成され、ソフトウェアという形式の中に封じ込められたコンピューティングの世界の現実である。
この2つの「世界」はよく似ている点もあるが、異なる点も多い。以下に例を挙げる。
- 人間は社会という枠組みを形成しており、それぞれの社会には、独自の慣習や儀礼、法律がある。多くの場合、これらの社会は、家族、近所、市、州、国家といった多面性を有している。
- 同様に、コンピューティングはネットワークで構成されており、それぞれのネットワークには独自のアプリケーション、アプリケーションシステム、ファイアウォール、ポリシーがある。これらのネットワークは、レイヤ2サブネット、企業ネットワーク、ISPネットワーク、インターネット自体といった、さらに多くの階層を形成している。
- どちらの世界にも独自の種類の境界線がある。人間社会の多く(すべてではない)は地理的な境界線によって、自身の構造体の範囲を定義している。コンピューティングのネットワークの多く(すべてではない)は組織の「境界線」とネットワークパスによって、自身の構造体の範囲を定義している。
- この2つの世界は、距離についてもそれぞれ異なる方法で定義する。人間世界の距離は、人間が感覚で体験できる3次元空間で測定される。コンピューティングの世界の距離は、コンピュータとネットワーク機器を結ぶ電気経路上での信号の「ホップ」回数によって、もっと1次元的または2次元的な距離で測定される。
- 現在のグローバル化した世界では、政治的な境界線と組織の境界線(したがって、ネットワークの境界線も)の概念が一致することは稀だ。その上、カラスが飛ぶ2点間の距離とビットが飛ぶ2点間の距離も、多くの場合一致しない。これらのことから、今日、人間世界の法律を執行しながら、同時にクラウド上のデータやコードも管理することは、極めて困難である。
- もし人間社会の世界とコンピュータネットワーキングの世界を明確に分離することができれば、何も問題はない。しかし、それは不可能だ。それができない理由自体は単純である。つまり、データのせいでそれができない。一般的に、データというのは1つまたは複数の人間社会にとって興味深いことを記録したものだ。そのため、社会は常にそのデータをコントロールすること、あるいは少なくともそのデータを消費することに関心を抱いている。
CNET Japan 特別企画 -PR-
ITジャーナリスト佐々木俊尚氏と日立のキーパーソンが語る!
2010年企業クラウド元年 ビジネスニーズが企業のクラウド化を加速する