An Ode to the Mainframe
My friend Justin and I had a little discussion about mainframe skills on the heterogenius blog. The little discussion got me thinking a lot about the mainframe. I viewed mainframes as tired old men until I actually saw the length and breadth of what a mainframe can do, and I must say, I have utmost respect for it. Moroever, mainframe skills, while not sexy to have, are actually in demand because over 71% of all business runs on a mainframe (and 85% of all Mainframe programs are written in COBOL). For example, by the time 2005 comes to pass, Visa would have processed 35 billion credit-card transactions, all of them using in-house mainframes.
Time and again, people have predicted the demise of the mainframe and the mainframe programmer, yet software comapanies like CA, Vitria, Business Objects, SAP etc, have their higest margins when selling software for Mainframes. Mainframe programmers continue to enjoy high salaries and status as core members of any enterprise IT shop. Even in Java, IBM WebSphere, Bea Weblogic, Oracle AS, all make their highest profit margins when they sell mainframe J2EE app server licences. IBM just recently released its latest generation of the mainframe (the Z9), and has, since 2000, acquired 200 new mainframe clients, i.e., clients who never owned a mainframe before. Moreover, it is erroneous to automatically associate the mainframe with Cobol, CICS, or Natural. While it is true 75% of the world's transactions run through CICS on MVS, Linux is increasingly become an an alternative to MVS. In fact, in March of this year, Europe's biggest railway company Deutsche Bahn traded in 300 Intel boxes for one Mainframe running Suse Linux. Cool huh?
The mainframe is a seasoned master in technologies that the UNIX/Windows world is still having problems completely replicating. Technolgoies like three levels of system virtualization, dynamic mixed workload balancing, processor lock-stepping, and ability to address seamlessly upto 512GB of virtual memory (to name a few) are standard features in a mainframe. One of many reasons that the mainframe has survived for so long is that when IBM released the mainframe that made it the behemoth it is (the System/360), Thomas Watson Jr promised all of IBM's clients that once they ported their old mainframe programs to the 360, they would never have to rewrite it again, regardless of system upgrades. IBM has kept this promise even today, the new z9, can still run any program written in 1960s without any modification whatsoever to the code. I'm not sure if C++, Java, C#, Solaris etc. can gaurantee that level of backward compatibility.
On a personal note, in the past four years, I've seen many mainframe applications and many pure client/server application, and I've also seen many hybrids. Without exception whenever the heirarchical structure of Object-oriented Java/C++/C# clashed with the flat world of COBOL/Natural/ADABAS, it was the OO tower that fell, as it could not handle the computational complexity, or volume of the mainframe.
Now I shouldn't try and showcase the mainframe by down playing the server. However, what I'd like to caution against is dismissing the mainframe as yesterday's technology. Both will grow, and will co-exist, such is the heterogenous nature of our field. The best way we can harness both, is by being good boundary skirters: people who can dabble in both worlds and act as bridges, there in lies the true potential (and lots of moolah to go with it).
moolah ... They are just going to give you moolah? That's their business model? No, you are going to have to have the compunction to force them to give you moolah, regardless of what it is you say you can do. And if you have that ... well there may be much easier ways to get moolah.
Posted by: | August 31, 2005 at 02:27 PM