the blog for developers

Short Book Review on “The Definitive Guide to Terracotta” by Apress

Some small notes: The book was kindly supplied by Apress. The review was lost, tried to be rescued, not found and finally written again from my notes, all because my MacBook crashed ;-)

A short review of the Apress Book “The Definitive Guide to Terracotta” by Terracotta Inc.

I didn’t do reviews before so this is my first review here. As I’m reading lots and lots of books (currently “Practical API Design” and “Clean Code”) I thought it would be good to combine my blogging with the book reading and write some reviews. But I don’t know how, so let’s try :-) Most of the time I do two things with book reviews. First I read the conclusion and the rating, second I have a look at the table of contents. You can do the second here. And the first one in short: Good book.

Slightly longer: If you need or want to know about Terracotta (TC), it’s the book to buy. It’s written by the Terracotta guys, you can’t get better and more accurate information.

For those who are more interested in some details: The book is about a software solution called Terracotta to distribute -transparently- the Java Virtual Machine memory over several JVMs. This leads to some very interesting use cases and new approaches to scalability. Terracotta calls itself virtual heap.

The book starts with a good introduction and motivation to virtual heaps, big heaps spread over several JVMs – not to be confused with distributed caching or clustering POJOs. Both can be done with TC but much more. So the main part of “The Definitive Guide to Terracotta” focuses on use cases. Those are quite good motivated, explained and described with many examples and working code.

Use cases which are covered include:

  • Caching for (web) applications
    • Writing a cache layer yourself with TC
    • Using TC together with ehCache
  • Speeding up Hibernate with distributed caching
    • TC for the second level cache
    • TC for detached instances
  • Distributing sessions over several servers
  • Grid computing
  • Clustering Spring out of the box

All examples are relevant to building todays web applications and easy to follow – more like a cookbook. The authors finish the book with chapters on TC integration modules (TIM) which are drop in replacements into your application for some of the described use cases and scenarios (and more). That part includes using and creating TIMs. At last there is a – rather small chapter on performance optimizations. A good start but I’ve missed something there.

After some praise now some things I didn’t like:

  • Split brain problem which you may run into is not solved, you need to do it yourself over WAN for high availability (with a message bus for example)
  • Chapter about optimizations but not extensive enough and not enough information about deployments and deployment scenarios
  • Minor point: Roadmap on back looks stupid

My conclusion: A rating on 0 to 10 doesn’t make sense to me. Either it’s a should-buy or not. For Definitive Guide to Terracotta, buy it if you want to evaluate or use Terracotta. Be aware that it’s missing some industry stories on deployments and usage.

You can leave a Reply here. Of course, you should follow me on twitter here.

You can share this post!
Do you want to tell others about this article? Use the social bookmark icons to submit this artice to the service of your choice. Thanks.

About the author: Stephan Schmidt is head of development at brands4friends. He has more than 15 years of internet technology experience and 10 years experience in agile. He was head of development, consultant and CTO and is a speaker, author and blog writer. He specializes in organizing and optimizing software development helping companies by increasing productivity with lean software development and agile methodologies. Want to know more? All views are only his own.
Leave a reply.

Comments

hi there,

their website and blogs make up for lack of industry coverage in the book. I believe that they’re working on their 2nd book.

BR,
~A

Stephan,

Thanks for the review. As one of the authors, it’s great to receive feedback. I agree that the book is light on “industry stories on deployments and usage.” As Anjan described, until we publish a second book or an update to the first edition, we’ve been busy packing our website with just that sort of content.

The most interesting thing we’ve been doing in that regard is a reference implementation of an application that uses Terracotta in a number of different ways. Very soon, we’ll have a fully functional application that you can download and inspect with companion documentation that describes how Terracotta was used and what the benefits are.

Stay tuned.

Cheers,
Orion

stephan

@Orion: Nice to hear about the industry stories.

Looking forward to the application implementation, and I hope for the announced active/active TC setup :-)

Leave a Reply

What people wrote somewhere else:

Additional comments powered by BackType

Guide to CodeMonkeyism

Over the last 4 years I wrote many articles on this blog. To make it easier for you to find the relevant ones, I've organized them into topics.

Top 10

6 reasons why my VC funded startup did fail

Go Ahead: Next Generation Java Programming Style

Java Interview questions: Write a String Reverser

The dark side of NoSQL

7 Bad Signs not to Work for a Software Company or Startup

Is Java dead?

Scala vs. Clojure

Never, never, never use String in Java

No future for functional programming in 2008 – Scala, F# and Nu

Clojure vs Scala, Part 2

Java Developer

Is Java Dead?

Go Ahead: Next Generation Java Programming Style

Be careful with magical code

All variables in Java must be final

Never, never, never use String in Java

Bending Java: More readable code with methods that do nothing?

NoSQL Guy

NoSQL: The Dawn of Polyglot Persistence

The dark side of NoSQL

Essential storage tradeoff: Simple Reads vs. Simple Writes

Sharding destroys the goals of your relational database

The unholy legacy of databases

Startup/CTO

Development Dream Teams

6 reasons why my VC funded startup did fail

American vs. European style of Software Development

12 Things to Reduce Your Lead Time and Time to Market

The high cost of overhead when working in parallel

Essential storage tradeoff: Simple Reads vs. Simple Writes

Job Seeker

Another Good (Java) Interview Question

7 Bad Signs not to Work for a Software Company or Startup

Java Interview questions: Write a String Reverser (and use Recursion!)

Java Interview questions: Multiple Inheritance

As a Manager: What I value in developers

Top 10 Tips (+1) to Get a Pay Raise

Agilist

What Developers Need to Know About Agile

5 Practices Better to Change in Your Scrum Implementation

Scrum is not about engineering practices

ScrumMaster and ZenMaster: The joke of certification

What is Trans-Scrum?