A few months ago I visited the IBM offices in Poughkeepsie to sync up with colleagues, record an episode of Terminal Talk, and let’s be honest, visit some mainframes. A lot of assembly still happens in Poughkeepsie, and they have a big client center with mainframes on display, including several inside a datacenter that they give tours of. I was able to see a z14 in operation, as well as several IBM LinuxONE machines. Getting to tour datacenters is a lot of fun, and even though I wouldn’t have meaningful technical interactions with them, there’s something about seeing these massive machines that I work with every day in person that brings me a lot of joy.
Now I have to go back! On September 12th, the newest mainframe was announced, the IBM z15 and accompanying Linux version, the IBM LinuxONE III. To celebrate, I joined my colleagues in the IBM Silicon Valley lab for a launch event watch party and, of course, cake.
I wrote a more in-depth article about the hardware of this machine for work here: Inside the LinuxONE III. The key thing about it is that we’ve gone from two versions of the LinuxONE (Rockhopper II and Emperor II), to just one, but one that fits inside a 19” rack space like the Rockhopper II did and is expandable to up to four frames.
The processors are 5.2Ghz each, and in a fully decked out configuration one of these 4-frame systems can have up to 190 processors and 40 TB of RAM. It’s a massively powerful machine. Add in on-chip crypto that we’ve come to know and love on the mainframe, you have a really impressive data processing powerhouse.
Now, I was brought on to the Z Ecosystem team because of my background with Linux, both in the Ubuntu community and broader experience with distributed systems, including OpenStack and Apache Mesos. That’s because these mainframes don’t just run z/OS. The LinuxONE series of machines, the first of which was released in 2015, are exclusively Linux. Last week I wrote an article over on OpenSource.com about How Linux came to the mainframe, where I talk about how this came to be. This morning the second part of that article was published, Linux on the mainframe: Then and now, where I explore the formal entrance of major distributions into supporting the mainframe architecture. Ubuntu joined that fold with an announcement in 2016 that Ubuntu 16.04 had support for the mainframe (s390x architecture). Today, Ubuntu boasts the most s390x packages of all the officially supported distributions.
All recent release of Ubuntu have supported s390x, so while they recommend the LTS releases, you can happily use Ubuntu 19.04 today to get the latest packages, and there are even more improvements in store for Ubuntu 19.10 coming out next month. When I chatted with Frank Heimes, who runs the Ubuntu on Big Iron blog (which you should totally check out!), he highlighted the following this for me with regard to Ubuntu support:
- Special emphasis is put on kernel, KVM, hardware counters and security, allowing one to make use of z15 and LinuxONE III faster and enlarged number of processors with new CPU capabilities, facilities and larger caches, increased memory and IO throughput
- Support for hardware cryptography, which he talks about in this blog post and the associated whitepaper: Hardware cryptography with Ubuntu Server on IBM Z and LinuxONE
- Support for deployments on LPAR, z/VM, KVM, LXD, Docker and kubernetes (CDK), with installation media available as ISO, Cloud or container images.
It was also interesting for me to learn that their MAAS KVM product has been built for s390x, which I’ll point you to the Ubuntu on Big Iron blog for again, for one of Frank’s posts this month on the topic: MAAS KVM on s390x: Cross-LPAR walk-through. There have also been collaborations in the works to create proof of concepts around security, including Digital Asset Custody Services (DACS), which you can explore in more detail in this article from August: Digital Asset Custody Services (DACS) aims to disrupt the digital assets market with a secured custody platform.
For Ubuntu, s390x isn’t just another checkbox architecture that’s being supported. Just like the other officially supported distributions, there are whole teams within Canonical who are spending time making thoughtful and innovative solutions that specifically target the power of the mainframe. The following is their Design Philosophy for Ubuntu Server on IBM Z and LinuxONE, via Frank’s Ubuntu Server for IBM Z and LinuxONE slide deck (4.2M PDF):
- Expand Ubuntu’s ease of use to the s390x architecture (IBM Z and LinuxONE)
- Unlock new workloads, especially in the Open Source, Cloud and Container space
- Consequentially tap into new client bases
- Exploit new features and components faster – in two ways:
-
- hardware: zEC12/zBC12 and newer
- software: latest kernels, compilers and optimized libraries
-
- Provide parity with other architectures
- Release parity
- Feature parity
- Uniform user experience
- Close potential gaps
Of course we don’t have mainframes in our garages (even as an IBM employee, I’ve asked!). So as developers, our access is somewhat limited. However, that doesn’t mean you can’t build your Ubuntu .deb or snap for s390x! As I wrote about back in June, you can build your PPA for s390x with the clicking of a simple checkbox in the Launchpad UI for PPAs.
Similarly, you can also build snaps for the s390x architecture. These build systems reside on a mainframe that Canonical hosts in their datacenter, so you don’t even need access to a mainframe yourself to build for it.
But if you want to be extra sure your application runs on s390x, IBM has made a LinuxONE Community Cloud which gives users a VM running on a mainframe in New York for 120 days! You can try out your application on one of those, and then be confident it works when you submit it to the PPA or snap build system. Unfortunately the only options right now for OS are SLES and RHEL, but Ubuntu support is in the works. Beyond this cloud, we’re also working to get an open source developer cloud launched, but in the meantime you can reach out to me directly (lyz@ibm.com) if you’re interested in some longer-lived VMs for your open source project, or generally want to talk about how you can get more VMs for testing, CI systems, and more.
If you had asked me a year ago to talk about mainframes, I would not have had much to say, but I’m really excited to be part of this story now. The machines themselves are impressive, the efforts that distributions like Ubuntu are putting into them is quite exceptional, and it’s really fun learning about a new architecture. And speaking of other architectures, s390x isn’t the only architecture Canonical works with IBM to provide support for. As noted on the Ubuntu on IBM partner page (which is worth checking out anyway), you’ll see there’s a lot of work being put in around POWER too.