Why OldTech Keeps Kicking
Hugh Pickens writes "In 1991 Stewart Alsop, the editor of InfoWorld, predicted that the last mainframe computer would be unplugged by 1996. Just last month, IBM introduced the latest version of its mainframe, and technologies from the golden age of big-box computing continue to be vital components in modern infrastructure. The New York Times explores why old technology is still around, using radio and the mainframe as perfect examples. 'The mainframe is the classic survivor technology, and it owes its longevity to sound business decisions. I.B.M. overhauled the insides of the mainframe, using low-cost microprocessors as the computing engine. The company invested and updated the mainframe software, so that banks, corporations and government agencies could still rely on the mainframe as the rock-solid reliable and secure computer for vital transactions and data, while allowing it to take on new chores like running Web-based programs.'"
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Because the people who are used to that tech haven't kicked (the bucket).
Basic psychology. People stick with what they're used to, even if it doesn't always make the most sense.
Look at the inability of people to drive using joysticks, instead sticking to the classic wheel arrangement. I've seen drive by wire setups using joysticks, they work well, but people just can't get into them.
Karma Whoring for Fun and Profit.
I DON'T SEE WHAT THE BIG PROBLEM IS. I
HAVE BEEN POSTING FROM MY COMMODORE 64 F
OR TWENTY YEARS NOW AND IT IS WORKING JU
ST FINE FOR ME!
The damned lameness filter has just managed to destroy my joke. Thanks a lot, filter.
Sigs are too short to say anything truly profound so read the above post instead.
Ten years gone, and still relevant.
Damn I miss Byte.
Best Slashdot Co
The x86 architecture
The QWERTY keyboard
SATA (yes, folks, a serial version of the old IBM AT bus!)
Drive letters, DOS devices
Does anyone actually use the tar program for its original purpose anymore?
"mainframe sales are a tiny fraction of the personal computer market"
I'm pretty sure that mainframe sales are 0% of the personal computer market.
Intron: the portion of DNA which expresses nothing useful.
Does noone else see the irony in a newspaper exploring the reasoning behind "old" technology being used in modern environments?
With a "Bill Gates" 640k view of the world, of course we wouldn't need mainframe computers. Desktops now have more than enough power to run even the largest server applications of 1991 hands down and it's easy to see where that statement came from.
The problem with the vision is that Stewart Alsop didn't take into account the growing complexity of computer programs. We have plenty of (in comparison to the software of 1991) inefficient applications that require ridiculous amounts of computer power to serve and process everything we need done. We have complex server applications like gigantic databases and games and video servers that couldn't exist in the 1991 world.
The mainframe of yesteryear may now fit into the physical space of today's desktop... or smaller, but that doesn't mean there won't be a need for a bigger and faster one to take its place. That's as true now as it was then.
Well, back to rejecting software patent applications.
I was at a conference and at a BOF where I raised this question and technology. One person said that at the end of the day Microsoft will be replaced by Google apps.
I said, yeah sure Microsoft will be replaced like IBM and the mainframe will be replaced. He then went on and explained to me on how the mainframe is dead. I looked at him and laughed because there are still oodles of people using the mainframe and there will be oodles of people using Microsoft.
It is not that Google apps will replace, but will complement Microsoft, like the mainframe compliments Microsoft. Where the real understanding begins is when you know what to use when...
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
FTA: First, it seems, there is a core technology requirement: there must be some enduring advantage in the old technology that is not entirely supplanted by the new.
This is what keeps a lot of "old" technology going. Over the past 30 years, I've seen the predicted demises of printed books, keyboard-entry word processing, land-line phone systems, and so on. Yet, each of them seems to still be chugging along. e-books are here, but, as it turns out they have lacks when it comes to the readability and portability, as well as being usable in many environments. Keyboard entry word processing was supposed to have been supplanted long since by voice recognition technology, which is another technology which always seems to be "5 or 10 years away". Cell phones were supposed to supplant all land-line phones, but it turns out there are places you can't get a signal, and you can also do a lot of other things with that land line that you can't do with a cell. Each of these supposed supplantive technologies turned out to have issues that the "old" tech didn't have. It doesn't mean that the new wasn't useful, but in terms of supplanting the old, it didn't happen.
I used to make CD players for one of the tech giants, as such I was in China alot. When I say "make" I'll be more specific - I wrote the firmware.
I remember vividly a conversation with one of the chinese project managers. I was discussing the build quality of a new CD player for the US markets. It had that brown cardboard like PCB that the racks leap off if you wave a soldering iron in the general vicinity. The PCBS, the unit front, the enfire casework was glued together with a hot glue gun. The radio tuning circuit was wire wrapped around a pencil and then "frozen" in place with dripped wax whilst the software was expected to adapt to mask any tolerance issues. The manager and his team gave it a projected life span of 18 months, then the consumer would be back to buy another, he was really enthusiastic about the repeat business.
*That* is why old tech survives because it was built to last, not with built in obsolescence. And no, I never brought a CD player from my employer ever again.
I keep seeing new ways to do the same old things; perform a credit transaction, store a health record, track inventory etc. Many of these requirements have changed little for decades if not centuries, and new requirements like enhanced security are easily accomodated in a centralized environment.
The original systems created to satisfy these requirements were lightweight and efficient to run on the machinery of the time and easily managed by virtue of being centralized. By contrast, many new solutions are bloated and hard to manage because of their de-centralised nature and the need to use whatever networking protocol was simplest to implement regardless of its suitability for the task. God forbid that anyone has to look at a terminal font to get information from a system - if it's not in Times new Roman then it's just not proper information.
The sole purpose for the replacement of the older systems seems to have been "because we wanted a GUI" to make it un-neccessary to train our users or because companies thought that they could axe experienced network admins and terminal equipment that they perceived to be 'locking them' to a vendor. Now I see that in many cases the management of large systems has been "de-skilled" and involves such a cocktail of technologies that nobody knows quite how it all hangs together (least of all how secure it all is).
Best just throw in more resources to make the IT problem go away, at least it's spread over several bills so it seems easier to pay for...
Nullius in verba
What would be the cost of hiring on top of the existing mainframe admins and developers a team to migrate this stuff to Windows or UNIX? Remember some of this code is written by people who not only have left the company but may have died. Then you have to hire new developers and administrators for the UNIX/Windows systems. Change always creates the potential for problems, so expect a higher percentage of disruptions to the business as you're doling out all this money. If IBM is making it easy for you to keep what you have going, and also allows Linux, web etc. capability, why spend all that money to transition? The answer is that a lot of times companies don't. I worked at a Fortune 100 company that still had plenty of IBM mainframes. They even had a lot of their printing handled by the mainframes, although there were Windows and UNIX gateways into the print queue.
PC's have been around for over 25 years. Is that not old? They constantly evolve.
Mainframes constantly evolve.
Mainframes went 64 bit before the PC ever did. Virtualisation is just gaining ground on the PC.
Mainframes have had that for decades with Domains and LPAR's.
Whats old technology, a PC server farm with dedicated server per app, and maybe 10 concurrent users, or a mainframe running many applications with thousands of users, and terrabytes of i/o throughput.
Actually, no matter how fast your PC is, PCs and mainframes are engineered for different things. Many mainframe-class machines specialize in transaction processing and are designed for total I/O speed, rather than chip clock speed. People also pay the big bucks for mainframes not because they are fast but because they never, ever crash nor require downtime. Don't let Apple calling a G4 Mac a "supercomputer" confuse you -- a mainframe is still highly specialized equipment, and I doubt there's any application that you personally might need to run that would require one. On the other hand, no matter how fast desktop chips get, it seems unlikely to me that major Wall Street banks would ever switch from mainframes to PC-class hardware for financial transaction processing.
Breakfast served all day!
Mainframes are still around because the engineering is better.
There's no secret about how to do this. It wouldn't even add much cost to servers to do it right. Here's what's needed.
Once you have all that fault isolation, you know which component broke. This produces ongoing pressure for better components. It empowers customers to be effective hardasses about components breaking. With proper fault isolation and logging, you know what broke, you know when it broke, you know if others like it broke, and you probably know why it broke. So you know exactly which vendor needs the clue stick applied. There's none of this "reinstall the operating system and maybe it will go away" crap.
Mainframes are about three things:
- Reliability
- Availability
- Capacity (including compatibility across upgrades)
in that order.
Reliability is the absolute must. Dropping pennies through the cracks adds up to big bucks in lost coinage and much BIGGER bucks in legal trouble from the people whose pennies got lost. Consistently total the bill wrong and you face class action suits, too.
Mainframes don't make errors, period. The internal components DO make errors, and the mainframe fixes the errors so the result is correct (though it may be delayed by milliseconds when a bit drops internally). They do this a number of ways: Error detection/bus-logging/stop-fix-restart, redundant components and voting, redundant components and comparison (see "error detection..."), error correcting codes to name just a few.
Redundant collections of less reliable machines don't cut it. Businesses solve the "distributed update problem" by avoiding it: Transactions are processed on a single, ultra-reliable, server. The data is backed up (offsite and often dynamically via a network) so that, in case of disaster, they can switch to ANOTHER single, ultra-reliable, server. But spreading the work over multiple flakey machines is not an option. (They know how to do it with people. But they don't want to go there with computers when there's a better option.)
- Availability is right up there.
Drop the real-time logging of phone calls for a reboot and a baby-bell's ong-distance phone lines are free. That's in the million bux and hour range. But it's a drop in the bucket compared to the cost of an outage in the trading support systems of a major brokerage.
- Capacity must continue to be "enough" as a business grows.
Throttling a growing business because the IT department can't crunch the extra transactions kills shareholder value. And this includes compatibility: Thrashing the applications and inducing delays and bugs, just to port to a machine of the necessary capacity, also isn't an option. A business-critical legacy application has to "just work" if the system must be upgraded for higher capacity. The source may be long lost and the programmer long dead, so even recompilation (or reASSEMBLY) may not be practical options. (Even if the source code ISN'T lost it may be in a language that's no longer supported and/or with no experts available.)
===
Makers of non-mainframe computers and their components and operating systems still haven't "gotten it" on these issues. The hardware designs are almost totally composed of "single points of failure" and flake out from time to time. OS crashes are a way of life (especially with the "dominant desktop OS" - which is what business decision-makers see).
The chip makers blew it with things like Weitek's floating-point accelerator that didn't do denormals and Intel's Pentium bug. (Those little numbers are VERY important for things like interest calculations.) In particular, Intel could have recovered from that by immediately replacing the chips with the fixed ones and giving business customers priority. Instead they fought it and claimed that the errors didn't matter for anybody but the users of "high-end games". GAMES? What does THAT look like to a guy in a business suit in the executive suite of a fortune 500 corporation?
Imperfect computers can work for the desktops that support the imperfect people who handle the day-to-day operation. The infrastructure is already in place for distributing the load across them and recovering from their errors. And they can work for the core of a network - where protocols can repeat dropped packets and machines can route around failed peers and cables. But like the EDGE of a network (where a customer's lines funnel through a single box, which must have telephone-switch-like reliability), the core of corporations' information processing is already built on and optimized for near-perfectly-operating machines. Despite their cost they're FAR cheaper and less risky than switching to, and running on, something less.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
I think old tech survives because of two reasons, one following the other. First, businesses develop inertia along a certain platform. For example, banks write a lot of code that is restricted to run in a mainframe environment (for whatever reason, it can't be moved off). "Inertia," in this case, means that a lot of code and business processes and practice have been developed around that platform. Perhaps even jobs have been created that are primarily concerned with the care and feeding of this platform and all it supports.
Then, time passes. People forget, and people leave. New people take over. At some point, if enough complexity develops and sits over a long enough period of time, the entity that owns the platform and all it supports basically loses control of it. They have no knowledge contained outside the system itself...to make significant changes requires someone to delve into it and tease out the why's and wherefore's of how it works. Either that, or replace it wholesale, abandoning all of the functionality of the code and the stability that comes along with the associated business processes.
If no one quite understands how something works, or even the totality of what it does, then it becomes easier to upgrade an existing platform than replace it. In some cases, the platform can only be upgraded in certain ways that maintains some restrictions of the original platform. And that's why old tech has staying power. No one knows what it does, how it works, or understands the impact of or effort required to replace it.
I think this cycle is inevitable to some extent where complex systems are required to fulfill some needed function. However, I also think there is much that businesses could do to prevent these issues where they are not necessary. I think the fundamental thing that needlessly ties businesses down to old tech is an improper segmentation of responsibilities within the company. Many times, departments and created and responsibilities assigned based not on the actual work that needs to be done, but rather the prejudices of executive management. A work force should be divided up based on areas of related responsibility and the dependencies between those groups, and nothing else. (This is usually how things are done at the low level of organizing groups, but go one or two levels up on the org chart and the concept seems to no longer apply at most places.)
but have you considered the following argument: shut up.
I love this "single point of failure" argument. It's a fallacy. The only single point of failure with a single mainframe is the building it physically sits in. A single mainframe is internally redundant in every possible respect you can think of (and several you didn't think of). It is that cluster you talk about fondly, except there's no (error-prone) self-assembly and no particular management burden required. It. Just. Works.
But if you're concerned about a building failure -- fire, flood, whatever -- you can buy a second machine. IBM will sell that second machine to you at a lower price. You can put the second machine in a second building, you can run fiber (preferably with two separate physical paths) between the two machines, keep them many tens of kilometers apart, and run them as a single, seamless cluster (called a Geographically Dispersed Parallel Sysplex). And, as a programmer, you have absolutely zero coding responsibility to make that all work. If anything bad happens all your transactions instantly flip over to the other site, in-flight, real-time. And you don't lose a single byte or a single customer, and you can prove you didn't. You can also service any element of that cluster -- any element, from software to hardware to network to whatever -- without any interruption in business service. Yes, you can upgrade your database engine version while everybody's credit cards keep working. Neat party trick, that, but it's business-as-usual for mainframes.
Scalable? Each machine contains up to 64 main processors (and a minimum of two spares!) running at 4.4 GHz with more cache (and more cache levels, including copious shared cache) than anything else. (Even the clock speed argument is gone. It's a faster clock speed than X86.) Plus scores of secondary processors -- the main processors only do real work, not encryption or I/O. They don't even handle clustering -- there are dedicated processors for that. You can stuff 1.5 TB of RAM in each frame. And you can have a single cluster -- which behaves like a single logical machine from a programmer's point of view -- containing up to 32 of these machines. That's a single "machine" with 2048 main processors and hundreds (thousands?) of assist processors. Beyond that you can still do everything an Intel cluster can, like conventional load-balancing (e.g. HTTP spraying) across multiple 2048-CPU clusters. But no one has yet invented a core banking system, for example, that exceeds even a couple of these 64-way machines for a large Chinese bank, to give you some perspective.
No, this stuff is in a different league. Please read up on it sometime before dismissing it offhand. I don't dismiss the value of X86 blades for certain applications, but this mainframe stuff is very different and has important roles. Telecom switching, maybe maybe not. Telecom billing, you bet.