Shortly after Windows 7 was released, Apple began airing a series of ads trying to lure away current Windows XP users. You see, in order to upgrade to Windows 7, you would have to do a clean install. That means backing up all your files, programs, settings, etc.
Apples angle? If you have to backup everything anyways – why not just move over to a Mac?

At work, we have finally begun the process of upgrading our access control software (Cisco ACS) from an antiquated version to a more recent one. The issue of upgrading has been forced because of necessary features and our version is nearing End of Life. In addition, we are moving the services off dedicated servers and putting them on VMs. I thought this would be fairly straight forward – it’s become anything but.
You see, there are 2 versions in between where we are and where we want to go. (Much like someone upgrading from XP trying to get to 7). Unfortunately for us, a backup from one version can’t be restored to a new version. Upgrading our production boxes also isn’t an option we want to pursue (because if it fails, we’re really hosed).
So our upgrade path? Build two new VM boxes with the old version. Backup our production boxes and restore onto the new ones. Upgrade the new boxes. Then upgrade them again (because you can’t do a full upgrade, it has to go step-by-step). Of course, this whole process has to be done under a “lockdown” period – seeing as once we start, we can’t have users changing passwords or have new users created.
If you couldn’t tell it’s a lot of fun…

It’s led me to believe that software developers should be gifted with the ability to see down the road 5-10 years. They should be able to know exactly where they will be tomorrow, so they can better plan for today. I mean – really – how hard can it be?
Realistically however, I know that software progresses rapidly – and often requires a complete redesign every couple iterations. Software has to be re-written to take advantage of newer technology and hardware and scrap the old. Upgrade paths aren’t always the cleanest, and we should be prepared for that. However, wouldn’t it be amazing if software could be coded to evolve? No one would ever need an “upgrade” – unless of course your software evolved into something bad. Or somehow we became slaves to this evolution.

Maybe we’re already there. Perhaps now is a good time to move to a Mac.



