オープンソース・クラウド・コンピューティングの実態: 第 1 回 すべてのクラウドが同じというわけではありません

数多くのプラットフォームから選択する方法

会社の CTO があなたにクラウド・コンピューティングに関する戦略を報告するよう言ってきました。しかも、明日中にです。選択肢はさまざまにあり、それぞれに違う点も似ている点もたくさんあります。この記事では、クラウド・コンピューティングに約束された能力を利用しようとしている組織のために、オープンソースの技術を中心に選択肢のいくつかを検討します。Amazon、Microsoft®、Google、IBM®、Aptana、Heroku、Mosso、Ning、そして Salesforce などのプロバイダーを取り上げ、それぞれのプラットフォームの利点と欠点を比較し、各プラットフォームでサポートされるオープンソースの技術および独自技術のタイプを調べます。この記事を読んで、ニーズに合ったプラットフォームを選び出す方法を学んでください。

Michael Galpin, Developer, eBay

Galpin Michael photoMichael Galpin は 1998年からプロとして Java ソフトウェアを開発しています。彼は現在、eBay に勤務しています。California Institute of Technology で数学の学位を取得しました。



2009年 4月 07日

この連載について

この 3 回構成の連載「オープンソース・クラウド・コンピューティングの実態」では、クラウド・コンピューティングが自分にとって役に立つのかどうかを判断する方法と、クラウド・コンピューティングに関する戦略を計画する方法を学びます。第 1 回で取り上げる内容は、クラウド・コンピューティングの利点、クラウドのタイプ、および選択肢となるクラウド・コンピューティング・プラットフォームの概要です。その後の 2 回の記事では、クラウドの設計および開発について、そしてクラウドでアプリケーションを管理する方法を説明します。


クラウド・コンピューティング: 果たして誇大宣伝以上のものなのか?

ある程度の期間、技術に携わってきた経験があるなら、「前にもあったように、クラウド・コンピューティングも単なる誇大宣伝された技術ではないのか」と思っているのではないでしょうか。すべての問題を解決すると期待されているこの最新の特効薬は、誇大宣伝以上のものなのでしょうか。答えは、「まさにその通り」です。その一方で、クラウド・コンピューティングが誇大宣伝されていることは否定しようのない事実です。この記事ではクラウド・コンピューティングの選択肢をいくつか検討しますが、すべての選択肢を網羅するには到底及びません。今や、多くのベンダーがこの誇大宣伝に便乗しようとしています。けれども、クラウド・コンピューティングにはまさに現実的かつ具体的な利点があります。それは、誇大宣伝であろうとなかろうと変わりのない事実です。

クラウド・コンピューティングには、クラウドに移行する前に慎重に検討しなければならない側面がいくつかあります。この記事で、クラウド・コンピューティングの利点と課題について学んでください。

クラウド・コンピューティングについて

クラウドのタイプ

ウィキペディアではクラウド・コンピューティングを「インターネットをベースにコンピューター技術を開発および使用すること」と定義しています。これは広義の説明で、多種多様なサービスをクラウド・コンピューティングとして分類することができます。クラウド・コンピューティングが提供するサービスのなかで、1 つのグループとして大きな割合を占めているのは、SaaS (Software as a Service) のバリエーションです。SaaS の例には Zoho (ワープロ、スプレッドシート)、Salesforce (CRM)、SlideRocket (プレゼンテーション) などの Web アプリケーションや、Google 検索、Yahoo!天気情報、PayPal といった Web サービスがあります。いずれも優れたクラウド・コンピューティングの例ですが、クラウド・コンピューティングを使用しようとしている企業にはそれほど役に立ちそうにありません。けれども、他のタイプのクラウド・コンピューティングを補うために使用することは可能です。

企業が探していると考えられるクラウド・コンピューティングのタイプは、おそらく PaaS (Platform as a Service) として知られるタイプのインフラストラクチャーです。PaaS で最も一般的なのは非構造化データの各種クラウド・データ・ストレージで、その例としては Amazon の S3 (Simple Storage Service) や IBM の SOFS (Scale out File Service) が挙げられます。この 2 つはどちらも分散ファイル・システムですが、S3 には Web サービス・インターフェースでアクセスする一方、SOFS には NFS や FTP などのファイル・プロトコルでアクセスします。Amazon はまた、SimpleDB サービスによる構造化データ・ストレージも用意しています。SimpleDB では構造化データを保管することができ、Web サービス・インターフェースを使用してその保管したデータにクエリーを実行することができます。

もちろん、コンピューティングはストレージだけに限りません。そこで登場するのが、クラウド・コンピューティング・プラットフォームです。クラウド・コンピューティング・プラットフォームは、コードを取得して、それをクラウド・プラットフォームで実行する手段を提供します。当然この手段は、クラウド・ストレージとクラウド Web サービスと組み合わせることができます。現在、選択可能なプラットフォームは数多くあり、それらを比較した場合の利点と欠点もさまざまです。

利点

コードを自分のコンピューターではなく、クラウド・プラットフォームで実行することをぜひ検討してください。それには単純で実際的ないくつかの理由があります。まず、コンピューターを購入してセットアップする必要がありません。これだけがクラウド・コンピューティングの見方だとしたら、ホスティング・サービスとはまるで違いがありませんが、クラウド・コンピューティングの大きな利点は、アプリケーションのオン (アプリケーションを使用できる状態にすること) とオフを素早く切り替えられること、そしてコンピューティング能力を必要に応じて柔軟に増加できることです。どのクラウド・コンピューティング・プラットフォームにしても、最低限、オンデマンドでコンピューティング・リソースをシームレスかつ大幅に増加させることができます。さらにプラットフォームによっては、オンデマンド・コンピューティングをベースとした汎用開発プラットフォームも提供しています。

要するに、クラウド・コンピューティングを使用すれば、組織は素早くアプリケーションをデプロイし、そのアプリケーションをビジネスのニーズに応じて拡張できるということです。これは願ってもない話に聞こえますが、クラウド・コンピューティングには認識しておくべき課題もあります。

課題

クラウド・コンピューティングの利点だけに注目するのは簡単ですが、欠点があることも確かです。クラウド・コンピューティングで最も明らかな問題の 1 つは、アプリケーションで使用されるデータが、アプリケーションとともにクラウドのなかに保管されることです。使用するデータは、顧客に関する個人識別情報、あるいは顧客の金融証書や取引記録などの機密データである可能性があります。さらに、機密性はないにしても、例えばユーザーに関する情報を集約したものや、ユーザーがアプリケーションをどのように使っているかなどの極めて貴重なデータである場合もあります。このようにクラウド内には重要な情報が保管されることから、クラウド・コンピューティング・プラットフォームがセキュアであるかどうかを理解する必要があります。

心配しなければならないのは、クラウド内のデータに誰がアクセスするかだけではありません。そのデータの完全性も同じく重要な懸念事項です。マシンに障害が発生しないとは限りません。そのため、データをバックアップして障害発生時にリストアできることが必須となります。プラットフォームがデータをバックアップし、リカバリーしてくれるのか、あるいは少なくとも必要に応じて顧客がデータのバックアップとリカバリーを行えるプラットフォームであるのかを調べてください。また当然、アプリケーションの信頼性も極めて重要です。その特定のプラットフォームがどのような類のサービス・レベル・アグリーメントを提示しているのか、などの重要な懸念事項について、この記事では選択可能なそれぞれのプラットフォームを検討しながら探っていきます。

プラットフォーム

クラウド・コンピューティング・プラットフォームには多くの選択肢があります。この記事ですべての選択肢を網羅することは到底できませんが、ここに抜粋したオプションから、よく使用されているプラットフォームとそれぞれの根本的な違いを把握できると思います。各プラットフォームの説明で特に考慮するのは、それぞれがサポートするプログラミング言語とオープンソース技術、そしてクラウド・コンピューティングのとりわけ厄介な問題にどのように対応しているかという点です。多数の選択肢を検討しやすいように、基本プラットフォームと特殊プラットフォームの 2 つに大別して説明します。

基本プラットフォームとは最小限のサービスのことで、(仮想) ハードウェアと、場合によってはオペレーティング・システムだけで構成されます。これらのプラットフォームには制約事項が少ないことから、傾向として特殊プラットフォームよりも柔軟です。

特殊プラットフォームには、基本プラットフォームをベースに何らかのプログラミング環境およびサービスが追加されています。特殊プラットフォームは一般的に基本プラットフォームよりも単純で、独自のサービスを提供していることがよくあります。


基本プラットフォーム

クラウド内でシステムを自由自在に構成したいのであれば、基本プラットフォームが適しています。基本プラットフォームでは、ハードウェアのような仕様としてプロセッサーのタイプなどを指定できるだけでなく、さらにはプロセッサーの特定の速度と特定のメモリー容量まで指定できることもあります。そこからは、必要なものを何でも自由に作成して構いません。基本プラットフォームはホスト・サービスによく似ていますが、クラウド・コンピューティング・プラットフォームの場合、必要に応じて拡張も縮小もできます。このセクションでは、Amazon、IBM、Joyent、および Mosso の 4 つのプロバイダーを検討します。

Amazon Elastic Compute Cloud

最初に登場したクラウド・コンピューティング・プラットフォームの 1 つ、Amazon の EC2 (Elastic Compute Cloud) は、今でも最もよく使用されているプラットフォームの 1 つです。「Amazon に関する仕事をしていれば決して解雇されることはない」とは、ことわざのようによく言われています。EC2 は基本プラットフォームの代表例です。

IBM と Amazon Web サービス (AWS)

IBM は Amazon Web サービスと提携しており、仮想コンピューティング環境で IBM ミドルウェアを利用できるサービスを提供しています。このサービスでは、Amazon EC2 で得られるエクスペリエンスを利用することで、ユーザー自身のシステムにインストールしなくてもソフトウェアを評価したり使用したりすることができます。また、ほとんど瞬時に容量を調整することができ、企業対応のアプリケーションを信頼性の高いハイパフォーマンス環境で構築できる上、料金は使用した時間と容量に対してしか発生しません。IBM が EC2 で提供しているミドルウェアは以下のとおりです。

  • DB2® Express-C V9.5
  • Informix® Dynamic Server Developer Edition V11.5
  • WebSphere® Portal Server と Lotus® Web Content Management Standard Edition
  • WebSphere sMash

これらは製品レベルのコードであり、すべての機能とオプションが使用可能です。これらの製品についての詳細を入手して、AMI をダウンロードしてください。developerWorks の Cloud Computing には他にもリソースが揃っているので参照してください。

EC2 を使い始めるには、AMI (Amazon Machine Instance) が必要になります。AMI とは、オペレーティング・システム、アプリケーションなどをすべて含めた完全なマシン・イメージのことです。Amazon と EC2 コミュニティーには、Microsoft Windows® または Linux® のいずれかに Apache Web サーバーや MySQL、Python インタープリターなど各種のオープンソース・ソフトウェア・スイートが追加された共通 AMI が多数用意されています。ニーズに合った AMI が見つからなかったとしても、Amazon が独自の AMI を作成するためのツールを提供しています。作成した AMI は自分専用にすることも、コミュニティーと共有することもできます。

AMI は、さまざまなサイズの「インスタンス」にデプロイすることができます。この記事を書いている時点では、小さなサイズのインスタンスには 1 GHz のシングル・コアと 1.7 GB のメモリー、そして 160 GB のディスク・スペースが備わっています。一方、超大型のインスタンスにはそれぞれ 2 GHz で実行する 4 つのコアが搭載されていて、メモリー容量は 15 GB、ディスク・スペースは 1.6 TB です。さらに、計算が集中するタスク専用の特殊なサイズもあるので、必要なサイズを選んで AMI をデプロイすればよいだけとなります。インスタンスの管理と制御はすべて、Web サービスを介して行われます。これらの Web サービスを中心に大規模なエコシステムが形成されているので、EC2 インスタンスの管理は簡単です。例えば、Elasticfox という名前の Firefox 拡張機能を使えば、Firefox から直接 AMI を管理および起動することができます。

EC2 はオープンソースの Xen 仮想化ソフトウェアによって駆動されるため、事実上、どのタイプのソフトウェアでも実行することができます。Linux の各種フレーバーも AMI のオペレーティング・システムとして一般的に使用されています。また、Java™ プログラミング言語、PHP、Python など、必要なプログラミング言語はどれでも使用することができます。EC2 で専用に作られたソフトウェアを使用することも可能ですが、EC2 が持つ柔軟性により、オープンソースのソフトウェアが非常に魅力的な選択肢となります。オープンソースのソフトウェアであれば、使用するインスタンスのサイズを増減する際に、ライセンスについて心配する必要がありません。

Amazon で提供している広範な EC2 対応のインフラストラクチャー・サービスは、データの信頼性やバックアップなどの問題に対処するために使用することができます。そのうちの 1 つ、Amazon の S3 サービスはデータのバックアップに最適な選択肢で、ほとんど「ドゥー・イット・ユアセルフ」に近いモデルです。Amazon クラウドの管理とアクセスは、2 因子認証を必要とする Web サービスのみを利用して行われます。

IBM Blue Cloud

Amazon が初めてクラウド・コンピューティングの領域に足を踏み入れたとき、多くの人々が驚きましたが、IBM がこの領域に参入したときには誰も驚きませんでした。2008年の終わりに発表された Blue Cloud は、クラウド・コンピューティングの基本のすべてを提供することを約束しています。顧客は一般的な x86 ハードウェアまたは POWER® をベースとした高性能のハードウェアから選択することができます。Blue Cloud は IBM の Tivoli® ソフトウェアを利用して、さまざまな能力 (CPU/RAM/ディスク) を持ったシステムを自動的にプロビジョニングします。そのため、組織は莫大なコンピューティング能力を必要に応じて使用することができ、しかも使用した分についてのみ料金を支払います。また、IBM では他に先駆けて、ファイアウォール内側にある内部のアプリケーションにクラウド・コンピューティングのメリットをもたらす「専用」クラウドの分野も開拓しています。

IBM の Blue Cloud は新しい技術なので、サポートされる技術のタイプについては最新の情報を調べてください。IBM はオープンソース技術を最も強力に支持している企業の 1 つなので、オープンソース技術を大幅に利用するアプリケーションには IBM が魅力的な選択肢となります。

Joyent Accelerator

Joyent は Amazon や IBM のように知名度は高くないかもしれませんが、Web をベースとした新興企業にも関わらず、瞬く間にクラウド・コンピューティング・プラットフォームのプロバイダーとして高い評判を得ました。Joyent Accelerator は従来のホスティング・プロバイダーに匹敵するほどの柔軟性を提供しながらも、クラウド・コンピューティングの鍵となるオンデマンド・コンピューティングを実現しています。そのため、PHP、Java 言語、または事前に構成されてすぐに使用できる Ruby on Rails でインスタンスの準備を素早く完了することができます。コンピューティング能力の大きさは、必要に応じて選択します。何もかもが OpenSolaris 上で実行されているため、このプラットフォームにデプロイされたアセットにアクセスし、それらを管理するには、SSH や FTP など、いつものツールをすべて使用することができます。

Joyent のクラウド・コンピューティングはスケーラビリティーを念頭に設計されています。最も手頃な料金のサービスでさえも、使用量の急増に対応するようになっています。この点が、Facebook アプリケーションを作成している組織の間で Joyent の人気が非常に高くなった理由です。Facebook アプリケーションは、普段は大きな処理能力を要しないものの、使用量が突然急増することがあります。

Joyent の場合、OpenSolaris と互換性を持つあらゆる技術がサポートされます。これにはオープンソースの LAMP 技術およびプログラミング言語や、Java 言語、Ruby などのプログラミング言語も含まれます。Joyent では、既存の Linux や UNIX® のツールを引き続き利用して、サイトやデータをセキュアに保守することができます。

Mosso

有名なホスティング・プロバイダー The Rackspace Cloud の子会社である Mosso には、いくつかの異なるクラウド・コンピューティングのサービスがあります。Mosso の Cloud Sites は基本プラットフォームと特殊プラットフォームの境界線をまたがり、2 つの基本 Cloud Site 構成を用意しています。1 つは、オープンソース・ソフトウェアで駆動される従来の LAMP セットアップ、もう 1 つは IIS Web サーバーと SQL Server データベースで構成された Windows Server です。顧客は構成を選択し、必要に応じて帯域幅、ストレージ、CPU サイクルに料金を支払います。

Mosso は、Cloud Servers という新製品の提供を発表しました。これは Linux システムになる予定ですが、システム構成には完全な柔軟性が備わっているはずです。Mosso の Cloud Sites は、多くのアプリケーションに必要な基本ビルディング・ブロックを提供しているため人気があります。Cloud Site は基本的な特殊プラットフォームと称することもできるでしょう。こうした点を踏まえて、次のセクションではさらに特殊化されたプラットフォームの選択肢を検討します。


特殊プラットフォーム

「特殊」という言葉は、もちろん主観的なものです。それではクラウド・コンピューティング・プラットフォームを特殊にするものとは何でしょうか。このセクションで取り上げるプラットフォームは、いずれも前述の基本プラットフォームをベースに機能を追加したプラットフォームです。追加機能は独自の開発環境であったり、プラットフォームに追加で統合されたサービス、あるいは利便性のための機能であったりします。このセクションでは特殊プラットフォームとして、Microsoft Azure、Google App Engine、Aptana Cloud、Heroku、Ning、および Salesforce を検討します。

Microsoft Azure

Azure プラットフォームは、2008年の第 4 四半期に Microsoft によって発表されました。このプラットフォームは Windows の特殊フレーバーである独自のオペレーティング・システムと連動し、マシン・インスタンスを動的にプロビジョニングする「ハイパーバイザー」を組み込んでいます。Azure プラットフォームは、任意の .NET アプリケーションを実行するように設計されているため、サーバー・ベースの .NET アプリケーションはこのクラウドに移行するのが当然の選択となるでしょう。Exchange をはじめ、Microsoft のサーバー・ベース製品の多くは Azure のクラウドで実行できるようになってきています。

一方、Azure は単なる Windows と .NET のプラットフォームというだけではありません。Azure プラットフォームでは他にも数多くのサービスを提供しています。例えば、極めてスケーラブルな SQL サーバー・データベースである SQL Services、そしてよく使われている多くの Microsoft アプリケーションと接続して検索、写真共有、インスタント・メッセージなどを可能にする Web サービス、Live Services などです。Azure は Microsoft の IDE、Visual Studio® とも密接に統合し、アプリケーションの実行、テスト、そして Azure プラットフォームへのデプロイを容易にしています。

Azure は選択可能なクラウド・プラットフォームのなかで最も独自仕様の色が濃いプラットフォームの 1 つですが、Microsoft の技術をすでに使用している場合には、Azure には明らかな利点があります。例えば、このプラットフォームでは .NET 言語や SQL Server ベースのデータベースなど、Microsoft の技術だけに専念できることです。また、多くの Windows 技術を利用してセキュアなアクセスを実現し、Azure で実行するあらゆるアプリケーションを管理することもできます。

Google App Engine

Google が 2008年の第 2 四半期に開始した App Engine は、他の多くのクラウド・プラットフォームとはかなり異なります。このプラットフォームではハードウェアのプロビジョニングは不要で、単にアプリケーションをデプロイすればよいだけです。しかも、アプリケーションをデプロイするのに料金はかかりません。ただし App Engine の使用量の無料枠に達した場合には、他のクラウド・プラットフォームのように必要な CPU 使用量、ストレージ、帯域幅を追加で購入することができます。Google App Engine には利便性のための機能がいくつかありますが、これはその特殊化された機能セットの序の口でしかありません。

Google App Engine が提供する堅牢な開発環境は Python のみをサポートし、Python をベースに数々のサービスを提供しています。ユーザー管理は Google に統合されるため、例えばユーザーは Google Mail にログインするときに使用するクレデンシャルと同じクレデンシャルを使ってクラウド内のアプリケーションにログインします。構造化データを保管するためのデータ・ストア API もあります。データ・ストアに保管する方法や、データ・ストアから取得する方法は、リレーションナル・データベースを使用する場合と似ているもの、完全に Google の独自仕様です。そのベースとなっているのは、Google 独自の分散ファイル・システム GFS です。

要点をまとめると、Google はオープンソースの Python だけをサポートしますが、それ以外については実質的に Google の独自仕様です (ただし、Google はその仕様の裏では多くのオープンソース技術を使用していると考えられます)。Google App Engine はデータ・バックアップ・ソリューションをまったく提供していませんが、使用されているデータ・ストアは耐障害性に極めて優れた設計となっています。

Aptana Cloud

おそらく Aptana はその製品、Aptana Studio が最も有名かと思います。Aptana Studio は、JavaScript、PHP、Python、Ruby などの動的プログラミング言語を操作するための Eclipse ベースの IDE です。Aptana が 2008年の第 2 四半期に発表したクラウド・プラットフォーム Aptana Cloud は、実際には Joyent のクラウド・コンピューティング・プラットフォームをベースとした機能セットです。

Aptana Cloud は、PHP または Jaxer、Aptana のサーバー・サイドの JavaScript 実装、あるいは Ruby on Rails を使って、簡単に Linux または MySQL 環境へデプロイメントすることができます。Aptana Cloud のデプロイメントには Joyent Accelerator デプロイメントのすべての特性が備わっていますが、さらに Aptana による機能も追加されています。クラウド・アプリケーションのデプロイメントと管理は Aptana Studio から直接行います。Aptana Studio からは、アプリケーションに合わせたハードウェアのプロビジョニングからログ・ファイルの監視に至るまで、すべてを実行することができます。また、Aptana の利便性は他に例を見ないほどのレベルで、開発、テスト、デプロイメント、そして管理の操作はすべて一か所で行われます。

Aptana は Joyent からオープンソース技術およびプログラミングのサポートを大幅に継承しているだけでなく、管理とバックアップ用のオープンソースのツールも継承しています。管理の多くの側面は Aptana Studio に統合されていますが、さらに高度なシステムにすることも可能です。

Heroku

「Google App Engine が Python のみをサポートしているように、Y-Combinator の新規アプリケーション Heroku は Ruby on Rails のみをサポートしています」と言うこともできますが、それだけでは Heroku の評価としては不十分です。Heroku は単なる Ruby on Rails を使用できるクラウド・プラットフォームというだけではありません。Heroku がサポートするのは Rails だけなので、Rails に合わせて大幅に調整されています。そのため Heroku では、Ruby gem をローカル・セットアップに追加するだけで、コマンドを発行してアプリケーションを Heroku クラウドにデプロイし、実行することができます。あるいは Git リポジトリーからアプリケーションをデプロイすることも、さらに Web ブラウザーからコードにアクセスして編集することさえ可能です。アプリケーションで使用したい Ruby gem や Rails プラグインは何でも使用することができます。

Heroku が一貫して焦点としているのは利便性です。Heroku は Amazon EC2 をベースに動作するため、コンピューティング能力は柔軟に増減することができます。Heroku には、Heroku Garden による無料のサービスが用意されています。Heroku Garden を使って無料でアプリケーションをクラウドにデプロイしてテストし、トラフィックの増加に対応する準備が整ってから、あるいは耐障害性が必要になった時点で、アプリケーションを Heroku Garden からメインの Heroku プラットフォームに移すことができます。

Ning

この記事でこれまで説明したクラウド・プラットフォームは極めて汎用的なプラットフォームであり、これらのプラットフォームはどのようなアプリケーションにも対処することができます。なかには Web アプリケーションに特化したプラットフォームもありますが、それでも極めて汎用的な部類に入ります。よく使用されている Ning は、ユーザーが独自のソーシャル・ネットワークを作成できるサイトです。一般にソーシャル・ネットワークを作成するには、ページを追加し、ページにウィジェットを追加し、ウィジェットを構成するといった純粋な構成作業を行うことになりますが、Ning ではネットワークのソース・コードをダウンロードし、必要に合わせてコードを変更してから Ning クラウドで実行することもできます。ネットワーク・コードは単純な PHP です。PHP を知ってさえいれば、独自のソーシャル・ネットワーキング・アプリケーションの作成に取り掛かれます。

Ning は、リレーショナル・データベースではなくデータ・ストア API を提供するという点で Google App Engine と似ています。また、ソーシャル・ネットワークのインフラストラクチャーにアクセスするための多数の Ning API も提供します。デプロイメントに必要な作業はコードのアップロードだけで、ハードウェアのプロビジョニングはすでに用意されています。Ning ではネットワーク使用料を広告で換算し、無料で使用できるストレージと帯域幅の上限を設けています。そのため料金を支払えば、広告を外してストレージと帯域幅の容量を増やすことができます。

Ning は明らかに、極めて特殊化されたクラウド・プラットフォームですが、アプリケーションにソーシャル・ネットワーキング機能を (主要な機能の補助的な機能にするとしても) 組み込もうと計画していて、PHP でのプログラミングに慣れているのなら、Ning はとても魅力的な選択肢となります。Ning は Google App Engine と似ていて、プログラミング言語の選択肢は 1 つ (PHP) しかなく、必要に応じて追加のソフトウェアをただインストールすればよいというわけにはいきませんが、極めてスケーラブルながらも独自仕様のシステムを利用することができます。

Salesforce

極めて特殊化されたクラウド・コンピューティング・プラットフォームとしては、Salesforce が提供しているプラットフォームもあります。Salesforce は、SaaS モデルを適用することによって CRM (Customer Relationship Management) ソフトウェアを大改革することで知られているサービスです。この Force.com プラットフォームでは、独自のアプリケーションを作成し、Salesforce がその CRM アプリケーションに使用しているのと同じタイプのクラウド・インフラストラクチャーで実行することができます。企業は AppExchange を使ってこれらのアプリケーションを見つけて「インストール」し、ユーザーがアプリケーションを使用できるようにするという仕組みです。つまり、Facebook アプリケーションと同じように、これらのアプリケーションは主要な Salesforce アプリケーションの一部としてシームレスに実行されます。

別の手段として、1 つ以上のアプリケーションからカスタム Force.com サイトを作成することもできます。これはむしろ、クラウド・コンピューティングのパラダイムにより近い仕組みで、Force.com サイトではハードウェアは無料ですが、ユーザー数に応じて料金を支払うことになります。また、ユーザーごとに必要なストレージの量によっても価格帯が異なります。Salesforce 上で実行されるアプリケーションを作成するには、Java プログラミング言語に似た専用言語 Apex でプログラミングを行います。Salesforce エンジニアが CRM アプリケーションを作成するときにも、この言語を使用します。

Salesforce にはユーザー、アカウント、ロール、データ・アクセスなどを管理するためのプラットフォーム固有のサービスも数多く用意されています。Force.com site サイトはビジネス・アプリケーション、とりわけ特定の企業に固有のビジネス・アプリケーションに魅力的な選択肢となるはずです。オープンソース技術およびプログラミングの選択肢という点では、Salesforce はかなり限定されてしまいますが、Google App Engine や Ning のように、Salesforce は極めてスケーラブルな独自仕様の技術を提供します。


まとめ

この記事では、クラウド・コンピューティングが持つ重要な利点をいくつか検討し、広範なクラウド・コンピューティング・プラットフォームについて、そしてこれらのプラットフォームの類似点と相違点について学びました。ここで学んだ情報は、それぞれの組織に適したプラットフォームのタイプを選択する際に役立つはずです。

連載「オープンソース・クラウド・コンピューティングの実態」では今後、クラウド・コンピューティング・プラットフォームでのアプリケーションの開発、デプロイメント、そして管理について検討していきます。以降の記事もお見逃しなく。

参考文献

学ぶために

製品や技術を入手するために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=388331
ArticleTitle=オープンソース・クラウド・コンピューティングの実態: 第 1 回 すべてのクラウドが同じというわけではありません
publish-date=04072009