Hacker News new | ask | show | jobs
by snowcrshd 3259 days ago
I always hear people say how reliable mainframes are. But if I have a startup that needs to distribute its application among different regions of the world, how does a mainframe help me with that?

It is still a single point of failure.

Has there been any sort of study, comparing commodity hardware and mainframes in this setting?

I'll not argue a single mainframe is more reliable than a commodity server. It should be, given how much they cost.

3 comments

I am not sure if this true for current hardware, but once upon a time the mainframe CPUs contained duplicates of each functional unit that ran in lock step; after every computational instruction, the results of the units are compared; if they differ, the CPU repeats the instruction once. If the results still differ, it "calls in sick" to the operating system.

The OS then brings a spare CPU online and transfers the program that was running on the failing CPU to the new CPU, takes the failing one offline, and, depending on your service contract with IBM, calls home for a replacement CPU. The program does not even notice something went wrong. The next day an IBM service technician rings your data center's doorbell and replaces the faulty CPU, all without taking the machine offline.

That kind of resiliency and redundancy runs throughout every aspect of the system's design. If you can afford it, having a mainframe be your single point of failure is not too bad.

This is definitely impressive, but most of it could be done with commodity hardware and open source software. Let's say I have a task queue with objects like (1, 2) and my task is to add them together and push the result in a new task queue - what's preventing me from doing that twice to make sure the end result is correct?

Sure, I have to implement it manually, but at least my screen will no longer covered in vomit because of all the buzzwords.

My point was that a mainframe could be a single point of failure, but it engineered to such a degree of reliability and availability, that this is unlikely to be much of a problem. Plus, you can cluster them, you can even build clusters spanning several data centers.

From a technology standpoint, I think they are amazing machines.

The problem, of course, is that they are ridiculously expensive, which is why "open systems" (often meaning PCs running Windows or Linux, but also proprietary Unix system) have replaced mainframes in many places. In a way, I think it is fair to say that Google did something akin to what you propose. (I am told, that proprietary software for mainframes is actually so ridiculously expensive that the already-ridiculous cost of the hardware is not that much of a concern, actually.)

As for the buzzwords, if you find a place where you are safe from them, send me post card, I might move there, too. ;-)

Thank you, this is the kind of information I was looking for! I still would like to see some real world comparisons, though.

It sure sounds pretty impressive from your description!

Also factor in the operational costs with running your own data center and people to keep things running 24x7. Floor space, storage, power, disaster recovery, people = $$$. Companies have moved away from mainframes and the long term costs by migrating to high powered blade servers, vmware, cobol emulation software.

I'm sure these servers still find homes but the computing choices available today make boxes hard to sell IMO.

You can deploy systems to multiple locations in a variety of configurations to handle this need.

Mainframes are not my are of specialty, but it looks like this PDF, "IBM z/OS Multi-Site Business Continuity," has a lot of details:

https://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebInde...