Skip to main content

Why have mainframes as a hobby?

My earlier blog article named Buying an IBM mainframe did get way more exposure than I could have hoped for, thanks to everyone that read it! The discussions on various forums did naturally evoke some interesting questions. Mostly they are "Why?" in various shapes or forms. It is a totally understandable reaction, and thus I want to present some of the things that I am excited about having mainframes as a hobby.

I present to you: the follow up questions on the statement "I bought an IBM mainframe".

Why? I thought mainframes were dead

First of all, they are not. If you are buying a new mainframe today you will get a beast in terms of performance and especially I/O capability. There is no server platform that compare to my knowledge in pure numbers if you do not include cost. Of course, you would care deeply about cost in any real-life situation but the point is to dispel the notion that mainframes are antiquated technology wise.

Even my 8 year old z114 can run with 120 GiB of redundant RAM, and it is the physically smallest mainframe you could get.

I highly recommend people that are new to mainframes to take 6 minutes to watch this clip by Linus Tech Tips explaining what a mainframe really is. It is great and really approachable even if you have no prior knowledge of these terms.

After watching this you might just have a different view of what mainframes are and what problems they solve. Just like we have machine learning accelerators, or Bitcoin miners, we have mainframes as a solution to solve transactions and I/O problems.

A brief note on the software side: z/OS is the flagship OS that IBM sells with their mainframes, and it is built to use all these hardware features of the mainframe. This means that the software you run on mainframes are built quite differently from how conventional distributed systems are built on PC servers. Given that the hardware is so reliable, and the OS is built to handle reliability, having to build in complicated distributed systems logic in your software is not really that important anymore - and as any experienced programmer will tell you when it comes to writing software: simpler is better.

Why? What are you going to do with it?

This is the simplest thing to answer: anything I feel like :-). 

Long answer: It is like when somebody buys their first server. They might have a plan to build a particular service, and they even might do just that, but sooner or later something else comes along and that server is now re-purposed into running some other service. So even if I do have a quite long laundry lists of projects I want to do with my mainframe, I do not know definitely which projects will be done or which new ones will be born as I go along.

Why? It seems expensive

Maybe. It is certainly a lot of money, so it does fit the definition of expensive - but I do think the system is worth the money, and here is why.

Over the last decade information has become more and more accessible to an incredible point. There are some many video courses, or even teachers that offer 1:1 courses where-ever you may be. It is easy to forget that some things cannot be acquired like that.

I have another expensive hobby which is flying airplanes. That is a money sink if there ever was one, and I spent way more money on that hobby than I have on this mainframe project. This is interesting as I do not even fly a lot compared to pilots e.g. in the US. Flying requires a lot of theoretical knowledge, but you cannot get your license without actually flying an airplane. You cannot get a CCIE without logging into a switch, and you cannot learn a new language without speaking it.

Mainframes are like that as well. There is not a particular single thing that makes mainframes so interesting. You can run COBOL on Linux if you want, and IBM could sell you z/OS in an emulator if they wanted. The interesting thing about mainframes is the full platform. From reliable hardware to OSes that have been taught how to use the reliability features of the platform. To learn about this ecosystem you need to study the theoretical but also be hands-on and feel how things work together.

Finally, there are courses that do teach you these skills - companies are probably quite heavy users of these to train new mainframe engineers - but they tend to run you $10,000 per course. In that light, the price I paid for the z114 is not that extreme.

It is still a lot of money though, but living in Switzerland I do not need a car so I tell myself it is from that fund ;-).

Why? Can't you just emulate it?

I touched on this a bit in the previous section. You can definitely emulate the S/390 architecture. Hercules is an amazing emulator for doing just that. However the mainframe is so much more than the CPU and the memory.

Mainframes for example have these things called Support Elements which more or less is how you configure them, set up hardware virtualization partitions (called LPARs), configure workload scheduling, and set up what PCIe card belongs to where. Emulating the CPU of the mainframe would not expose you to any of those very crucial tasks.

Now, if you do wish to get started on operating mainframes I do recommend using Hercules and downloading MVS 3.8j which is all free and legal. I would also recommend you to check out IBM's Master the mainframe.

If you do get hooked, you will likely soon find yourself asking the same questions as I did: "How does this work?". You might even end up finding that just having access to an emulated system console is just not scratching that itch and there are more questions you want answered. In that case, you have the same itch that I had.

What about the power bill and environmental impact?

Thanks to @iwangulenko I got put in touch with the hosting company ungleich in my current place of residence - Switzerland. Ungleich has a project called Data Center Light where they run their data centers from old industrial facilities that were once built with hydro power. This means that they can offer cheap space and good clean power. Being in Switzerland this means I can jump onto a train and end up 50 m from the entrance door to the data center within two hours.

By the way, they host other things than mainframes ;-). Consider them for your next hosting, they have been really nice to work with.

Closing words

I selfishly find that writing down answers to questions like this provides me with a much better forum to explain how I think about the matters at hand, which is mostly why I wrote this post. I am however quite comfortable to have discussions about these things IRL or e.g. over social media. I am very much a learning newbie on mainframes but having discussions around various topics is a great way to learn about gaps in your own understanding, so I whole-heartily welcome it.

I hope this put some light on why I think there are values to be learned from the mainframe, and why at least I am happy to invest a quite significant part of my free time learning and experimenting with technologies around it.

Thanks for reading!


Popular posts from this blog

Buying an IBM Mainframe

I bought an IBM mainframe for personal use. I am doing this for learning and figuring out how it works. If you are curious about what goes into this process, I hope this post will interest you. I am not the first one by far to do something like this. There are some people on the internet that I know have their own personal mainframes, and I have drawn inspiration from each and every one of them. You should follow them if you are interested in these things: @connorkrukosky @sebastian_wind @faultywarrior @kevinbowling1 This post is about buying an IBM z114 mainframe (picture 1) but should translate well to any of the IBM mainframes from z9 to z14. Picture 1: An IBM z114 mainframe in all its glory Source: IBM What to expect of the process Buying a mainframe takes time. I never spent so much time on a purchase before. In fact - I purchased my first apartment with probably less planning and research. Compared to buying an apartment you have no guard rails. You are left

Brocade Fabric OS downloads

Fabric OS is what runs on the SAN switches I will be using for the mainframe. It has a bit of annoying upgrade path as the guldmyr blog can attest to. TL;DR is that you need to do minor upgrades (6.3 -> 6.4 -> 7.0 -> ... > 7.4) which requires you to get all  Fabric OS images for those versions. Not always easy. So, let's make it a bit easier. Hopefully this will not end up with the links being taken down, but at least it helped somebody I hope. These downloads worked for me and are hash-verified when I could find a hash to verify against. Use at your own risk etc. The URLs are: ftp://ftp.hp.c

System z on contemporary zLinux

IBM System z supports a handful of operating systems; z/VM, z/VSE, z/OS, z/TPF, and finally zLinux. All the earlier mentioned OSes are proprietary except for zLinux which is simply Linux with a fancy z in the name. zLinux is the term used to describe a Linux distribution compiled for S390 (31 bit) or S390X (64 bit). As we are talking about modern mainframes I will not be discussing S390, only S390X. There is a comfortable amount of distributions that support S390X - more or less all of the popular distributions do. In this  list  we find distributions like Debian, Ubuntu, Gentoo, Fedora, and RHEL. Noticeably Arch is missing but then again they only have an official port for x86-64. This is great - this means that we could download the latest Ubuntu, boot the DVD, and be up and running in no time, right? Well, sadly no. The devil is, as always, in the details. When compiling high level code like C/C++/Go the compiler needs to select an instruction set to use for the compiled binar