佐藤一郎氏の日記
http://home.att.ne.jp/sigma/satoh/diary.html
の4月14日から4月17日まで、Cloud Computing(クラウド・コンピューティング)について書いてあります。
同意する部分もあるし、??と思う部分もあるので、ちょっと何回かに分けて、それについて書いてみたいと思います。
■ラップすると、どこにあるか、RESTかSOAPかを意識せず、アクセスできる。
クラウドコンピューティングっていうと、Web系の話で、ブラウザがOSとか、そーいう話になってしまいますけど、べつに、Webサービスを利用するだけであれば、ブラウザの話としてやる必要もなく、バッチ処理っていうのもありえるわけです。そのときバッチは、勝手に判断して、Webサービスをアクセスしていろいろ処理することになるから、エージェントっぽい動きになるんじゃないかと。。
つまり、インタラクティブなアプリとバッチが、RIAコンテンツとエージェントってかんじ。。
で、クラウドコンピューティングで重要なのは、
これらのアプリを作成するのに利用されるライブラリが、
・ローカルで提供したライブラリか
・実はネット越しに提供されているものかどうかが、
わかんなくなってくるというお話が、重要なんだと思う。
つまり、いまでも、Javaのクラスにおいて、たとえば、RSSを、
public class RSS
{
String URL;
Channel ch[];
//あと、必要な引数を書いておく
// :
// :
public void setURL(String URL)
{
this.URL = URL;
}
public int access()
{
// 指定されたURLにアクセスする
// その後、Domを解析して
// 値をセットする
}
}
みたいに書いておけば、クライアント側は、まったくRSSを理解しなくても、
外部にアクセスしているということを知らなくても、プログラムがかけてしまう。
それも、Javaの新しいクラスを利用する感覚で・・
今のは便宜上、RSSにしただけで、べつにどんなWebサービスでもOKなわけてす。RESTでもSOAPでも、同じようにラップして、クライアント側では、ローカルのクラスと同じように使えます。Javaであれば・・
(もちろん、Javaじゃなくっても、Javascriptでも、そーいう関数を提供することは可能で、今後は、そーいう関数をincludeする形で広まって行くかもしれない)。
っていうことは、クラウドコンピューティングは、別に、どこで処理しているかについて、まったく意識しないで、ローカルで作ったクラスや関数を使うのと同じ感覚で、プログラムが使えるところが、メリットといえます。そして、この程度なら、もう、すぐに出来そうなのですが。。。
■ネットワーク越しに同期をとったり、テストするテクニックに問題
とはいえ、今すぐにやると問題があります。
こーいう使われ方を意識していないので、データベースのトランザクションのように、
途中で障害起こったから、やっぱやめ!
とか、
テストとして、アクセスしてるので、これは無視してね!
みたいな方法論がまだ確立していません。
(トランザクションに関しては、2層コミットを、Webサービスで応用すればいい気がするけど。。)
さらに、Webアクセスする際の、クオリティ(レスポンスタイムを一定に保つための優先順位のかけ方など)の問題とかもありそう・・
そして、各種のWebアクセスのばらばらの認証を一元管理って話も。そーいうと、OpenIDでしょ、SAMLでしょとか言われそうだけど、もちろん、それもありだけど、Webサービスごとに認証レベルの違いをどうするかとか、課金をどうするかとか、まだまだいろいろ問題がありそう。
ただし、問題は山のようにあるだろうけど、上記のように、それは、アクセスクラスの中でがんばるから、一部のサービス(クラス)を作る人だけにしか関係ないということになる。
つまり、クラス(サービス)提供者の問題で、そのクラスを利用する人には関係がない。
で、サービス提供者は、そんなものを、いちいち自分で決めているのはめんどっちい。
そこで、インフラ提供会社が卸売みたいなかたちになって、
(1)サービス提供者は、自分の書いたサービスを、その卸売会社が指定する
形式で書く
(2)卸売り会社にサービスを置いてもらって、みんな、そこにアクセスする
っていう感じになるんじゃないかな。。そして、その卸売り会社、つまり、インフラ提供会社は
佐藤氏が書いているように(以下斜体は上記サイトより引用)
Cloud Computingのインフラ提供企業ですが、当初は小中規模のインフラ提供企業もあるでしょうが、ある程度の規模が必要なことを考えると、長期的におそらく現在のネットビジネスの列強、Google、Amazon、Microsoft (+Yahoo)、eBay, Salesforcesあたりが核になって、吸収・合併を繰り返して、最終的には少数だけになるのではないでしょうか
という感じがします。ただ、ウィリアムのいたずら的には、それにソフトバンクを加えたい。
でも、もっと、劇的な変化になるのは、クライアント側だと思います。
それについては、また今度書きます。