Sunday 3 January 2010

Vista patching, or how to miscalculate the costs of owning an OS

Warning: post completely unrelated to database optimization. In a sense, it is related to process performance analysis.

You may find a lot of disadvantages of being the "never appointed but acting as" family computer technician. Oh yes, other family members reading this probably are remembering the day that they did this or that on dad's computer and thinking that I'm exaggerating and being unfair to them. Don't get me wrong, I value your contributions, but when the problem becomes difficult, I always end up being called on duty.

But it has one advantage, and is that doing that keeps me more or less up to date with the latest trends in consumer computing. Being not specially a Windows fan, much less of Windows Vista, this has been very useful to at least keeping me familiar with the basics of Vista.

Today, I had to help my parents to move some stuff from some place to another. At the end of the job, the casual "can you take a look at my computer?" signalled me that it was time to another round of problem fixing.

Mind you, their problems are usually very easy and quick to solve, very much in line with the degree of sophistication of the tasks they use their computers to. Web browsing, basic word processing and very little else. And since I installed the excellent LogMeIn utility in their computers, most of the time I don't even need to be there to help them. This time, the "problem" was a warning from Vista telling them that there were pending updates.

The laptop in question is a 1.7Ghz dual core, 2GB RAM machine with plenty of disk space. Vista is no speed demon here, but works acceptably well. I fired the Vista update utility and found out that Service Pack 1 was pending to be installed. I told Vista to install it, and Vista kindly informed me that it was going to take at least 1 hour to complete the installation.

At first, I could not believe it. One whole hour to install patches. God, probably they rewrote completely everything and called it a Service Pack. At the end of the installation, I not only believed in the original time estimation, I found out that it was even a conservative estimate. It took more than 75 minutes, with a reboot in the middle that took so long to give any visual feedback that something was happening that at times I thought that the machine was borked.

Yes, I know. Vista is gone, Windows 7 should be faster, and at least that one does not have a Service Pack (yet). After Service Pack installation was done, my father was very happy to hear that it was finished and everything was ok. But after that tiresome wait, I ran Windows Update again, only to find that there were five or so more patches waiting to be applied. Ouch, it seems that the update utility considers the Service Pack as some sort of stopgap that blocks every subsequent patch to be even considered for installation.

At that point, I decided that I've already had enough and I told my father that I was done, and that I had some remaining things to do that would have to wait for another visit.

Some may think that I've become too lazy, but I tend to think that I've become used to the Linux way of doing things. Now, seriously, as I told to my father: in half of the time it took me to patch Vista alone I could have installed a complete operating system from scratch, including office productivity applications.

And please, don't tell me that the big corporations don't waste employee time patching. Because most of them waste employee time, sysadmin time, or most likely both.

Some of them patch the machines during the working day while the poor user is suffering the performance degradation of the concurrent update. That's because is much easier for support staff if users call at the time the error message or whatever problem manifests itself. Of course, users are there when the machine reboots itself without warnings, and have to wait for the post installation processes that run the first boot after the service pack is applied.

The very, very few that do it overnight also have to pay for it. Not in end user time, but in administrator time. This administrator is, for a start, more expensive than your standard MSCE, because he/she has knowledge of that difficult to find skill and mostly arcane art of, yes, scripting. A competent sysadmin that can write non trivial scripts is neither cheap nor easy to find. And scripting the installation is not trivial, specially if it has to work in a corporate environment. Plus (let's say really minus) no matter how finely tuned your script is, some percentage of those machines have problems during the update, and the problem has to be fixed in the following morning in front of a user demanding to have its machine available to, you know, work.

Let's not even count the mobile users. You cannot count them on leaving the machine turned on and connected to the corporate network by night. You cannot even count on them to connect to the corporate network in a reasonable time window.

How is that nobody is accounting for the time wasted in patching Windows when they do those Total Cost of Ownership comparisons? I'd really like someone from Microsoft to come to this blog and explain that. Really. Because I'd like to see the spreadsheet cell that calculates the cost of patching Windows, and what number is put there.

True, Linux is not perfect in that area. But the patching process of say, Debian or Ubuntu is far, far less intrusive and costly. And, repeat with me, you can install it from scratch in less time than you need to just apply a Windows service pack. Yet somehow Windows is "cheaper"?

No comments:

Post a Comment