My limited understanding is that most mainframe customers are locked-in, e.g. they have legacy COBOL code running their ledger system and the expense to switch off of it is simply prohibitive. That plus the fact that the system is reliable, low-maintenance, etc. preserves the status quo, despite the fact that if you were to write the same applications today, you'd choose a newer platform because it would be more cost-effective.
As such, IBM has historically offered z/Linux and co-processors only to hold onto data and processing that was being pulled off of the mainframe because it was too expensive/too onerous to do on the mainframe using z/OS and the like. So customers, unable to completely shut down their mainframe, could kind of make the best of a bad situation and at least get some cheaper Linux cycles out of their expensive iron.
If the above is true (and correct me if it's not) what is the appeal of a Linux-only mainframe? Or is it only interesting if it is radically cheaper than a z13?
I think the answer really depends on IBM. Technically speaking, the hardware is rock-solid. There are no single points of failure in mainframe systems. But there are still some obscurities with the platform. There's a lot of packages you'd expect to be available in your s390x distribution of RedHat or SUSE that missing. And that's probably because the average open-source developer/maintainer doesn't have the means to develop/test on a mainframe.
IBM needs to realize they have an open operating system on a closed platform and the two don't mix. They are taking steps in the right direction, but time will tell if they get there. And they have to prove they can compete with the x86 guys on price.
> My limited understanding is that most mainframe customers are locked-in, e.g. they have legacy COBOL code running their ledger system and the expense to switch off of it is simply prohibitive. That plus the fact that the system is reliable, low-maintenance, etc. preserves the status quo, despite the fact that if you were to write the same applications today, you'd choose a newer platform because it would be more cost-effective.
You are mostly on track there. Mainframes haven't died because of many of the reasons you listed above. But I'd have to disagree with last statement about choosing a "newer" platform. Mainframe hardware is modern hardware, in the sense they are updated every one to two years. Mainframe operating systems are modern operating systems. They also get updated every one to two years. If you look at every industry that has been around for more than 30 years, almost all of their mission critical workloads are done on System z. Cheaper isn't cheaper when you have downtime.
But for some workloads, you are right: companies are only on mainframes because migrating to a different platform would be too costly. Even over 10, 15, 20 years.
It seems like, except for "Cracking the Mainframe" or whatever, there's no easy (or even moderately accessible) way of simulating a mainframe setup to learn. Again, I love this stuff. I read Redbooks in my spare time. I have Hercules and z/OS setup, and that took a long time to setup compared to an Arduino or firing up a Linux VM. An average HNer is probably like me -- he/she might want to fire up a z/OS instance and play around with it. But he has no way of doing it though.
These are the tinkerers who end up deciding what platforms to use down the road. The high school kids playing with those free STM32 micro-controllers that TI gave out was a brilliant move. When they choose to do their semester project junior year, they might stick with TI because that's what they know. AVR was lucky Arduino took off too for the same reason. 10 years from now, those high school kids are going to be choosing what to buy 10k units of to throw into the pick'n'place machine.
There are some interesting big-data cloud IaaS/SaaS offerings you've put out to keep up with the times but outside of alliances with large incumbent vendors (say, SAP in ERP; EPIC in Healthcare) to sell large modules, you're not going to see much traction.
Offer something the tinkerers can play with. Make that the gateway drug. Amazon did it perfectly with AWS - easy to roll out, pretty predictable pricing schemes, pay for what you need, and scale up (more VM's/larger VM's) or out (other products within AWS). Every other vendor is chasing their tail trying to capture that market.
Linux on the z community offers me nothing as a decision maker. If I was already vendor-locked into you guys, then the prospect is appealing. But even with low latency (operating within the u-seconds, m-seconds and people start losing jobs/panicing), five-nines SLA (healthcare, HFT prop trading) requirements, what does the Z platform have to offer? How can I even evaluate prospective costs when pricing this out to pitch to the (hypothetical) board?
Mainframes gradually exited academia in the mid-80s. It was a terrible mistake by IBM, because they essentially eliminated the next generation of mainframers. They've since come to their senses with a program called the IBM Academic Initiative [0] which promotes the use of mainframes in Computer Science courses. It's only about 20 years too late.
But I think they could do a better job. Up until recently, the only way to try z/OS without accessing million dollar hardware was to break the law. You literally had to torrent a pirated copy of z/OS. And it's not easy to find. A few years ago, IBM changed this with their tool: Rational Developer and Test for System z [1]. It's essentially Hercules but you get a legal copy of z/OS. And it's $9500 per year per CPU. And there is some stupid hardware license usb key.
And regarding your questions, your points are valid. Vendor lock-in is a concern. IBM is the only player in the business, and they know it. But look at every major industry that's been around at least 30 years: all the mission critical stuff runs on a mainframe. Maybe it's because it's the only thing that runs their legacy COBOL code. But it works and it's rock solid.
The poster child of migrating to Linux on z is Nationwide. They successfully moved almost all of their x86 processing to Linux on z and saved a ton of money. There's the definitely-not-vendor-biased white paper out there. Do some googling on "Nationwide Linux on z".
[0]: http://www-304.ibm.com/ibm/university/academic/pub/page/acad... [1]: http://www-03.ibm.com/software/products/en/ratideveandtesten...
That's why I broached in another comment an application, VM model like we saw for VMware, etc. They have a pre-configured VM for about everything. Could do the same for various aspects of mainframes so people could selectively use or learn each piece while slowly building up understanding. Pre-configured Hercules with some good tutorials on usage might be a start if not the other model.
(Disclaimer: I have not idea what I am talking about when it comes to mainframe, just a quick thought that popped into my head).
z/OS has a long history. It's predecessor, OS/390, dates back to the 1990s. Before OS/390, there was OS/360 which dates back to the 60s. Back then, IBM was first to market on business computer processing. (That was the only computer processing.) Major industries, like financial, insurance, and airlines, poured their infrastructure into mainframes, because it was the only name in the game. IBM prides itself in assuring its customers that the COBOL code that ran your business back in the 80s will still run today on z/OS 2.1 (the current version of z/OS). Chances are, when you swipe your credit card, that transaction touches a mainframe and probably some code that was written in the 1980s. Or earlier. I know, because I've seen the timestamps.
This compatibility is really evident when you use z/OS. The green screen is perhaps the most obvious example. When you see a systems programmer (that's mainframe-talk for sysadmin) debugging a system, you'll see them page through a really archaic, unsexy TN3270 interface. Why? The same reason Unix (and thereby Linux) uses teletype. Because that's what the operating system was built on.
Sure. z/OS has Unix System Services. In fact, it's even POSIX compliant. But can you `apt-get install ruby`?. No. There's no Ruby for z/OS (unless you count JRuby). There's no package manager for USS. It's just plain, vanilla Unix. There's no new open source contributions. There's no Bash that comes with the operating system. You get a 10 year old version of Shell. There's all kinds of shenanigans with SCP/SFP and ASCII/EBCDIC. IBM has to maintain the tools. (Actually, it's been turned over to Rocket Software.) It feels very "round peg, square hole".
So z/OS has an image problem. IBM made a huge mistake back in the mid-80s. When commodity x86 PCs became available, universities realized they could teach their computer science programs on cheaper hardware instead of expensive mainframes. Compute Science is platform agnostic, right? What IBM didn't do is recognize this as a problem. They didn't give out free mainframes to universities, so schools quit teaching with them. How many people do you know under 30 that had a mainframe-based curriculum? And for the self-taught, how are you suppose to learn the basics of a platform if costs millions of dollars? Anybody can install Linux on their $100 laptop in a few hours. But mainframes?
Fast-forward a couple of decades and now you have a talent pool that's extremely saturated with x86 people. And the mainframe people? Well, they are all retiring and there aren't many replacements. Second-generation mainframers are far and few. (I'm one of them.)
So let's say you have a new workload. It's undeveloped. What platform should you choose? There's probably not many technical reasons why you could not accomplish what you want to do in z/OS. But how many people do you know that consider themselves proficient with debugging z/OS? Outside of "dead languages", your options are pretty much limited to Java. (There's a few exceptions to this, but Java is the biggest modern language player.) But that's not to say there isn't any new development happening in the z/OS space. There's plenty of new workloads coming to WebSphere on z because porting a WebSphere application could be pretty easy. There's also performance benefits when you are on the same system where all your financial records are stored. z/OS is definitely an option, but it varies by use case.
With Linux on z, you get real Linux. And the majority know Linux. The majority can debug Linux. And you get the same benefits of being on rock-solid mainframe hardware and you get memory-speed I/O against mainframe data and services through a special networking interface called Hipersockets. Mainframes are also pretty good a virtualization, because they invented it. (z/VM has it's roots dating back to the 70s.)
Not sure what they're actually doing but closing it off too much holds them back. It can still be proprietary. However, people need to be able to hack on it or a VM of it for best results. Preferably, a way for people to learn it in pieces so they don't have to know all mainframe stuff at once. Think the pre-configured, appliance VM's for various services. Have those for z/OS admins, CICS users, etc.
I'm really excited about this announcement. I think IBM finally realized they need to be more open if they want to grow the Linux on z community. I just hope they are not too late to the game.
There's a lot of mystery and misconception behind mainframes, so I am happy to answer any questions about mainframes that I can.