We have been using in-process ehcache for development, but as we prepare for production deployment we are converting to use a cache server. I have been doing testing with the last open source release of Terracotta Server (3.7.5) and also with the open source Big Memory MAX product. For our modest needs (distributed/replicated cache of relatively few small objects) both seem more than adequate.
In working with Big Memory MAX I am confused by the difference (if any) between caches created using CacheManager and those created and configured with the Terracotta Toolkit. Is there a difference and is one preferred over the other ?
I'm not one who can provide an "official" answer on this topic, but I think whichever interface suits you better (ehcache or the toolkit) would be the dominant factor here. There isn't a lot of difference between a terracotta clustered cache instance from ehcache when compared to a toolkit cache (at least for basic put/get type behavior).
A lot depends on your usecase but I use the Ehcache API for a couple of reasons
a) More control for eviction/expiration
b) Easier scale options using BigMemory