クラウドとその形態

ここまでの数稿で、クラウドの成立とプレイヤー、基盤となる技術、類似したサービスについて述べてきた。

今回は、クラウドとその形態について述べてみたい。

クラウドの語源は、Google CEOのエリック・シュミット氏が、2006年にEconomist誌に発表した「Don't bet against the internet.」 といわれている(残念ながら、この記事はeconomist誌を購読していないと見ることができない)。同年8月には、サンノゼで開催されたSearch Engine Strategies 2006で講演をおこなっている。
サンノゼの講演の原文は手元に原文がないが、ZDNetに(講演の一部を引用している)記事が見つかった。
これによれば、「(Oracleのような)クラサバのビジネスモデルに対して、データやアーキテクチャがサーバーに集約されることで、新しいビジネスモデルが現れつつある。それを、われわれはクラウド・コンピューティングと呼んでいる。(サーバーは)雲の中のどこかにある。利用者が適切なアクセス手段を持てば、クラウドにアクセスできる」というように書いてある。(記事を見れば、講演が検索と広告に関するものであったことがわかる)

クラウド」は、アプリケーション屋がシステム構成図を描く際に、インターネットを「雲(Cloud)」で書く習慣に由来することはよく知られている(自分もそのように描く)。
元来、アプリケーションを書く人間は、ネットワークの内部構成などほとんど気に掛けない。つながっていればいい、程度である。なので、インターネットをまたぐシステムを開発する際に、「よくわからないけど」というニュアンスで雲を描く
これが、クラウドの由来である。

上のエリック・シュミットの言葉からは、

  • NCのようなシンクライアント
  • それを超えてデバイスが「PCという呪縛」から解放される
  • 有機体としてのネットワーク」がすべてのアプリケーションを提供する

などなどが推測される。

SUNのCTOだったGreg Papadopoulos氏の「The world needs only five computers.(世界にコンピューターは5台しか必要ない)」というログも有名である。すべてのコンピュータはクラウドの主要プレイヤーに吸収されてしまう、という主旨のログである。


クラウドの具体的なサービスは、現在、SaaS、PaaS、HaaS(もしくは、IaaS)と分類されるのが普通である。
SaaSはアプリケーションレベルのクラウドで、Googleが提供する多くの機能(GMailGoogle CalendarGoogle Map, Google DocsYouTubeなど)がこれに当たる。TwitterEvernoteDropBox、Ningといったサービスも、インフラとしてクラウドを利用している。商用では、CRMサービスを提供するSalesforce.comが有名である。
PaaSは、アプリケーション基盤(ミドルウェア、データベースなど)を提供するクラウドで、Google App Engineが代表的である。開発者は、この環境の上で開発を行い、サービスを提供する。
HaaS(IaaS)は、OSレベルの環境を提供するクラウドで、Amazon Web Service(EC2、S3、EBS、CloudFrontなど)が代表的である。

現時点では、GoogleSaaSAmazon Web Service(AWS)が、クラウドの代表選手といってよいと思う。
先にあげた、TwitterなどのおもしろいSaaSもたくさん存在する。

このログで、ずいぶんと取り上げたGoogle App Engine(PaaS)は、開発側からみれば「特殊な環境」という感が否めず、ここに書いたコードを他に移植することは(事実上)できないと思う。GAEに書いたアプリは、GAEにロックインされてしまう。
そういう意味もあって、個人的には、AWSを利用する機会の方が多い
AWSは非常に優れたサービスだと思う。完全従量制という価格体系は革命的である。
Linuxでサーバー構成をしたことがあれば、全く違和感なくサーバー環境を構成することができる(/procまで見える)。
月間で1万円も見ておけば十分に使えるのだが、なにしろ北米と欧州にしかデータセンターがないので、レスポンスが悪いのが残念だ
ただし、今年中にはシンガポールにもセンターができると聞くので、レスポンスがずいぶんと改善されると思う。多くの日系企業も積極的に利用するようになるだろう。


また、個人的には、Googleのサービスは必須のツールになっている。
メインのメイルボックスGmailだし、文章の多くはGoogle Docsで書いている。To Doリストもそうだし、Calendarもそう。ソースコードの多くはGoogle Codeに保管している。

これらのおかげで、(インターネットにつながれば)どんな場所でも文書が作れるし、コードを書いて保管できる。
自分の書くコードの多くはAjaxをつかったり、SaaSマッシュアップしたりするものである。これらのデータソースもインターネットから供給される。
その上、茶店でコーヒーを飲みながら、本格的なサーバーを構成して、サービスが開始できる。
こんな時代がくるとは、予想もできなかった。