1 of 1 people found this helpful
First of all I think this is not the right forum, EAP or Wildfly should be better.
The calculation will be extreme tight to your application, so we can not help with a formula here.
In general I would use a 64Bit OS, as JVM I would use the latest supported for the server (here Java8). 32/64 depends a bit on the requirements for memory, most app's can run with HEAP <3GB so you are able to use a 32Bit JVM, but the difference in performance getting less (the first 64 bit version was slower because of overhead) so you should measure it and decide then.
Hardware? Depends running multiple instances on one box you need more power and memory, other option is to run each instance on a separate box. If you cluster the application you are able to add more later if your plan include this from the beginning.
The same apply to your network and JVM settings, use a test environment with a load similar to the expectation and you are able to optimize your planning.
It depends on your expectations and whether you must be able to handle peaks or have special failover/recovery requirement.
I.e. you can divide the network into a internal and external one to not affect internal communication performances if the external network is flooded, also this is a security aspect.