Microsoft vs. Linux Upgrades

by Raymond L. Robert

October 4, 2004

The distributor of the Linux versions I loaded on most of our servers last summer EOL'd the version this week. 18 months is their declared "standard" lifetime.

One of the attractions of the *IX world used to be the relative stability and the ability to leverage skills across releases. Windows was known for introducing and throwing away models and APIs release-to-release. Now I've come to expect a learning curve on each new Linux release. Either I'll have to master a new security system, or a new upgrade mechanism, or a new print system, usually with little perceived benefit. Meanwhile, over the last 5 years or so Windows has demonstrated relatively stable administrative and user frameworks.

When I do the math it proves more cost-effective and less disruptive to install a steady stream of service packs and upgrades on desktops than to replace them entirely every year or 12 months. Is there some way to temper the Free Software community's desire for new and cool things with this kind of hard-headed business calculation?


Feedback to this Article

Send your feedback to info@biznix.org

Ed Sawicki - Tailored Computers responds:

Ray raises an important issue that many (not all) in the Linux community tend to ignore in their enthusiam for the latest features and glitz - the administrative workload dealing with new Linux releases. Since Ray has deployed Linux on servers and not desktops, he has every right to expect low administrative overhead. Users who want new programs and features on their desktops expect to pay some price to get it, including disruption for a few hours. Server administrators have a different attitude towards disruption - there should be none.

It's not Linux that creates this disruption, it's the Linux distribution that does. The problem is that Ray uses a Linux distribution for his servers that is designed for desktops. I recommend choosing different Linux distributions for your servers and desktops.

Leveraging skills across releases is only achieved when you choose a Linux distribution where consistency is a design goal. If you've chosen a Linux from Red Hat, for example, the leverage you seek is not in your immediate future. Red Hat seems determined to make Linux look and act like Windows and consistency is lost in their rush to catch up with Microsoft. You'll get the greatest consistency from distributions that don't suffer from Windows envy: Debian-based distributions, Slackware, and sealed systems.

If you like the steady stream of service packs approach better, you have this and consistency with Debian. It's much easier to manage, less disruptive than Windows, and can be completely automated.

The least disruption and greatest leverage is achieved with the sealed systems approach where there's no steady stream of updates and no "versions".

David May - Well Tempered Computers responds:

Yes, commercial Linux distributions are a moving target but the core problem is not the desire for cool things. The problem is the deployment model that's used. These distributions are much too plastic for practical use in the enterprise unless you spend considerable time addressing the issues you mention.

Rather than "temper" the cool things, it is much better to "temper" deployment. This is the idea behind sealed systems.

Just as a distribution takes the the upstream sources and packages them into RPMS and DEBs, the sealed system designer preselects and preconfigures the software and packages the WHOLE system as one integrated immutable unit, resolving the difficulties you mention in the process. The resulting system is ready to run.

The sealed system is then copied as a unit to as many systems as necessary. Upgrades are trivial, involving one big file being copied, which can be done while the users continue working.

Unlike Windows and Linux distributions, machine-local configuration and user data are factored out into separate file systems and applied at boot time. They persist (untouched) across system upgrades.

What you get with a typical Linux distro is a kit - a half-baked system that requires additional preparation before it's ready to use. A sealed system is more like room service - it's delivered ready to eat. When you order the same meal tomorrow, it will be the same as today.

Back