We host a variety of web applications for our clients, ranging from simple websites to multiple database-driven content management solutions across load-balanced sets of servers. As a component of managing and supporting our clients, we often advise them regarding upgrading server software – and on occasion, the advice is, “don’t do it.”
There are several different types of upgrades to server software: bug fixes, incremental upgrades (including features of compatibility), and new versions of software. Each of these has a potential impact on a website or more often, on a web application.
Bug fixes are typically the easiest to address. They resolve problems (or are supposed to). Typically, when such a release is made available, we’ll wait a week or ten days, read the various forums related to the operating system in question and evaluate if the bug fix update makes things better or worse. If better, we’ll implement the upgrade. We never want to be the first kid on the block making the change.
Incremental upgrades are iffy. On occasion, these upgrades can change the performance characteristics of software installed on a box. However, typically by reading through forums or developer blogs, you can establish if there are issues to be concerned with. If, however, we cannot get any relevant information, we’ll hold off for a short while, unless the version of software we’re working with has significant problems (and we haven’t experienced that since 2001). The biggest change we typically see is a user experience (layout) changes.
Many of our servers run operating system software that is one version back. As an example, Mac OS X Server 10.5 is the current version of the OS offered by Apple. Yet, most of our boxes run the latest updated versions of 10.4.x. The reason is that we can better manage the stability of the box for our client. We do have at least one box running the latest 10.5, but on that box is test software, not live apps for clients. If, however, a client requests something specific, we work to accomodate that client’s needs. Usually, however, we strive to keep all boxes running similar versions, updates, etc. It makes ensuring up-time a bit easier and with servers, every time you say “easier” – it’s a good idea to tap wood.