You can start an application with a local cache, but then you need to scale, make it distributed, so now you have a distributed cache, need an in-memory key/value NoSQL datastore, you got it! Want to use map/reduce or maybe distribute executions on this grid. This is where you would start wondering about high availability, evictions, grid network etc.
In this talk I will highlight the uses cases for the JBoss Datagrid which is based on the opensource project infinispan. I will go through some of the internals of caching and how you can effectively create an application that can scale, and once it does how you can leverage the capabilities of the gird.