クラウドの“クライアント”としてRIAを試す
連載インデックスへ
検証特集:クラウドの“クライアント”としてRIAを試す(1)

6つの主要クラウドとRIAの現状を総ざらい


クラスメソッド株式会社
福田 寅成
2009/7/10



クラウドの老舗、Amazon Web Services


 Amazon Web Services(以下、AWS)は、比較的歴史の長いクラウドサービスでクラウドという言葉が登場する以前の2002年7月にスタートしたサービスです。

 1994年に開始したいわゆる本のECサイトで知られる「Amazon.com」を構築する際のノウハウが詰まった技術がAmazon Web Servicesです。すでにAmazon.comは百貨店を超える品ぞろえの大規模なECサイトに成長しており、その際に必須となる“拡張性”“安定性”がAWSに受け継がれています。

 AWSは、広義にはAmazonの提供するすべてのサービスの総称ですが、AWSというと以下の主要なクラウドサービスを指すことが多いです。

Amazon EC2(Amazon Elastic Compute Cloud)

 クラウド版のサーバ置き場です(HaaS、あるいはIaaS)。プルダウンでOSを選んでサーバを作成すると、瞬時にWindowsやLinuxなどのサーバを利用可能です。従来のサーバ管理のノウハウの多くを流用でき、比較的保守的な形でオンプレミスからクラウドにシステムを移行できます。

 もちろん、サーバ配置やサーバにぶら下がるハードディスク(Amazon EBS)を柔軟に設計でき、本格的なHA構成を持ったシステム構築での利用も始まっています。

Amazon S3(Amazon Simple Storage Service)

 オンラインストレージです。一般的にはAmazon EC2のバックエンドに存在して、各種バックアップを担当するように利用されることが多いです。直接的に利用することももちろん可能で、多くのベンダからAmazon S3をバックアップストレージにした製品やサービスが登場しています。

Amazon CloudFront

 世界規模でのコンテンツ配信ネットワーク(CDN)です。Amazon EC2やAmazon S3にコンテンツを配置すると、アメリカの東西海岸かヨーロッパのそれぞれのリージョンに数カ所ずつ存在する「アベイラビリティゾーン(それぞれサーバ配置場所をクラウド用に仮想化したもの)」を利用する必要があります。

 しかし、コンテンツがパブリックなものの場合、Amazon S3に元のコンテンツを配置し、そこから各地のAmazon CloudFrontにコンテンツが自動的に共有され、ユーザーは最寄りのAmazon CloudFrontから高速にコンテンツをダウンロードできます。「国内の有名レンタルサーバなどよりも高速にコンテンツを配信できる」という調査結果もあり、容易に大規模コンテンツ配信サービスを実現可能です。

 Amazon S3の価格問題に関しては、記事「クラウド型ストレージ「Amazon S3」は安いか?」を読んでおきましょう。ストレージ使用料を“単純に”計算すると、Amazon S3は非常に割高です(個人のファイルバックアップには向いていません)。

 AWSは、ほかのクラウドサービスに対して2年ほど先行していることもあり、公開されている事例(「New York Times」「SmugMug「Twitter」など)も多いです。日本国内で見ると、利用できるリージョンにアジアがないのが大きな問題です。国内からAWSを利用するとパフォーマンス面でハンディがあります。

 逆に、それ以外に関しては非常に魅力的な要素が多く、早急に日本向け正式サービスが開始されてほしいところです(いまでも、アメリカやヨーロッパのAWSは国内から利用可能です)

RIAとAWS

 Amazon EC2上にアプリケーションを構築した場合、サーバがクラウドにあるだけで従来と同じアプリケーション開発スタイルなので、クライアントとしてRIAを採用することに障害はありません。

 また、Amazon S3を利用する際もRESTful APIが用意されているので、主要RIAはC/C型でもC/S/C型アプリケーションのクライアントとして採用できます。Amazon S3向けには各種言語でアクセスするライブラリが用意されています。

Java版で一気に業務系よりに、Google App Engine


 Google App Engine(以下、GAE)は、グーグルが提供するクラウドアプリケーション開発プラットフォームです。扱うデータ量や転送量が大きくならない限り無料で利用でき、Pythonや、Eclipseベースの開発環境でJavaを用いて簡単に開発を開始できます(以後、本連載ではJava向けのGoogle App Engineを「GAEj」と表すことにします)

 KVSタイプのデータストレージ(Bigtable)を含めた開発ノウハウがグーグルから多数公開されており、世界中でGAE向けの「クラウドアプリケーション開発スタイル」が模索されています。

 グーグルは、そもそもグーグル自身をクラウドであるととらえており、GAEのようなアプリケーション開発プラットフォームのみならず、検索エンジンやメール、カレンダーやオフィスツールをソフトウェアのインストールやデータ容量を気にすることなく、どんな場所からでもいつでも利用できるようにサービスを提供しています。これは、まさに「クラウド的」であるといっていいでしょう。

GAEjとBigtable

 GAEjでの開発の基礎知識や、GAEのデータストレージであるBigtableを使ったJavaアプリケーション開発に関しては、下記を参照してください。

RIAとGAEj

 GAEj開発環境のEclipseにFlash Builder(旧、Flex Builder)をプラグインさせればRIA開発環境は完成です。HTMLベースのRIAクライアント開発の際も、環境構築の流れは従来とほとんど変わりません。

 Javaには技術的な制限が多くありますが、RIA採用には問題がありません。通信層周りで制限がありましたが、それを突破する技術が多数公開され始めています。

 またグーグルとRIAの関連では、次世代のコミュニケーション/コラボレーションプラットフォームとしてGoogle Waveがあります。

.NETアプリがそのままクラウドに、Windows Azure


 マイクロソフトがまもなく正式サービスを開始するクラウドサービスが、Windows Azure(アジュール:空色)です。CLR上のマネージドコードや、Win32 APIを利用するC++などのネイティブコード、Fast CGIによるPHPを動作させることができます。

 ストレージとしては、KVS型の「Windows Azure Storage」以外に、SQL Serverのクラウド版である「SQL Azure Database」があり、既存のオンプレミスシステムをクラウドシステムに乗り換えたり、それらを切り替えつつ運用したりが可能なクラウド設計がなされているのが特徴です。

 クラウド向けに各種サービスが完備された「クラウドOS」であるAzureに対して、既存の.NETC#VB)を中心とした技術で開発したアプリケーションをデプロイする形です。

 後発ということで、従来のRDBMS型データストレージサービスを用意していることからも、既存資産の再利用や使いやすさにも目を向けながらクラウドOSとして基盤を構築している印象があります。

RIAとWindows Azure

 マイクロソフトのRIA技術であるSilverlightのアプリケーションもWindows Azure上で開発可能です。Visual StudioやExpression BlendがAzureを強力にサポートするようになれば、クラウドのクライアントとしてSilverlightを採用することも容易になるでしょう。

 統一した言語で、C/S/C型それぞれの層のアプリケーションを開発できるのも特徴です。さまざまなWindows LiveサービスやWindows AzureアプリケーションをSilverlightでマッシュアップしたタイプのアプリケーションも今後続々登場すると思われます。

 例えば、既存のSilverlight+Azureの事例として「TORIPOTO」があります。

 次ページでは、さらにクラウド技術を紹介します。

1-2-3

 INDEX
検証特集:クラウドの“クライアント”としてRIAを試す(1)
6つの主要クラウドとRIAの現状を総ざらい
  Page1
クラウドの“クライアント”について考えていますか?
RIA開発者のための、そもそも「クラウド」とは?
Page2
クラウドの老舗、Amazon Web Services
Java版で一気に業務系よりに、Google App Engine
.NETアプリがそのままクラウドに、Windows Azure
  Page3
業務系SaaSとしての実績が多い、Force.com
プライベート・クラウドを構築する、IBM Smart Business
RIAクライアントとの親和性が高そうな、Sun Cloud
まずは、Amazon S3+Flexアプリから



リッチクライアント&帳票 全記事一覧へ



HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間