GigaSpaces(サイト・英語)は先日、分散環境においてアプリケーションからのスケーリングを実現するインフラソフトウェアプラットフォームであるeXtreme Application Platform(サイト・英語)(XAP)のバージョン6.0をリリースした。InfoQは、GigaSpacesのGeva Perry氏(source)とNati Shalom氏(source)に、今回のリリースおよびこのバージョンでの変更点について詳しく話を伺った。
まず、Perry氏とShalom氏に、6.0での主な変更点について語ってもらった。
- OpenSpaces-6.0向けの主要な開発プラットフォームで、Spring Framework(サイト・英語)を使用して、POJOドリブンの開発モデルのみならず、高スケーラブルかつイベントドリブンのサービス指向アーキテクチャ向けコンポーネントを提供する。また、インメモリデータグリッド、リモーティング、宣言型のイベントコンテナ/トランザクション、およびOSGiのような展開モデルなどのコンポーネントを提供する。
- Persistence as a Service (PaaS) -ミラーサービスの別名でも知られており、バックエンドデータサービスを用いてインメモリデータグリッドの内容の非同期性が確実に持続するようにする。その際、アプリケーションコードやコンフィギュレーションを変更する必要はなく、ミラーサービスはすべてをトランスペアレントに処理する。
- JMS 1.1相互運用性-JMS APIを介して直接フィードを送信することを可能にし、これらのフィードはすぐにスペース内のエントリに変換される。これによって待ち時間が低減し、コンポーネント数が減るためにイベントドリブンのアプリケーションの開発、展開が簡素化される。
- SLAドリブンのコンテナ-サービスレベルアグリーメント(SLA)を通してクラスタのインスタンスを動的に管理するサービスグリッドは現在、Springを使用することによって大幅に簡素化されており、製品のすべてのエディションに統合されている(無償のCommunityエディションも含む)。
- 強化された.Netサポート-パフォーマンスが向上し、.Netが元からサポートされ、新しいAPIセットが.NetとJavaの両方を組み込みモードで実行することを可能にすることによって.NetとJavaのシームレスな相互運用性を実現する。また、GigaSpacesはMicrosoftと提携し、Excel、SharePoint、Visual Studio、およびWindows Compute Cluster ServiceのようなMicrosoft技術に対してよりパッケージ化されたソリューションを提供する。
- Amazon Elastic Compute Cloud(サイト・英語)(EC2)のサポート-現在、6.0はサーバー当たり1時間0.10ドルのコストでEC2サービスに使用できるため(サイト・英語)、ユーザーが試したり、複数のサーバーにどのようにスケーリングされるかを確認したりできる。
- 統合されたスペースベースアーキテクチャ(サイト・英語)(SBA)のサポート-以前のリリースでは、SBAの実装には開発とコンフィギュレーションの努力が必要だったが、6.0では、これがAPIの主たる部分をなすプロセシングユニットのようなSBAコンポーネントを用いて簡素化されている。
Perry氏とShalom氏にプロセシングユニットとは何かを詳しく説明してもらった。
スペースベースアーキテクチャにおいて、プロセシングユニットとは、アプリケーションのスケールとフェイルオーバーのユニットを意味します。通常、これには待ち時間/ランタイムの依存が大きいアプリケーションサービスおよびミドルウェアコンポーネントのすべてが含まれます。SBAは、単独のコンテナ(プロセシングユニット)の下でこれらのサービスをカプセル化し、これらのコンポーネントすべてに対して一貫したスケーリングとフェイルオーバー動作を包括的に維持します。例えば、エラーイベントは、ミドルウェアコンポーネント(メッセージング、データグリッド)とそれに関連するビジネスロジックの両方のリカバリプロセスを自動的にトリガします。こうして、エラーイベントが発生し、メッセージングシステムがイベントの引き渡しを開始するが、アプリケーションサービス側でその処理を行う準備が整っていないという事実から発生する部分エラーや一貫性のないビヘイビアが避けられます。待ち時間の観点からすると、これらのコンポーネントをすべて同じランタイムコンテナ内でカプセル化すると、純粋にメモリ内で相互に影響するため、ネットワークのオーバーヘッドが低減します。スケーラビリティはプロセシングユニットの追加と同じくらい単純になります。言い換えれば、データ、ビジネスロジック、および/またはメッセージング層を個別にスケーリングする必要がないのです。
Perry氏とShalom氏は、今回のリリースがさらに大きな展望に適合すると見られる部分についても語ってくれた。
.6.0は、当社が目下促進しているビジョン実現する上でなお一層の重要ステップです。このビジョンの核心は、n層アーキテクチャとJ2EEスタックを使用してアプリケーションを構築する時代が終わりつつあるという認識なのです。これらに依存するアーキテクチャやミドルウェア技術は、今日のビジネスアプリケーションに必要なスケーリング、信頼性、およびパフォーマンスをサポートする能力の点から、壁に突き当たっています。
とりわけ、新たに出現したアーキテクチャは、垂直型スケーラビリティと比べて、低コストのハードウェアに基づく水平的なスケーラビリティをサポートします。これらは、インメモリデータグリッドを、RDBMSではなく、リアルタイムかつオンラインでのレコードのトランジャクションシステムとして活用します。これらは、データやサービスの動的コロケーションが、単独の「always available(いつでもどこでも利用可能)」かつフォールトトレランスなクラスタリングを備えた自給型の「プロセシングユニット」を作成するのを可能にします。
Perry氏とShalom氏は、eBay、Google、MySpace、およびAmazonなどの他の大規模サイトが同様のアイデアを思いついたことを言及し、MapReduce(サイト・英語)、Hadoop(サイト・英語)、およびmemcached(サイト・英語)を例に挙げた。ただし彼らは、JDBC、JMS、およびSpringのサポートを通じて、J2EE世界および既存の開発者スキルとの相互運用性を維持することに注意を払っていることを明らかにした。彼らはまた、XAP Community Edition(サイト・英語)やOpenSpacesなどの製品が、主に大企業が使用するエンタープライズ製品というよりも、主流の開発者をターゲットとしていることを指摘した。
GridGain、Coherence、およびTerracottaとGigaspacesの比較についても尋ねたが、彼らはまず、これらのベンダがすべてアプリケーションの構築と展開のより良い方法についてコミュニティを教育しようとしていることを述べた。一方、Gigaspacesは、スケーリング、パフォーマンス、および高可用性のすべての面に応える総括的なアプリケーションプラットフォームとなるように設計されている。彼らいわく、他のベンダは分散キャッシングのような分散コンピューティングという具体的な面により重点を置いている。また、GigaSpacesがバッチアプリケーションに焦点を当てたエンタープライズグリッドコンピューティングソリューションではないと述べており、これを提供するべく、GigaSpacesはGridGain、DataSynapse、およびPlatform Computingなどの企業と提携している。また、GigaSpacesは、インターアプリケーショングリッドにおいて共有リソース上で複数のアプリケーションを管理するよりも、分散環境において単独のアプリケーションを実行するためのイントラアプリケーショングリッドにもより重点を置いている。
Perry氏とShalom氏にはまた、グリッドコンピューティングの将来に関するCameron Purdy氏の最近の考え(source)についての意見を述べてもらった。
Cameron氏の主張では、Tangosolは常に最高のデータキャッシング技術であり、その理由は、まさにデータキャッシングそのものに焦点を絞っているためです。当社の考えでは、アプリケーション全体のスケーラビリティ、パフォーマンス、および可用性を、そのアプリケーションのデータボトルネックだけでなく、終端間で解決することは、単に分散キャッシング機能(データグリッドと呼ばれるにしても)よりはるかに多くのことを必要とするというのが自明の理です。Oracleはこれに気づいたため、Tangosolを買収し、レガシーアプリケーションサーバーやメッセージング技術も含む予定である自社のFusion Middlewareスタックにキャッシングを追加しようと試みています。
しかし、異なる技術の統合がどんなに優れていても(また、優れているかまだ分からない場合でも)、これには常に、参加コンポーネントすべてに対するスケーラビリティ、パフォーマンス、および持続的な可用性のための一般的な動的クラスタリングモデルが本質的に欠如しているという根本的なハンディキャップを負います。これは、全く間違ったアプローチです。これと、GigaSpaces 6.0 XAPで利用できる総体的なSBAアプローチと比べてみてください。
最後に、彼らにXAPに開かれた将来について尋ねた。
当社は、[EC2] およびCommunity Editionに加えて、特別なスタートアップ製品も作成する予定で、これによって、スタートアップ、オープンソースプロジェクト、および非営利団体が製造中の製品を無料で使用できるようになります。間もなく登場するこの製品について公に言及するのはこれが初めてです。数週間後にリリースされますので、引き続き注目してください。