TerracottaによるEhcacheの買収によって、Javaのキャッシング・ソリューションとして、もっとも有名なオープンソースの2つが手を組むことになった。JVMレベルでのPOJOクラスタリングを提供するTerracottaは、単一のJVMで動作するマルチスレッド・アプリケーションをコードの変更なしで、複数のJVMをまたいで実行させることができる。Ehcacheは何十万といった単位でデプロイされて、あちこちで使われている。Ehcacheは、Oracle Coherenceと同様の標準的なHashMapスタイルのインターフェースを提供する。この2つの製品を合わせると、おそらくJavaのキャッシング製品のなかで、もっとも導入実績の多い製品となるだろう。InfoQは、TerracottaのCEOであるAmit Pandey氏とEhcacheの創業者であるGreg Luck氏に話を聞いた。
Ehcacheのユーザにとって、Terracottaに加わることによって次のようなものが得られる。
- 同じApache2ライセンスを使用している
- Terracottaによって運営される新しいホスティング環境で、最新式のフォーラムや、ソースコントロール、mavenのインフラなどを、今後もそのまま残る旧来のsourceforgeのインフラとともに利用できる
- Ehcahceのパフォーマンスや機能改善を専任で担当するフルタイムのエンジニア
- Echacheベースのアプリケーションにクラスタリングやデータ分散機能を加えるための、よりシームレスで統合されたアップグレードバス
- 既存のEhcacheユーザ向けの企業向けサポートとトレーニング
Terracottaユーザには次のようなものが得られる。
- EhcacheのインターフェースがTerracottaの分散キャッシュを置き換え、単一のキャッシングインターフェースとなる/Terracottaの分散キャッシングの標準となる
- サーバ群がないデスクトップで動作する単一ノードバージョンのTerracotta
- Terracottaと組み合わせて動くことが確認された最新バージョンのEhcacheをいつでも使える完全な自由
- 拡張性と信頼性のある実行環境とともに、キャッシング・インターフェース/ライブラリの構成を単一ベンダーからサポートを受けられる
Amit Pandey氏は次のようにコメントしている。
まず単一のユーザ・エクスペリエンスを保証します。EhcacheとTerracottaの統合は今より強力なものになることを保証します。例えば、Terracottaでバックエンドの分散環境の制御を行うように設定されたEchaceを単一のダウンロード可能なモジュールとして提供します。私たちはパートナーだったので、今日でもこれは実現できることです。しかし開発者が行わなければいけない余計な作業があったのです。統合により、バイトコード操作で有名なそれぞれの製品単体以上のものとなるでしょう。
Amitによると、Terracottaにとってこの買収は、「Coherenceに比べ、優位に立てる一撃だ」とのことだ。Ehcacheを買収することにより、Terracottaは、Terracottaが数十万と主張している既存のEhchaceの導入先に入り込みやすくなるだろう。そのなかには、グローバル1000の企業も広く含まれている。Ehcacheの買収は、開発者が分散キャッシュをベースとしたアプリケーションを構築する際の選択肢を広げる。Terracottaは、透過的なPOJOクラスタリングとして知られていた。「透過的であることは、私たちのもっとも優れた強みです。しかしそれを理解しないといけないのは大変だと、私たちを非難する人もいます」とAmitはいった。Greg Luck氏は次のように付け加えた。
Ehcacheは、キャッシングを行うのにとても単純な方法を提供します。私はTerracottaも単純だと考えます。しかし、ちょっと頭を使わないとだめなのです。POJOのアプローチのTCを愛する人もいますが、多くの人は新しいことを試したくないのです。TCのさまざまな魅力的な話は、技術的に先端のものを使い、POJOを使うように訴えます。しかしJ2EEの世界には、単純なAPIモデルで十分満足している多数の人たちがいるのです。
2つの製品が組合わさることによるCoherenceに対する優位性について聞いた。
- 導入実績。もしEhcache上にアプリケーションを構築しているのであれば、分散処理を行うために簡単にアップグレードできます。
- キャッシングに対する複数のアプローチ。APIベースのアプローチの他に、旧来のTerracottaのPOJOのキャッシングのアプローチが利用可能。
- オープンソース。Greg Luck氏は次のように話している。「Coherenceはオープンソースではありません。開発者がCoherenceを使うためには、CTOのような上位の役職による判断が必要なのです。それに対してEhcacheとTerracottaによる開発は草の根から始めることが可能です。したがってCoherenceを使って大規模なスケールを求める人は、Ehcacheを使えば単一ノードのキャッシングから始めて、Terracottaによる分散キャッシングに容易に移行できるのです。」
Greg Luck氏は、昨年他社からの3件のオファーを断っているが、それにしても合併は競争力を維持するために重要だと考えているとコメントした。
先週のSpringSourceの件を見ただろう。OracleのSun買収を一部の引き金とした合併は続いていくだろう。キャッシングと分散キャッシングは特に重要だ。いくつかのオープンソースプロジェクトが締め出されてしまうリスクがある。今でもApache DynamiteやMemcachedのようなたくさんの新しい競合がいる。私がみるに、大きくなるか、退場するかのどちらかだろう。
memcachedに関して、Greg Luck氏は次のように語った。RESTful APIを提供しロードバランサの背後に配置することでクラスタ間を簡単にスケールさせることができるmemcachedのJavaの競争相手として、Terracottaとの統合がEhcacheサーバをよりよいものにさせるだろう。「今日、それぞれのサーバはデータのコピーを100%もっています。それによってGCがハンドルできる範囲に制限されてしまうのです。私たちのお客様は20ギガバイトのデータを扱っています。テラバイトサイズのキャッシュを扱いたいときにはどうなるでしょう。この点に関しては、Ehcacheでは無理なんです。Terracottaを使うことで製品のロードマップを示せるようになります」
Ehcacheは引き続きApache 2ライセンスのプロジェクトで、今日と同様にsourceforge、Mavenなどを経由して利用できる。この買収によってGreg Luck氏は、Terracottaに加わる。そしてEhcacheのコードベースの著作権はTerracotta社に保持されることになった。ちょうどJBossが数年前にHibernateを買収したときと同じ方式だ。Greg Luck氏は、この買収に関して個人的なノートを投稿している。