Answering to the question in comment: remote x embedded
The main drawback of remote cache is the latency added for communication between the client and server. Also, you can't use transactions in remote mode, there may be other features missing as well. On the other hand, with remote cache you can easily upgrade the application without changing the data inside Infinispan. With embedded mode this would be more complicated. You can also load-balance: although Infinispan is aiming at linear scalability, things are never as bright. Therefore, you can use e.g. 20 application servers and only 4 Infinispan servers (provided that the application requires more computing power).