Infoworld has an interesting piece talking about how IT infrastructure can become a house of cards. Most of the article is about applications that aren’t being kept up-to-date with newer technologies such as Windows Vista and Windows 7. The ending paragraph sums up the author’s opinion:So what’s the fix? Anyone involved in IT products or processes needs to stop tying ancient code and frameworks together with bailing wire and duct tape and take the time to do it right. Software vendors must bite the bullet and rewrite that 15-year-old application from scratch using modern platforms. It will require a sea change in Windows, with Microsoft jettisoning a wide range of internal hooks that exist solely to support Jurassic-era apps. No, I don’t expect it to happen either. But I can dream.
I think that the author makes some good points about how all of these older applications can cause havoc for system administrators, but I also think he’s only got part of the picture. I’ve been on both sides of the fence and I can understand where the application vendors are coming from (most of the time, sometimes vendors are idiotic.)
Like it or not, the real world is an exercise in compromise. Whenever a vendor decides to change something in an application, whether it’s adding a new feature or adding support for a new platform, it must come at the expense of something else. Either another feature is bypassed, the price of licensing or support goes up, or new bugs are introduced.
Why would a vendor choose not to add support for Windows 7 in a product? There are a number of reasons, and one of the factors to be considered is what kind of requirements can be pushed to the IT staffs of customers. If IT can use some bailing wire and glue to make it work then that gets factored into the cost/benefit analysis. It doesn’t seem all that fair if you’re in that IT staff, but then that’s why you get paid the big bucks. A staff that has the ability to make these various applications work together has a great deal of value, since it opens up the organization to more possible vendors than they would have had.
It’s like automatic vs. manual transmissions in a car. A manufacturer can choose to put in a manual transmission, which pushes the requirement for shifting down to the driver. There are plenty of reasons why a car may only come with a stick, and it’s not unfair that you need to do your own shifting but rather a trade-off that you may not understand or agree with. It’s usually easy to see the trade-off, though, because the performance and cost differences between manual and automatic transmissions are pretty well known.
A vendor’s decision to not yet (or ever) support Windows 7 may seem stupid to us, but that’s just because we don’t get to see all of the myriad choices in the past that led up to that trade-off being taken. It still may be a stupid decision, but we can never be sure what we would be missing out on if the decision had gone the other way. Perhaps the time needed to support Windows 7 would have been so much due to poor architecture decisions in the past that it would have killed the product entirely, or at least some mission critical feature that you need. Is it better to deal without Windows 7 or the entire product?
Regardless of all of this, though, is the fact that administrators who can patch together the house of cards and keep it up will always be in high demand. There will always be the need for spit and bandages in any high-tech infrastructure, so we should be glad for the experience.