Virtual vs Physical Servers

Broadly speaking if the virtualisation platform you currently run fully supports the guest OS you're intending to run, virtualisation is a good move. There are some use-cases that warrant more careful inspection:

  • Terminal Services (or services with very high user-concurrency)
  • Funky flavours of Linux
  • Database or Email servers
  • Servers with unusual peripheral attachments
  • Servers with unique/very high resource requirements

In your specific case, look at the number of concurrent users your system will need to support, and the kind of physical hardware specs you'd need to run it as a physical machine. If it requires a 4-processor, quad-core beast with 32Gb of RAM and a local 6-disk SAS drive stripe, it's not a good candidate for virtualisation. If it has high requirements on any one of those aspects (e.g. just needs an ultra-fast disk) it's in the 'maybe' pile and needs a round of testing before making the decision.

If the database would run fine on a basic 1 or 2 processor server with a modest amount of ram (under 8Gb) and disk throughput isn't excessive, virtualise it.

If the choice you're making is between purchasing brand new hardware for the system, or virtualising onto your existing VM infrastructure, then virtualise it first and migrate to a physical server only if required. The hallmark of a well planned server is that you can easily re-build it again on-demand ;)


Such a topic has to be considered in the context of your environment and cannot be definitively answered for you as a general concept. You need to consider everything, starting with whether or not a virtualised machine can provide the performance you require. This includes such things as the storage system being able to keep up. That of course tends to be the big issue for database systems. I'm of the opinion that this needs to be well tested before a final decision is made. If you can't test it the risk may be too great.

I'm personally not a fan of virtualisation but that's at least partly due to the environment in which I work, and have worked previously. One of the problems is that you tend to have too many eggs in one basket. If that hardware breaks down ALL your virtual machines on that server go crunch. That's fine if you're at the scale of having spare hardware, or at least being able to get hold of some NOW, but that's not the world I work in.


We run our servers in both virtualized environments as well as in their native environment. This goes for both our Linux based servers as well as our Windows Servers and Desktop. Saying one is better than the other is going to completely depend on what you need to do. Sometimes Virtualization is better, sometimes not.

Virtualization Pros:

  • Ease of backup
  • Ease of Setup (from cloning)
  • Can get close to using all of a hardware's resources (which often go unused)

Virtualization Cons:

  • One box goes down = many servers go offline
  • Cost. Licensing is often expensive if you would like to control multiple machines from one VMWare client.
  • Cost. Licensing is expensive if you want to support more than two processors

One final note. Virtualization works great for running regular servers and desktops but be really careful when you need to have a setup that is a little less traditional. For instance, we had two webservers that connected to a network attached storage device with no problems when they were not virtualized. The minute we moved them into the virtual environment we suffered terribly because our virtualization equipment didn't play well with out storage device (I/O issues). So do your hardware homework before you try a complicated setup (pretty much goes without saying).

Last thing, virtualization is great and has come a long ways. I love it for many things. BUT unless you really need to set up some more servers AND you don't have the hardware, it may not help you out much.

The biggest advantage we've gained from virtualization: Physical Space.