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
- New VM can begin as UAT and be promoted to Production 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')