Discussions

News: Terracotta releases WebLogic Replicated Session Replacement

  1. Terracotta is now supporting the replacement of WebLogic's built in session replication, using their own Distributed Shared Objects (DSO) clustering solution. The replacement requires no code changes, and offers the following features:
    - There is no more requirement to call setAttribute() to force data replication. Mandating the use of setAttribute() is error prone (forgetting to use it), and it is inefficient (leading to performance problems) if needlessly invoked. DSO is built from the ground up to record and distribute fine grained (field level) changes automatically. Furthermore, those fine grained updates are only sent to the set of nodes that actually hold instances of the affected object. In the case of sticky sessions, that set will almost always be empty.
    - Session data only exists in memory on those nodes that have actually accessed a particular session. Furthermore, since DSO takes care of managing memory, only the minimum working set of session data will stay resident on the heap (leaving more for your application). You no longer have to allocate precious heap space just to store replicated session data that may never be referenced. Additionally, since the heap is no longer the bottleneck, the idle/timeout period before a session is invalidated can be virtually unlimited.
    - DSO is not based on java serialization, thus the problems with object identity, 3rd party libraries, etc are likewise not present with objects placed into session. (see: Object Identity and Tradition).
    These benefits are possible due to Terracotta's hub and spoke architecture, where one instance of Terracotta's server maintains's the master cache and coordinates what working sets of data live on which nodes, and also controls failover. This reduces I/O and memory overhead between servers by eliminating the need for paired-server failover tactics which require each server in the cluster to share all clustered memory state with one other server (and vice versa) for failover purposes.

    Terracotta has not published any benchmarks to measure performance of their DSO compared to WL's built in infrastructure, but claim that performance was close to that of WL on a single server (not clustered), as opposed to WL clustered which is 50% slower.

    More information has been published on Terracotta's blog.

    Threaded Messages (20)

  2. Interesting but...[ Go to top ]

    This statement at the end of the blog entry sounds a bit over-simplistic:
    The available solutions for session management within a clustered web application leave a lot to be desired. They impose too many constraints on developers, can be quite fragile, and introduce too much overhead. Terracotta’s solution is both simpler and more powerful at same time.
    First of all, only a comparison with WLS 8.1 session replication has been performed, which is not a comprehensive market survey of available solutions. It purposefully avoids mentioning any competitive caching solution, such as Tangosol's Coherence (the Coherence*Web module specifically, for HTTP session replication) or perhaps the new ObjectGrid capability in WebSphere XD, if it can be used for session replication (Billy?). It also does not discuss the issue of cost, i.e. what would be the cost of a Terracotta cluster, which would add up to the cost of the WebLogic clustered licenses. Would it make economic sense ? If the article at http://weblog.infoworld.com/techwatch/archives/001494.html is correct then the cost of an eight-node (does that mean 8 CPUs?) Terracotta license is about $100,000 i.e. roughly the same as a full-blown application server. In comparison, according to the price list on their web site, an 8-node Coherence Clustered edition license would be about $16,000. A detailed technical comparison of these two solutions would be interesting. A discussion of the economic aspects would be worthwhile as well.

    Thanks
  3. Interesting but...[ Go to top ]

    A detailed technical comparison of these two solutions would be interesting. A discussion of the economic aspects would be worthwhile as well.

    Hi Alain. Thanks for the response.

    Yes, I quite agree - we are working on exactly this kind of comparison and hope to post it on the blog soon. Due to Terracotta's efficient replication strategy and natural programming model, we believe that our TCO is far lower than our competition. The numbers to prove it are forthcoming. :)

    Cheers,
    -p

    ---
    Patrick Calahan
    Terracotta, Inc.
    http://www.terracottatech.com
  4. Interesting but...[ Go to top ]

    It purposefully avoids mentioning any competitive caching solution, such as Tangosol's Coherence (the Coherence*Web module specifically, for HTTP session replication)

    Marketing 101: Don't mention your competitors. ;-)
    It also does not discuss the issue of cost

    Cost is an issue, but it should reflect overall bang for the buck. For example, I have seen "free" license solutions that are not worth the cost.
    A detailed technical comparison of these two solutions would be interesting. A discussion of the economic aspects would be worthwhile as well.

    Here's a good starting point:
    http://dev2dev.bea.com/pub/a/2005/05/session_management.html

    Regarding the economics, Coherence is pretty hard to beat, considering that the performance has been (thus far) unbeaten (e.g. Coherence benchmarked at ~2x the throughput of the closest alternative for session replication in our own tests), and the throughput per server scales out linearly, the license price is published (and always has been). I'd also focus on the reliability aspects, since that is where we spend 90% of our time.

    Peace,

    Cameron Purdy
    Tangosol Coherence: Clustered Shared Memory for Java
  5. Internal benchmarks[ Go to top ]

    Regarding the economics, Coherence is pretty hard to beat, considering that the performance has been (thus far) unbeaten (e.g. Coherence benchmarked at ~2x the throughput of the closest alternative for session replication in our own tests), and the throughput per server scales out linearly

    Cameron,

    are those benchmarks publically available ? I'd like to run them against JBossCache and JBossCacheAop.
    Cheers,
  6. Interesting but...[ Go to top ]

    My money's on Cameron...
  7. Interesting but...[ Go to top ]

    My money's on Cameron...

    It's easy to build a session replication engine which performs well. Design-wise it's a piece of cake because all the updates to each session are generated at a single point.

    I guess there is one area where it's interesting, which is state transfer. When the cluster membership changes you want to redistribute the replicas without hogging the network.

    And some of that work you can re-use for more useful products.

    Guglielmo
  8. Interesting but...[ Go to top ]

    I'm seriously wondering what the big java shops are waiting to acquire these companies... the underlying stuff has pretty much been comoditized -- the real problems now are around deployment.
  9. Interesting but...[ Go to top ]

    I'm seriously wondering what the big java shops are waiting to acquire these companies... the underlying stuff has pretty much been comoditized -- the real problems now are around deployment.

    I believe that there are two false assumptions in what you wrote. The first is that the technology has been commoditized, which I have personally seen no sign of. Commoditization (by definition) would imply price competition, yet in the past four years we have not changed our pricing, and our real ASP (i.e. the price after any discounts) has actually increased. Commoditization would imply technological stagnation, yet based on customer demand for new capabilities, we're investing in product innovation at a higher rate now than we ever did before. Of course, you may inadvertently be referring to the commoditization of marketing literature on the subject, which has definitely occurred, but there's a huge difference between a glossy sheet of paper and a working solution ;-).

    The second false assumption regards the purpose for a company's existence. While it may be true that an overwhelming majority of dotcoms were built to sell, I can tell you (with fourteen consecutive profitable quarters and consistent compounded growth in revenue for the past four years) that Tangosol is built to last. We are searching neither for investors (we are 100% employee owned) nor acquirers (and we do get regular offers), but rather we are constantly searching for our next customer and it is a strategy that has never failed us. A company's valuation is what someone is willing to pay for it, but a company's value is measured by the benefits it delivers to its customers.

    BTW - Speaking of "built to last", I highly suggest this book:
    http://www.amazon.com/exec/obidos/tg/detail/-/0887307396/102-8251044-4180127?v=glance

    Peace,

    Cameron Purdy
    Tangosol Coherence: Clustered Shared Memory for Java
  10. Commoditization[ Go to top ]

    Of course, you may inadvertently be referring to the commoditization of marketing literature on the subject, which has definitely occurred, but there's a huge difference between a glossy sheet of paper and a working solution ;-).
    I'll say it again: names! names! Who the heck can this be referring to ? You're right, the market you're in (let's call it high-end scalability/availability for J2EE) has not been commoditized whatsoever at this stage and I see no sign that it's heading in that direction. Hence the arrival of new entrants...
    The second false assumption regards the purpose for a company's existence.<SNIP>
    It's funny to see so many people assume that, if you create a company, that must mean you are going for the quick buck, dotcom-style, and cannot possibly be driven by less mediocre motivations... Oh well.
  11. Interesting but...[ Go to top ]

    Very interesting, Cameron. But i think you misunderstood what i was trying to say. It's the underlying stuff (ie. web/ejb containers) that has been comoditized, not what you're providing which is what most serious deployments require. The proof is Terracotta itself, they must beleive there's money in it to enter the market.

    It's well known that even large shops are migrating (or are in the process of) to Tomcat (some to jetty?), what they're buying is what will let them deploy in a horizontally scaling environment, which I belive is the business you're in. Very lucrative, no doubt and I do beleive your numbers.

    My question was, isn't it obvious to the Oracles and BEAs of the market that by acquiring you they would not only be able to retain customers but also improve on the quality of their offerings?
  12. Interesting but...[ Go to top ]

    This is exactly why we're delivering the ObjectGrid function now. We want to provide an embeddable middleware component to existing customers as well as offer it to customers with competitive servers or open source ones.

    We're entering the full distributed cache space at end of year with the next rev of the ObjectGrid.

    Billy (IBM)
  13. Interesting but...[ Go to top ]

    It's well known that even large shops are migrating (or are in the process of) to Tomcat (some to jetty?), what they're buying is what will let them deploy in a horizontally scaling environment, which I belive is the business you're in. Very lucrative, no doubt and I do beleive your numbers.

    There's definitely a trend toward better, faster, lighter Java .. apologies to Bruce Tate ;-). Spring is a good indicator of this, as is Spring+Tomcat+(Hibernate|JDO).
    My question was, isn't it obvious to the Oracles and BEAs of the market that by acquiring you they would not only be able to retain customers but also improve on the quality of their offerings?

    We work closely with both already, and we work hard to bring benefits to their customers today. Companies can work well together without buying each other ;-)

    Peace,

    Cameron Purdy
    Tangosol Coherence: Clustered Shared Memory for Java
  14. Interesting but...[ Go to top ]

    My question was, isn't it obvious to the Oracles and BEAs of the market that by acquiring you they would not only be able to retain customers but also improve on the quality of their offerings?
    We work closely with both already, and we work hard to bring benefits to their customers today. Companies can work well together without buying each other ;-)Peace,Cameron PurdyTangosol Coherence: Clustered Shared Memory for Java


    hmmm maybe so, though to be frank I don't really buy that, for example you're offering something that *replaces* an BEA component that's just too mediocre to use in production, so they're a competitor not a partner. In any case, no one, especially the big boys, wants to depend on others to make a sale and especially on small companies. We've seen that time and again. They either buy them out or crush them (go Billy, go! go IBM, go!). Working together is one thing, sharing the ever decreasing IT budget pie is another.
    But the advantage today is that you too can offer the full stack (eg. gluecode, openlogic), and have the whole pie for yourself ;-)
  15. Caching competition[ Go to top ]

    It purposefully avoids mentioning any competitive caching solution, such as Tangosol's Coherence (the Coherence*Web module specifically, for HTTP session replication)
    Marketing 101: Don't mention your competitors. ;-)
    Of course. That's why we have to keep vendors honest whenever they engage in such comparisons... Therefore, and for the sake of completeness, I will also mention GigaSpaces Caching Edition 5.0 (http://www.gigaspaces.com/product.html) which is a new, scaled-down version of their full Enterprise Application Grid; pricing unknown. JBossCache (http://www.jboss.com/products/jbosscache) is an open source solution, which means no license cost but admittedly this is only a (usually) small to moderate part of the TCO. Terracotta is the new kid on the block with a really interesting approach to the problem that has yet to be compared (in a publicly accessible way) with other offerings. All these solutions compete with each other as well as with the native capabilities of application servers, which are overall less sophisticated but of course are reasonable for the vast majority of J2EE deployments - the high-end with hundreds of servers being a whole different story...
    Cost is an issue, but it should reflect overall bang for the buck. For example, I have seen "free" license solutions that are not worth the cost.
    Names, names! Yes, it's the overall bang for the buck that really matters, as always. But it's quite subjective, controversial and hard to measure. Nonetheless, we must give a shot at measuring it.
    Regarding the economics, Coherence is pretty hard to beat, considering that the performance has been (thus far) unbeaten (e.g. Coherence benchmarked at ~2x the throughput of the closest alternative for session replication in our own tests), and the throughput per server scales out linearly, the license price is published (and always has been).
    Yes, you deserve credit for transparent pricing. The only unknown quantity is the kind of discount a customer gets when buying a 200-CPU license :-)
    I'd also focus on the reliability aspects, since that is where we spend 90% of our time.
    Yes, people tend to be obsessed with the high end where utmost performance and scalability are key, but as I said this is only by definition a relatively small (but lucrative!) part of the J2EE market. In the much more common small-to-medium-scale deployments where performance is not a hard problem, a caching solution that substantially improves the reliability and uptime of the system while adding only very marginally to the total cost should be a no brainer. But in my experience getting this message across is not always easy.
  16. Adding to the mix for the sake of completeness -
    GemFire (from GemStone Systems) offers mutliple topologies for session caching. These include pure peer-to-peer model or a cache server model with replication that can be used to cache sessions outside of the appserver JVMS and avoide expensive replication. It also supports disk overflow so that passive sessions can be moved to disk with in-memory indexes for optimized access to sessions overflown to disk. Check out more about this in the url below.

    Bharath Rangarajan
    http://www.gemstone.com/products/gemfire/enterprise.php
    GemFire - The Enterprise Data Fabric
  17. Caching competition[ Go to top ]

    .. I will also mention GigaSpaces Caching Edition 5.0 (http://www.gigaspaces.com/product.html) which is a new, scaled-down version of their full Enterprise Application Grid; pricing unknown.


    Hi Alain

    Thanks for the reference.
    While our pricing is very competitive at a few $K per CPU, we take your point about price transparency in the web Site and will definitely look into publishing very shortly the full GigaSpaces price lists for all product editions. I can already mention that the price for our Community Edition is 0$... :) This edition provides support for a two level cache (a.k.a master/local cache). Our latest GigaSpaces Caching Edition 5.0 release provides significant performance improvements and includes specific optimization for JDK1.5. http://www.gigaspaces.com/product.html
    The important thing is that you can always choose to upgrade from our caching edition and move to our full Enterprise Application Grid product just by changing the license key and get much more then just a cache implementation.

    Nati Shalom - CTO
    http://www.gigaspaces.com
    GigaSpaces – More then just a cache
  18. Coherence price transparency[ Go to top ]

    Please tell me where I can find the price published on your site, because I searched and didn't find it. Thank you, Stefan
  19. It is not mentioned in TC's blog, but usually http fine-grained session replication also offers one more advantage of handling object relationship during replication (e.g., when two attributes share a sub-object). At least this is how we do it in JBoss http session replication using JBossCacheAop. :-)

    -Ben Wang
    JBoss Clustering & JBossCache
  20. It is not mentioned in TC's blog, but usually http fine-grained session replication also offers one more advantage of handling object relationship during replication (e.g., when two attributes share a sub-object). At least this is how we do it in JBoss http session replication using JBossCacheAop. :-)-Ben WangJBoss Clustering &amp; JBossCache

    Good point, and true for Terracotta too.
  21. Why Replicate?[ Go to top ]

    IME working with webapps both large and small, I have never encountered a situation where session replication was worth the investment of time, money, and resources.

    I've posted my thoughts on my blog.

    Mike