General discussion
-
Topic
-
Software Upgrades: To Do or Not To Do
LockedWhen an upgraded package / version of software comes out, do we upgrade? What triggered this is a Linux installation where such upgrades are (a) free and (b) highly automated through a ‘package manager’ called ‘yum’. I don’t believe we should necessarily upgrade every installed package while one of my colleagues feels decidedly different.
Here’s what I wrote to him in an email. What does the community think?
Upgrading Software
Not just because Bill Gates says so …
Not just because yum says so either …Reasons to upgrade:
(1) There is a new functionality available in the upgraded software that you definitely need. This would include bug fixes if that particular bug is eating you.
(2) There is an identified security risk with the software in operation and you are using the software in a way which exposes you to such this risk.
(3) As part of a ‘farm’ wide or ‘enterprise’ wide upgrade program.Reasons NOT to upgrade:
(1) The upgraded package may break dependencies somewhere. This is definitely a risk when the upgrade involves moving to a new major release. If it is deemed important to upgrade (see reasons above) you perform the upgrade, if practical, on only one machine. To test the waters as it were. Making sure you have an immediate fall-back should something break. Then, if it works, you do the whole farm.
(2) Upgrading costs labor, therefore money. If something breaks, you may have downtime.
(3) Even if it is a stand-alone package, i.e. Webmin on a Linux box, if the upgrade serves no operational need, it becomes make-work, costing money.
(4) The package is installed but never used. One might argue that it should never have been installed, or should be removed. However, again, this is cost IMHO without benefit. Why is the thing there? Probably because it was part of a standardized load (Linux or Windows or Mac-OSX all come with such baggage). If it doesn’t create a problem it’s cheaper to leave it alone.I could go on. But in my experience, upgrading software on working systems should be done very judiciously. The cost is often underestimated. This is one of the reasons that a lot of large enterprises, at least through 2005, were still installing Windows 2000 on new desktops and laptops despite the availability of XP for a number of years. Reason? Experience. Especially with MS, a ‘routine’ upgrade too often resulted in systems being down – sometimes for a day or more.
Notes:
On dependencies: In an Enterprise environment such dependencies may be in places you don’t necessarily think about. Example with database engines: drivers loaded on other machines which may require upgrading to keep working. Applications specifically written for a version, which break with a new version. Seen it happen tooooo many times. In one case a ‘routine’ upgrade of Great Plains accounting caused Citrix remote access to fail all across the network. Major hassle to turn the clock back … having to go backups etc. “C” level management asking questions as to why … not pleasant..