1

We have a virtualised Windows infrastructure and generally have dedicated servers (1 app = 1 server).

I am about to commence an upgrade project and am trying to decide if there is any benefit in commissioning new VMs when upgrading applications.

The application installation is not complex (Tomcat plus a small amount of custom code which sits in a single directory) with a single SQL database (hosted on shared corporate SQL cluster). Windows 2008R2 Standard 64-bit with 4gb RAM. Existing servers are stable and performance is acceptable.

The upgrade is a to a new 'major' version of the application - not a patch or point release. That said, the underlying architecture is not changing significantly - perhaps a new version of Tomcat.

My question is: Does anyone operate a general 'policy' on when to move to new servers? If so, what are your guidelines? What are the perceived benefits?

I doubt if there is a 'right' answer for this, so I should probably reward all answers that include valid contributions. (how should I do this BTW?)

I've reviewed the "Reasons Why In Place Upgrades Are Bad" post which does talk about applications as well as OS, but I think that takes a slightly different tack. I'm not really concerned about the validity of 'in-place' verses 'fresh' installs - I'm trying to decide if, given the relative simplicity of commissioning a new VM, it's worth moving to a clean VM as a matter of course.

UPDATE: Factors likely indicate a new VM approach.

  • Underlying operating system needs to be updated (e.g 2008 -> 2012)
  • Reduced complexity when cutting over from UAT to Production.
    • New VM can begin as UAT and be promoted to Production once UAT complete
      -or-
    • New Production VM can be staged for simple cutover once UAT complete
  • Simple roll-back in the event of cutover failure, without having to use VM snapshots

(excluded from the above are circumstances where a new server install is mandated because of application criticality or fact that existing servers are considered 'un-clean')

andyb
  • 161
  • 6

1 Answers1

3

It depends on the app in question and the quantity and difficulty of migrating the old data and settings. Your licensing might also be an issue.

All that said, a shiny new VM that you can set up at your leisure is much nicer than scheduled downtime and an upgrade that must take place during a particular window. There's also the security of knowing that even if the install goes horribly, horribly awry you won't be breaking an existing, working service. All of those reasons make a new VM a much better option for a lot of (most?) upgrades.

Of course, since they're VMs, there's a third option: upgrading a clone. I wouldn't choose to do that for most applications, but it's nice to have the option.

My question is: Does anyone operate a general 'policy' on when to move to new servers?

We generally move to a new server when it makes sense to do so for some financial/licensing/time management/"need or want more resources" type of reason. It's not a formal policy, and I'm not sure that formal policy fits here. Granted, I'm not a policy-loving personality type, so perhaps that's me. I can also see a situation of a certain scale and application uniformity that would make a "new VM policy" a no-brainer, but only you can decide if you're in that situation or not.

Katherine Villyard
  • 18,550
  • 4
  • 37
  • 59
  • Thanks Katherine. I fully accept that this is very much a 'horses for courses' question. Hopefully we can establish some common factors that might indicate a 'fresh VM approach' along with the potential benefits or otherwise. I will update the original post with these. – andyb Mar 18 '14 at 04:39