Virtual vs Physical Servers – Pros and Cons

virtualization

I'm after a second opinion; and apologies if this has already been answered (point me in the right direction).

Different factions within a project I'm on are engaged in a holy war between virtual vs physical servers. We're implementing a COTS IBM document management system (DB2, etc).

General wisdom is that we should virtualise everything, and our vendor partner supports this view; some of the propeller heads at work are against this, particularly for the central metadata server (basically a big DB2 database).

My problem is that I come from a developer background (I know squat), so an independent view would be welcome.

What's the skinny on virtual vs physical? When should you – or should you not – virtualise? General advantages / disadvantages, etc. My starter for 10 – shoot me down…

Virtual:

  • Good for DR (you can setup a new instance on a different VM Server if the one your on fails, i.e: the physical box your running on)
  • Bad for certain database senarios?
  • Slight performance hit (not sure of specifics)

Best Answer

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 ;)

Related Topic