Friday, May 7, 2010

Mainframe Vs Mid-Tier Computing

http://www.vcu.edu/vcu/ucc/mainframe.JPG

I have been in Technology for more than 25 years. I have supported systems on both mainframe and midtier platforms. I'm often questioned as to which platform is better. To be open and honest, I'm a mainframe person at heart. I grew up on the mainframe and feel more comfortable working on mainframe systems. But as I've progressed into management, I've had to take a more open look at mid-tier systems and become more cynical of the mainframe.

Mid-tier systems have grown significantly over the years. The hardware platform has become much more dependable and cost effective solution.

Let's review a couple of trends in technology:

  • Linux has taken the world by storm. This operating system has claimed its place in many mainstream I.T. shops. The company that I work at has openly embraced Linux. It has almost completely replaced the UNIX/AIX/SUN environments that have been in place. One big thing to note about Linux is that is really is hardware independent. Linux can even run on the mainframe.
  • Vitalisation has been the rage in Technology. Virtualisation has enabled mid-tier solutions to become much more cost effective by increasing the overall utilisation of hardware. But virtualisation is not new. Virtualisation has been a mainframe stronghold for many years. Work Load Management (WLM) has been around the mainframe for what seems like forever. The mainframe has excelled in balancing a variety of workloads. Adding vitalisation to the mid-tier environment has enabled the mid-tier systems to function much more like a mainframe.

So if Linux can run anywhere and virtualization makes mid-tier seem like a mainframe, why use a mainframe?

There are still many functions that the mainframe still excels at. The mainframe's WLM still far exceeds the capabilities of mid-tier servers. Mid-tier virtualization is much better at horizontal scaling. The mainframe does vertical scaling significantly better. Large volume transactions that utilize high input output processing are better suited for the mainframe. High computing processes are better suited for the mid-tier.

There are probably a lot more packaged software solutions available for the distributed world. But the reliability, availability and scalability of the mainframe are still incredible.

In the mainframe world, parallel sysplex will enable a group of mainframes to operate as though they are one machine. This provides an organization with a lot of options as to how they wish to deploy their technology. These mainframes do not even need to be located near each other. Geographically Dispersed Parallel Sysplex (GDPS) would enable an organization to run multiple data centers and have them all look like one to the customer.

So which is better? It really depends upon your workload and the amount of existing work that you may have on the mainframe today. If you were starting from scratch, I'd probably start with servers. But if I had a large investment in the mainframe, I'd look to keep the mainframe and exploit servers where it makes the most sense. I'd use the servers for presentation and application layers. The mainframe is the best and safest platform for data management.

Decide for yourself which better fits your needs and your budget.

Linux is probably one of the biggest improvements that have come down the road. The Linux operating system takes many of the advantages of UNIX and improves it. Linux is able to run on just about any platform - including the mainframe.

Tuesday, May 4, 2010

Why Mainframes Rarely Crash?

Mainframes can achieve "four nines" or "five nines" availability: 99.99 or 99.999 percent uptime. That translates into only 5 to 53 minutes of downtime per year. In fact, IBM's Server Group claims that the mean time between critical failures (MTBCF) for its System/390 mainframes -- that is, the average time between failures that force a reboot and an initial program load -- is 20 to 30 years.

Millions of PC users would be overjoyed with an MTBCF of just one day. Yet mainframes are big, complex systems that often have clusters of CPUs, gigabytes of main memory, and thousands of users. What makes them so reliable?

Mainframe experts say that it's a matter of priorities. When a PC crashes, even the system administrator might not hear about it, much less the vendors who made the system, the OS, and the application software. The user shrugs, reboots, and keeps right on working. When a mainframe crashes, however, it's a major catastrophe. It's General Motors calling up IBM to demand answers. And even if GM doesn't make the call, the mainframe does. Periodically, the massive machines dial up IBM's lab in Poughkeepsie, New York, to upload error logs and download updates. "Even if it doesn't crash, we know about it," says Lisa Spainhower, System/390 senior technical staff member.

During the beginning of the 1980s, Big Blue set a goal of increasing availability by a factor of 100, as measured by yearly uptime. IBM achieved that goal, says Spainhower. "Frankly, we didn't do it because it was a fun engineering project," she explains. "We did it because our customers demanded it."

Because everyone keeps detailed logs, problems rarely get ignored for long. There's too much at stake. Of course, it helps that mainframes have full-time technicians available to keep them up and running. They also have redundant hardware, extremely protective OSes, and stable applications.

"The design of a crash-proof system must be pervasive," explains Guru Rao, System/390 chief engineer. "It starts with your choice of technology and components, and it extends all the way to the design of the OS, the hardware and software, and the customer's applications."

System/390 maintains separate memory partitions for the OS (OS/390), the software-subsystem components (e.g., DB2 database drivers), the transactional middleware (e.g., the Customer Information Control System, or CICS), and the applications. IBM introduced this so-called Enterprise Systems Architecture (ESA) in the late 1980s, basing it on the earlier partitioning of MVS (Multiple Virtual Storage). Compared to MVS, ESA has more partitions and faster interprocess communications (IPC).

As a result, it's exceedingly rare for a crashed application to bring down the entire system. Even if a critical middleware component, such as CICS, fails, System/390's automatic restart manager can restore the task.

"These systems, like PCs, do fail," notes Spainhower. "It's just that when they fail, they detect the errors and recover from them with greater reliability."

Interestingly, mainframe OSes aren't any bigger than OSes for PCs. They contain a lot less code to support GUIs, and a lot more code for error detection, error isolation, and recovery. They're not growing as fast as OSes for PCs are, and their code tends to remain more stable.

"It would almost take an act of God to change the dispatcher in IBM's mainframe OS," says Dr. Barry Feigenbaum, senior software engineer for IBM network-computing software solutions. "It's not quite the same on PC OSes."

As ambitious PC vendors try to encroach on the territory of enterprise servers, they will have to address the same concerns that mainframe vendors did in the 1980s. The contest isn't about megahertz and megabytes; it's about high availability. And that will require PC vendors to radically change their priorities.