I'm working on a project that will be implemented into production using a cluster of Apache Tomcat instances and I'm looking for the best Hardware/OS solutions and VMs have come up as one option. I have run ESXi/ESX instances before for development and testing, but I'm curious for a hosting environment if having multiple VMs is actually worse than just configuring a server to host multiple instances of Tomcat. These are my guesses:

Pros for VMWare

  • Easier Maintenance/Backup for individual VMs (VMWare makes this easy)
  • Can remote login to individual VMs without having to give host access (security?)
  • Easier way to re-purpose machine for OS/Hardware changes

Pros for running on one Physical Machine

  • Overhead of only one OS (also no VMWare footprint)
  • Update OS/security changes once
  • One less administrative layer (No VM expertise required)

I'm curious if anyone has any other ideas about what the benefits would be for either option.


the os updates are valid on both physical server and vmware machines. it depends mostly by your application, what server you have and the environment.

for example if you have a 32 bit server I would go with vmware machines this is because you can access only up to 4GB from whole memory - yes you can ran pae kernels but there is an overhead. if you have 64 bits is no such problem because you can run each jvm with up to 4GB.

all the points you mentioned are valid.

it comes down to how much you can invest into this solution, as an alternative you can use a different virtualization technology as xen server or kvm

  • Interesting point on the 32-bit issue. However, the hypervisor or VM server would still have to have a PAE kernel though wouldn't it? – Greymeister Dec 28 '10 at 13:17
  • yes but you get the overhead of virtualization anyway so for you will not be visible - i know there is a lot of talk about virtualization and clouds etc. - a simple rule to not getting into physical vs vm is the following: if you need raw power fast processing or direct access to hardware use physical servers. if you want to have multiple instances of your software, management of the vms etc use a hypervisor or something alike. – silviud Dec 28 '10 at 15:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.