InfoQ

News

Ehcache Joins Terracotta

Posted by Floyd Marinescu on Aug 18, 2009

Community
Java
Topics
Clustering & Caching ,
Performance & Scalability
Tags
Terracotta ,
Tangosol ,
EHcache ,
Coherence

Two of the most notable open source Java caching solutions have joined forces with Terracotta's purchase of Ehcache.  Terracotta, unique for providing JVM-level "pojo clustering", can take multi-threaded single-JVM apps and have them run across multiple JVMs with no code changes. Ehcache is nearly ubquitous with hundreds of thousands of deployments; it provides the standard HashMap style interface similar to Oracle Coherence. The combined entity likely has the largest install footprint of all Java caching products.  InfoQ spoke to Terractta CEO Amit Pandey and Ehcache founder Greg Luck.

For Ehcache users, joining Terracotta will bring:

  1. The same Apache 2 license they currently rely on
  2. A new hosting environment operated by Terracotta with state-of-the-art forums, source control, maven infrastructure, etc. all running alongside sourceforge infrastructure that will remain in place
  3. A dedicated team of engineers working full-time on EHCache performance and features
  4. A seamless and better-integrated upgrade path to add clustering and data distribution Ehcache-based applications.
  5. Enterprise support and training for existing EHCache installations

For Terracotta users:

  1. EHCache interfaces will replace Terracotta distributed cache as a single caching interface / standard for Terracotta distributed caching
  2. A single-node version of Terracotta that can run on the desktop w/o their server array
  3. Full freedom to run on the latest version of EHCache at all times, knowing it works with Terracotta
  4. One vendor support structure for their caching interfaces / libraries as well as their scalability / reliability runtime.

Amit Pandey commented that:

first thing will ensure a seamless user experience, make sure that the integration between EHCAche and Terracotta gets tighter than today, such as offering a standalone download of EHCache with a distributed coherent backend from Terracotta. You can do that today since we’ve partnered but there is extra work that you have to do as a developer.  We'll be able to to make the joint performance of the integration different than the standalone piece with all the bytecode stuff that we’re well known for.

For Terracotta the acquisition is "definitely a competitive blow to Coherence" according to Amit. Buying Ehcache gives Terracotta an easier path to adoption for the existing Ehcache install base which Terracotta claims "numbers in the hundreds of thousands, including the vast majority of the Global 1000."  Buying Ehcache also gives more options for developers building distributed cache-based appliactions.  While Terracotta was known for transparent POJO clustering, "the transparency is our greatest strength but some also criticize us that people have to go figure that out" said Amit.  Greg Luck added:

Ehcache provies a very simple way of doing caching. I think Terracotta is simple but it requires a bit more thought. There are people who love TC for the pojo apporoach [but also] the mainstream that may not want to try something new. A lot of the sort of sizzle and attraction of TC appeals to the more cutting edge and people very pojo in their thinking but there isa whole class of folks in the J2EE world who are quite happy with a very simple api model.

Asked about the combined entitty's advantages over Coherence:

  1. Footprint.  If you’ve built your app on ehcache, and you have a simple drop in upgrade for distribution now.
  2. Multiple approaches to caching. Traditional Terracotta pojo caching as well as the api-based approach. 
  3. Open source. Greg Luck said that "Coherence is not open source. For a developer to decide to use coherence the decision needs to be made at a higher level (cto), while Ehcache and Terracotta development can start from the grass roots. So for people that want massive scale with coherence, they can start with ehcache on one node then move distributed with terracotta easily."

Greg Luck commented that he sees consolidation as important to keep competitive, even though he had rejected 3 offers from other companies in the previous years:

As you saw with SpringSource last week, there is definitely consolidation going on, partly triggered by Oracle’s acquisition of Sun. Caching and distributed caching is particular important, and there is a risk that open source projects could get shut out. There is a still an array of new competitors like Apache Dynamite, Memcached - from my point of view it’s get big or get out.

On the topic of memcached, Greg Luck talked about the integration with Terrracotta eventually improving Ehcache server, a Java competitor to memcachd that offers a RESTful api allowing it to deploy behind load balancers for easier scale across clusters: "today, each node has a 100% copy of all that data. That means to you’re limited to whatever your GC can handle.  Our customers have run up to 20gig. What happens if you want to run a terabyte sized cache? Up to this point, you couldn’t do that with ehcache.. With Terracotta we’ll figure out what the product roadmap looks like."

Ehcache will remain an Apache 2 licensed project available as today via sourceforge, Maven, etc. The acquisition means that Greg Luck is joining Terracotta, and the copyrights on the EHcache codebase is now owned byTerracotta Inc., in the same manner that JBoss years ago purchased Hibernate.  Greg Luck posted a personal note about the acquisition.

15 comments

Watch Thread Reply

"definitely a competitive blow to Coherence" ? by Nikita Ivanov Posted Aug 18, 2009 4:35 PM
Competition by Cameron Purdy Posted Aug 18, 2009 8:07 PM
Re: Competition by Billy Newport Posted Aug 19, 2009 11:08 AM
2 nodes or so? by Nikita Ivanov Posted Aug 19, 2009 1:53 PM
Re: 2 nodes or so? by Peter Veentjer Posted Aug 19, 2009 3:02 PM
Re: 2 nodes or so? by S Iyer Posted Aug 21, 2009 12:24 PM
Re: Competition by S Iyer Posted Aug 20, 2009 4:57 PM
Upon further look... by Nikita Ivanov Posted Aug 18, 2009 9:34 PM
Re: Upon further look... by ARI ZILKA Posted Aug 18, 2009 11:08 PM
Re: Upon further look... by ARI ZILKA Posted Aug 18, 2009 11:09 PM
TC+EHCache without bootclasspath additions? by Peter Veentjer Posted Aug 19, 2009 8:35 AM
Re: TC+EHCache without bootclasspath additions? by ARI ZILKA Posted Aug 19, 2009 9:50 AM
Re: TC+EHCache without bootclasspath additions? by ARI ZILKA Posted Aug 19, 2009 9:51 AM
Re: TC+EHCache without bootclasspath additions? by Roshan Shrestha Posted Aug 19, 2009 11:04 AM
Re: TC+EHCache without bootclasspath additions? by Floyd Marinescu Posted Aug 20, 2009 9:45 AM
  1. Back to top

    "definitely a competitive blow to Coherence" ?

    Aug 18, 2009 4:35 PM by Nikita Ivanov

    Competitive blow?!? We've looked at EHCache some time go for similar reasons and decided to pass. To say that something like EHCache is anywhere near to competition with Coherence or GigaSpaces is simply misunderstanding the market and/or technology.


    I understand the marketing spin and all - but, please, let all be a bit realistic.


    My 2 cents,

    Nikita Ivanov.

    GridGain - Cloud Development Platform

  2. Back to top

    Competition

    Aug 18, 2009 8:07 PM by Cameron Purdy

    Competition is good, and Terracotta has a different approach that may prove to help with some needs that had gone unaddressed by products such as our own (Oracle Coherence). Greg's got a good track record with ehcache and now he's getting paid to do what he loves. While the competitive hyperbole is silly, I nonetheless find it flattering that we (collectively) are building technology and businesses that have gone from niche to central in enterprise software (despite all the competition, our business continues to grow at "ludicrous speed"), and I find it even more flattering that companies want to compare to and compete with the product that I work on :-)



    Peace,



    Cameron Purdy

    coherence.oracle.com



    Ps. Painful to type all this on a phone ;-)

  3. Back to top

    Upon further look...

    Aug 18, 2009 9:34 PM by Nikita Ivanov

    Ok, I went back and look at EHCache again (may be I missed a news and it introduced new features...). No - it's the same stuff:


    • - no transactions

    • - only full replication (affinity anyone?!?)

    • - RMI-based communication (yuck)

    • - no asynchronous cache operations


    Which is almost exactly the same properties as Terracotta has - except now it has an API. Strange - I thought according to Ari and company API were the evil of this world :)


    Anyways, I stand by my original post. Keep it cool guys and keep hyperbole at the reasonable size!


    Best,

    Nikita Ivanov.

    GridGain - Cloud Development Platform

  4. Back to top

    Re: Upon further look...

    Aug 18, 2009 11:08 PM by ARI ZILKA

    Nikita: thanks for your input.

    Couple of misstatements you made that I want to point out:
    1. Transaction support is not present in either EHCache or DSO but is coming shortly
    2. EHCache has replication and invalidation options. Terracotta has affinity-based replication. Between the 2 we offer as many options as any use case I have seen requires.
    3. RMI-based, JGroups, JMS, all are available with EHCache. I will not comment on your opinion on RMI...it is yours to have.
    4. Asynchronous cache operations are indeed built in to EHCache. Different cache regions can in fact have synch or asynch replication and all is controlled via config. Very easy to use.

    As for Exactly the same properties--as established above, this is not true. More importantly, it is not relevant as EHCache has _the de facto API_ in caching and we are getting behind it with dollars and people to make it even better plus keep Terracotta in lock-step with EHCache always. Terracotta has no issue with API's. If I stated otherwise, I guess I misspoke. What I always meant is that clustering and caching are 2 separate but related concerns. Clustering should not put any new and unique demands on an app if it can avoid it. In some cases, such as Gridgain or more generic master/worker clustering and interfaces are one-and-the-same and people come to a framework with clustering built in because that's the business requirement (divide and conquer). In the case of caching, developers want eviction, eventing, easy memory and cache size tuning. And they want a clustered version to "just work." This makes Terracotta and EHCache a "spaghetti and meatballs" kind of pairing...not overlapping or redundant with each other in any way.

    BTW, its a shame you are so upset and stuff because grid-based computing and Terracotta go together quite the same way as caching and Terracotta and if you wanted to integrate, I am sure our community would support the effort.

    Thanks,

    --Ari

  5. Back to top

    Re: Upon further look...

    Aug 18, 2009 11:09 PM by ARI ZILKA

    Woah. Sorry everyone for the horrible formatting. Strange bug in the site. That post of mine had many newlines in it. They all disappeared though :/

  6. Back to top

    TC+EHCache without bootclasspath additions?

    Aug 19, 2009 8:35 AM by Peter Veentjer

    Hi Ari,

    Can the new distributed version of EHCache be used without having Terracotta needing bootclasspath additions?

    Peter Veentjer
    Multiverse: Software Transactional Memory

  7. Peter,

    great question. Round about answer here (bear with me).

    1. Our Hibernate product that launches Friday works w/o the bootjar. But it does need a javaagent then. This is because of some technical reasons in the Hibernate use case but I wanted to get the message out that our bootjar and associated config for locks, etc. are not present in the Hibernate product

    2. Distributed cache products built on the new Terracotta+EHCache do not need a bootjar or agent at all. Unless you want to share memory directly, the old-fashioned DSO way. Both options will be available when constructing a cache (we call these copy and identity caches internally right now). Copy caches don't need bootjars or agents. Identity ones do. You, the developer, will have the freedom.

    Cheers,

    --Ari

  8. what does a guy need to do to get a newline in this place?

    --Ari

  9. Back to top

    Re: TC+EHCache without bootclasspath additions?

    Aug 19, 2009 11:04 AM by Roshan Shrestha

    Some <br /> tags and a healthy dose of "Preview"!!



    Almost didn't escape the "<" and ">" tags!

  10. Back to top

    Re: Competition

    Aug 19, 2009 11:08 AM by Billy Newport

    I agree with Cameron, competition is good and while we've (from an IBM WebSphere eXtreme Scale point of view) previously only seen Terracota on small setups (2 nodes or so), I'm sure the new capabilities (static striping etc) and that it fits into EHCache which has a lot of prewritten adapters in open source software will mean we see more of him :)


    It's all good for growing the market and increasing customer awareness.


    Thanks


    Billy


    IBM WebSphere eXtreme Scale Chief Architect

  11. Back to top

    2 nodes or so?

    Aug 19, 2009 1:53 PM by Nikita Ivanov

    Now, that's rough :)


    On a serous note, my view (and I repeat that this is mine and somewhat biased view) Terracotta is a technology that has a very narrow applicability - but when it fits it fits like a glove. And I'm sure they scale to more than 2 nodes... :)


    Best,

    Nikita Ivanov.

    GridGain - Cloud Development Platform

  12. Back to top

    Re: 2 nodes or so?

    Aug 19, 2009 3:02 PM by Peter Veentjer


    Why do you think tc has a narrow applicability? There is no limit on the type of application you can build on top of tc imho. So can you elaborate on that?



    Peter Veentjer

    Multiverse Software Transactional Memory.

  13. Back to top

    Re: TC+EHCache without bootclasspath additions?

    Aug 20, 2009 9:45 AM by Floyd Marinescu

    Sorry Ari this is a temporary bug we are adressing soon.

  14. Back to top

    Re: Competition

    Aug 20, 2009 4:57 PM by S Iyer

    Billy - your sampling seems to be way off target.



    I run Field Engineering at Terracotta and the consultants on the team are routinely working on 25+ Node deployments. Although, given Terracotta's Server Based architecture, the number of Nodes isn't much of a factor in terms of determining the "enormity" of any specific usage - it is more a function of the amount of clustered I/O against that data-set.





    We actually strive to reduce the number of nodes so the customer saves on H/W and Management costs since Bloat-out is not the same thing as Scale-out. You Scale-out application nodes based on Application TPS that it needs to support and Terracotta-Server JVMs (Terracotta Striping) based on clustered-data-set-sizes and I/O against that.


    Thanks
    Iyer.

  15. Back to top

    Re: 2 nodes or so?

    Aug 21, 2009 12:24 PM by S Iyer

    Yep - I'd be curious to know why Mr. Ivanov feels that way too.


    In the several hundred deployments Terracotta Consultants have been involved with, we have seen everything from Http-SessionClustering to DistributedCaches in various flavours/topologies/frameworks, to Data/Compute Grids to highly availabile Queues.




    Applications in production today involve distributed ConcurrentHashMaps, HashMaps, LinkedLists, ArrayLists, LinkedBlockingQueues and complex object graphs in all shapes/sizes/hues. In terms of frameworks where Terracotta does the smart-replication of the underlying state - EHCache, Quartz, Hibernate 2nd Level Cache, Spring WebFlow, Spring Security come to mind as the more popular ones. And in between all of this, more esoteric usages such as using a JVM based Sequence Generator (instead of relying on an Oracle Sequence) or clustering a CyclicBarrier so one can have a quorum of JVMs before they are pressed into rotation and the list goes on...

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.