Hi, Earnie. Have you seen the section in our documentation that talks about deployment topologies? Hopefully that explains how you can deploy an application across multiple servers. Generally, if your application(s) use the JCR API, then ModeShape would run in the same processes as your application.
Even if you configure ModeShape to store content in JDG, you can independently choose where ModeShape stores the binary values. We have several options, including storage inside Infinispan (in separate caches than the one cache used for the content). But remember that binary values are used very differently: they are read/written by streaming, and they're always indexed by SHA-1 of the binary value's content. So for some scenarios, storing binary values inside a database (perhaps configured with master/slave for availability) might still be valuable, whereas with other situations such a database might not be available or reliable or desired. In the latter cases, storing binary values in Infinispan, MongoDB, or even a clustom place (e.g., AWS Glacier) might be more attractive.
Let us know if you still have questions!