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 via kwout
マイクロソフトがまもなく正式サービスを開始するクラウドサービスが、Windows Azure(アジュール:空色)です。CLR上のマネージドコードや、Win32 APIを利用するC++などのネイティブコード、Fast CGIによるPHPを動作させることができます。
ストレージとしては、KVS型の「Windows Azure Storage」以外に、SQL Serverのクラウド版である「SQL Azure Database」があり、既存のオンプレミスシステムをクラウドシステムに乗り換えたり、それらを切り替えつつ運用したりが可能なクラウド設計がなされているのが特徴です。
クラウド向けに各種サービスが完備された「クラウドOS」であるAzureに対して、既存の.NET(C#や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アプリから |
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|