12 ms·
The reason mainframe persists is it's a pretty slick development and deployment environment. A lot things you might cobble together as dependencies - like maybe
by CraigJPerry 3y ago
The reason mainframe persists is it's a pretty slick development and deployment environment. A lot things you might cobble together as dependencies - like maybe a database or a message queue, or observability facilities or even deployment strategies like hot-hot deployments - they're all just built in to the platform. That means they're trivial to consume and they're fully supported by one vendor. It's like the worlds most comprehensive application development framework.
Going back to the hardware that everyone likes to focus on, it's less radically different from normal servers today than it was historically. The mainframe today is a 19 inch rack like any other. By that i mean it is not only a 19 inch rack like your x64/ARM servers are but also the same power density (32 or 64 amp racks), cooling requirements etc.
The most interesting bit is the software, not the hardware. There are cool hardware aspects too - but focus on them and you miss the real reason these things are popular in certain environments.
- xahhkakappy11 3y agoInline SQL is something I've always missed elsewhere. Not sure it's viable when you've got a billion different incompatible databases supported on a platform, so some of the limitations of mainframes have advantages.
- colonwqbang 3y agoCheck out C# LINQ, or Haskell postgresql-typed. https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/introduction-to-linq-queries https://learn.microsoft.com/en-us/dotnet/csharp/programming-... https://hackage.haskell.org/package/postgresql-typed-0.6.2.4/docs/Database-PostgreSQL-Typed.html#g:5 https://hackage.haskell.org/package/postgresql-typed-0.6.2.4...
- leprechaun1066 3y agoOr q: https://code.kx.com/q4m3/9_Queries_q-sql/#93-the-select-template https://code.kx.com/q4m3/9_Queries_q-sql/#93-the-select-temp...
- toyg 3y agoGod, I hate LINQ. When dealing with code that uses it, it's like you're reading a detective story where suddenly TYGER TYGER BURNING BRIGHT IN THE FOREST OF and then back to murders until WHAT IMMORTAL HAND OR EYE and then murders again.
- tracker1 3y agoI never cared much for the LINQ syntax myself either. But absolutely have enjoyed a lot of the extension methods for use with given data sets.
- SoftTalker 3y agopl/SQL has good support for inline SQL.
- mberning 3y agoIt persists in many places due to the deeply ingrained belief that, for one reason or another, it would be technically, practically, or economically impossible to migrate functionality off the mainframe. Somehow the people in charge of these systems have managed to convince large enterprises of this for decades. And now we are in a situation where their long held beliefs have become true because nobody is around that understands how or why the software works the way it does. It's a disgrace.
- ghaff 3y agoOr the people in charge are of the belief that things work and they're a tiny part of the overall organization's costs--and any massive migration will run over schedule and budget, won't necessarily be better at the end, and will be unnecessary and disruptive. They may or may not be correct but it's not an irrational belief whatever those advocating for moving everything to a distributed platform think.
- ElectricalUnion 3y ago> It persists in many places due to the deeply ingrained belief that, for one reason or another, it would be technically, practically, or economically impossible to migrate functionality off the mainframe. It is never technical or pratical reasons, always economic reasons. To use contemporary vocabulary, you "just" need to replicate a "multi tenant HA cloud environment" to migrate from a mainframe at great cost. > And now we are in a situation where their long held beliefs have become true because nobody is around that understands how or why the software works the way it does. Statistically unlikely, most of the business software that goes onto said mainframe is in fact very simple and straightforward and can be easly ported out, however, the real deal is all the integration and high availability logic built-in into "the mainframe platform". You're not porting that out without replicating said "multi tenant HA cloud environment" at great cost.
- ojhughes 3y agoI'm not sure how much water the multi tenant HA argument holds, these institutions are already doing that on AWS / Azure / k8s for the more modern apps. Rewriting all the old crusty COBOL code might be a different story.
- redandblack 3y agoUsed to be great for vector processing for numerical analysis, although not sure anymore
- js8 3y agoSince z13 vector instructions are supported again. But I doubt anybody uses them.
- edelsohn 3y agoThe original vector facility is gone, but the Z Vector Extension (VX) is utilized by AI/ML software, such as NumPy, OpenBLAS, etc.
- rbanffy 3y agoAnd the bulk of the Telum processor is an inference engine, in essence a very large vector processor (although one tailored for AI inference workloads).
- hinkley 3y agoMost of this Cloud technology we like to go all atwitter about is a retread or a redesign of software that's been on mainframes for thirty years. The old farts must laugh themselves silly looking at us acting like we discovered a large white object orbiting the earth.
- vyrotek 3y agoCan confirm. My old father who works on these mainframes laughs every time.
- queuebert 3y agoI posit that most tech companies make money by poorly recreating old technologies for use by younger people ignorant of the old ones. E.g. how many variants of IRC have we had now? Usenet? VMs?
- hinkley 3y agoI think we need history classes in programming, and possibly comparative literature classes but for code.
- jjav 3y agoI've long been a proponent of computing history as required part of CS. Progress is supposed to work by standing on the shoulder of giants. But that only works if engineers are aware of what came before, how it worked, what was good and bad about it. In the software world the same things are continuously being reinvented but the lessons of the past are not integrated because the inventors have no knowledge of the past 10 times the same thing was done. So every lesson has to be learned anew in production. That's not progress.
- ancantus 3y agoSome places have them. I took an elective class at university which focused on open source philosophy & licenses. Read and discussed a bunch of papers written by the guys involved in the early open source movement. Stopped short of code review though: which would have been a nice addition. A very very good paper, and one that was clearly a passion project for the prof.
- bob1029 3y agoI've always looked at IBM like an even more extreme version of Microsoft. I'd probably have us on their path if the cost and knowledge weren't a massive barrier to entry. I know IBM has some cloud thing for us baby startups, but I sure as hell can't figure out how to use it or if our customers are even aware of it. Vertical integration of the business into one magic box is a perpetual dream of mine. Bonus points if I can yell at exactly one vendor if anything goes wrong.
- rbanffy 3y agoI have tried numerous times to get a z/OS LPAR and an AIX VM without any luck. It's a complete mystery to me.
- neverartful 3y agoIBM probably doesn't make mainframe LPARs available over the internet because the cost of the LPAR would be cost prohibitive to any potential customer. On the other hand, a z/VM guest or an LPAR on POWER should absolutely be an option.
- rbanffy 3y agoThey do. A z/OS with a single CPU and 4GB of RAM costs around $2000/month. It's a bit of a hassle, as you need to connect to its VPN and will need to add a public network gateway for your machine to see the world, but that's it. It could, of course, be just a tiny slice of z/OS running under a larger LPAR, but IIRC, LPARs can get really small. You can go as far as 16 vCPUs and 128GB of RAM for roughly $30K/month. Last time I tried I had issues with the VPN and couldn't connect to it. I'll try again later. Another good thing about IBM cloud is that they embrace Terraform and you can download templates for just about everything they offer.
- gumby 3y ago> Going back to the hardware that everyone likes to focus on, it's less radically different from normal servers today than it was historically. The mainframe today is a 19 inch rack like any other. The Main Frame of yore was ... one of the 19 inch racks the computer was made out of (the main one, typically with the ALU and registers in it). And those racks were used because that was how phone systems were built (phone systems had a lot more repeated / regular structure than something like a computer, though of course everything has converged). The "frame" nomenclature came from the phone system too. So "normal servers today" got the rack from the mainframe, the mainframe didn't adopt it because of how datacenters were built. All the familiar stuff (raised floors, chillers, backup power, fire suppression, controlled access doors and so on) come from the mainframe world.
- electroly 3y agoThe granddaddy of mainframes, System/360, was never in 19" racks. IBM first introduced the use of 19" racks in their midrange lines. What we currently call IBM z didn't adopt standard racks until the 21st century.
- rbanffy 3y agoI find 19" racks a bit too thin and tall. Definitely their 24" ones were the right proportions.
- reacharavindh 3y agoI think its hardware is what enables such reliable software. Hot plug CPUs, memory modules, and DASDs. All survive the failure scenario gracefully. Good luck trying to do that on a rack of x86 servers. I think as in most engineering things. They do a different trade-off and cater to a different niche while x86 servers are the mass market consumables that most workloads -should- be using. The mainframe CPUs go for the widest IO capabilities, insane cache sizes and hardware offload because that’s what their target audience(banks, insurance companies, airline ticket systems) need. Their parallel sysplex clustering solution is an engineering marvel but also tightly coupled to their hardware. In some ways, the IBM mainframe is the Apple of niche critical enterprise computing. They are also the ancestor of cloud computing in paving the way for “pay per use” cost models and multi tenancy.
- bombcar 3y agox86 just made it so the whole computer could drop out of the “cluster” which greatly simplifies the hardware design but the result is NOT a “virtual mainframe” as the software becomes exponentially more complicated if you want “all power”.
- rbanffy 3y agoIt is possible to move that complexity into the platform and outside the applications themselves. When I build a web application I don't need to do anything special about failovers, as long as I remember the local filesystem and state is fungible and it only is persisted when I persist it someplace else (that also employs the same safeguards). I liked to use Google's App Engine classic environment (the Python 2.7 one) as a good example. It really hammered down some good practices (such as keeping the filesystem read-only) and gracefully handling degraded modes such as a datastore that becomes read-only for no reason or the cache that's supposed to be there that just isn't. It was a great teaching tool.
- reacharavindh 3y agoIn a way, yes, swapping out entire computers are how one is expected to work with x86 machines. Ask anybody running a critical state full workload(Relational database with lots of writes for example) and they will tell you how nice it is to have a system so reliable to run their writes onto. Running a Postgres cluster or a Kafka cluster on a bunch of x86 machines sure gives you scale, but definitely brings the pain of handling availability scenarios for write consistency. Distributed locks and distributed data stores that use Raft/Paxos serve as a good reminder of how hard it is to achieve them. If IBM could do it at hardware level, some Enterprise customers are willing to loosen their rich wallets for that comfort.
- throwawaylinux 3y agoThe hardware is quite radically different. It's not the mechanical form factor or bulk electrical and cooling of it, but the silicon. The processor checkpoints state, and if an error is detected it can be rolled back and the checkpoint moved to another physical processor and re-started transparently to software. Stores are tracked all the way down to "RAID memory" (actually called RAIM), whereas in other CPUs they get punted off at the L1 cache. Practically every component and connection is redundant. There are stories of mainframe drawers being hauled to particle accelerators and the beam switched on while they're running. Quite amazing machines. Not to say that has more value than the software (I don't know one way or the other), but the hardware is no gimmick.