In today’s episode of the “I Am A Mainframer” podcast, Steven Dickens sits down with Frank Himes Staff Engineer at Canonical and Technical Lead for Ubuntu Server on s390x. On this podcast, Frank discusses his journey with the mainframe, advice for those just starting their journey with the Mainframe, and where he sees the Mainframe going in the future.
Steven: Hello and welcome. My name is Steven Dickens, and you’re joining us on the, I Am A Mainframer podcast, brought to you by the Open Mainframe Project and Linux Foundation. A collaborative project focused on the mainframe. And we’ve got a fantastic episode ahead of us today. I’m joined by Frank Hymes, from Canonical. Hello, Frank.
Frank: Hello, Steve.
Steven: So Frank, let’s get orientated here. Tell the listeners a little bit about your background. What you do for Canonical, and also give us sort of a little potted history of your background, and how you came to Canonical and working on the platform.
Frank: Yeah, I’m happy to do so. So, first of all, let me quickly mention what Canonical is since not everybody knows that company. It’s the commercial company that backs and is behind the popular Ubuntu Linux distribution. And Canonical is not only supporting the Ubuntu Linux distro but is also developing lots of further open-source solutions and tools, like LXD, Juju, MAAS, Multipass, and so on. Since the beginning of 2016, I work for Canonical as a technical lead that takes care of the Ubuntu Server Linux distribution, when it comes to the s390x architecture. A few words about me. So, I once started my professional career at Siemens in Germany and worked there in the industry automation area. I programmed and developed industry-grade embedded solutions there. And then, after completing my degree, or my master’s in computer science, I moved over to IBM Germany R&D.
I had a very interesting job offer at the lab in Germany. So, the IBM lab in Boblingen, where I worked for about 15 years in the area of Linux. For the first half, I was part of the so-called Linux Integration Center, where I helped the product teams to get Linux bumped as a tier-one platform. And the second half of my career there, I worked at the STG, the Server and Technology Group, at the so-called, Z Advanced Technical Skills Team, where I worked of course on Linux on the mainframe, in general. And, at some point in time, a pretty innovative Linux distributor was looking for someone who takes care of their new server Linux distribution for s390x. And that is the next big thing I really want to do, hence I joined Canonical at the beginning of 2016. So, I’ve been working there now for more than five years and helped to get out about 10 different Linux and Ubuntu Linux distributions – three of them are long-term support.
Steven: So this is good for me, Frank. And I’ll tell you why. I’m a Linux guy on this platform. I’m a mainframe, and I’m obviously proud to be so. But I’m also the Linux guy, so it’s nice to have a Linux guy on the show. I get so many guests and they’re fantastic, but it’s nice to have a Linux guest. So, give me that view, if you don’t mind, from a Canonical perspective onto the mainframe platform. Obviously, you started your career on Linux on the mainframe at IBM, but you’ve been there almost five years now with Ubuntu. How’s the mainframe perceived by the Canonical team? I’d be interested to get that sort of neutral opinion of the mainframe platform.
Frank: Yeah. It was quite interesting. Because at the beginning, everybody was a little bit reluctant of this new big server system where nobody knows how it works. I wouldn’t say it’s difficult, but people used to work on systems that they know. There weren’t many people that knew mainframes and Linux on the mainframe. But interestingly, in Canonical, the engineers work across platforms. So, we don’t have a big dedicated s390x team. Just a few people that are really dedicated to s390x. But in general, every engineer may work on packages, and problems, and solutions across the architectures, right!? And therefore we have a pretty big cloud, local cloud implementation where every engineer can get a sandbox system and use it for packaging, testing, development, and whatsoever.
Steven: It’s really interesting that you mentioned that. I’m kind of… Maybe I’ll double-click on it a little bit. That sort of CI/CD kind of pipeline approach for bringing to market work when you’re doing it sort of cross-architecture. So, it’s always been interesting to me how Linux distribution vendors like yourselves kind of do that multi-architecture support from development within Canonical. So, not what a customer deploys, but kind of, you take some code from open source. You’ve then got to test it across various platforms. Maybe you can just expand because it’s an interesting topic for me and maybe an interesting topic for the listeners.
Frank: Yeah, absolutely. So, it means, we have quite some cross-architectural experiences even before we started with s390x. We supported about, I think, six different architectures, s390x was the seventh. And so, we had our tooling already up and running for cross-architectural tasks. And one of our main tools is Launchpad. You probably have heard about it. And that’s where we have almost all of our source code. And every time someone patches or modifies a package, it is built natively on the target platform. It means on all the architectures we support, starting from AMD64. And, of course, including the s390x, as well. And after the builds are usually the so-called auto package tests are executed, as well. And even private people or companies can create their own archive at the Launchpad pages. The so-called PPA archive and do their cross built, as well. So, I think with that and with these options, we really have cross-platform development, even beyond Canonical.
Steven: It’s really interesting. I think what I’m taking away from that is you don’t look at s390x and the mainframe as a special platform. You just look at it as something you build for an early part in your CI/CD pipeline. Would that be a fair statement?
Frank: Well, somehow. Of course-
Steven: And that’s why I asked the question, Frank because I knew there was maybe some more detail behind it.
Frank: Yeah. So, we have a couple of mainframe people that have a strong focus on the mainframe and that is needed from time to time. For example, when it comes to boot loaders, the boot loader is different on an IBM Z system. You know that we use ZIPL instead of GRUB. So, in these particular cases, it is kind of an expert’s work in that area. But nevertheless, when it comes to some of the 25,000 different cross-platform packages that we have in our archive, then the architecture doesn’t really matter that much.
Steven: So, I mean, it’s really interesting because I’m on a bit of a campaign around the use of the word, ‘Z’ <ZED> Linux. And the reason why I’m against the term is that it gives the impression that it’s a different type of Linux. It’s a mainframe variant of Linux. And it’s really interesting hearing you describe how Canonical develops your packages and develops. And I’m not hearing that there is a set variant of Linux. It’s just Ubuntu.
Frank: Yeah. And that’s one strong piece in our Ubuntu philosophy. So, we really want to have Ubuntu the same across all platforms. And the systems we use in Canonical internally, are based, or let’s say included, in a very huge OpenStack cloud. And this OpenStack system or environment has all the platforms adapted and assigned to it. Every engineer can just grab an instance of an s390 system or an instance of a power system, or whatsoever. Remotely logging in and the system is there, running a cloud image. So, nobody really sees at the very beginning that this is an s390x system.
Steven: That’s really interesting. You mentioned the keyword there a couple of times. You mentioned cloud. I think clients are increasingly looking to build out a private cloud, and they want that type of portability that you’ve described. If it’s a containerized workload, multi-architecture, move that container around, decide where I want to deploy it. Maybe just… We talked about the development side there maybe, sort of pivot now to how a client would deploy that multi-architecture approach. I know Canonical has got some good strong offerings in that space. So, maybe just… Maybe the problem statement is that I want to build x86 and Linux on Zed, private cloud. How would I do that with those Canonical tools?
Frank: Yeah. We have a pretty huge and successful OpenStack team and they implement dozens of clouds per year for various customers. We’re pretty strong, for example, in the telco area. And in combination with IBM Z, it is pretty important to find the right way to do it, because it doesn’t make sense to really force everything and have everything running on IBM Z. For example, our control plane is not running on IBM Z, so that’s just a bunch of AMD systems. But, of course, the compute nodes are running on all the target platforms. And I think, if you really want to have a cost-effective solution and environment, this is what you really have to have in mind!
Steven: Leverage the said platform for what it is good for. Leverage AMD and Intel for what they’re good for, basically.
Frank: Exactly. So, if it comes to runtime, reliability, and availability, then the Z platform is perfect. But if you have systems that are not super urgently needed, well, they may end up on a different architecture.
Steven: You mentioned OpenStack a couple of times, there’s obviously a lot going on in the Kubernetes space, as well. What’s the kind of Canonical opinion there? What’s your point of view?
Frank: Yeah. We are also very strong in the Kubernetes space, and we have two different Kubernetes. We call them kinds of distributions. We don’t modify anything in Kubernetes. So, we just take Kubernetes as it comes upstream from Google and just helps to easily be able to deploy it. So we just create a distribution out of it. And one of these distributions is called CDK, Charmed Distribution of Kubernetes. And that can be easily installed, managed, and also updated, which is pretty important based on a tool that we call Juju. This is not limited to Canonical.
We do all our solution installations and solution management based on Juju, even the OpenStack installations, by the way. And CDK is a pretty big installation where you can decide where the different components should run on, so you can spread them across different systems. But if you want to have an easy start, then we have something that is called MicroK8s. And that is a Kubernetes solution that allows you to run on one single system and you will be able to get it up and running in a really short amount of time. We don’t have it yet for IBM Z. But if you want to start with MicroK8s <available know as a snap from the ‘edge’ channel>, then the CDK.
Steven: So, where are you seeing clients on that journey? I mean, a client’s sort of going full production mode now with where they are with Kubernetes. Where are you seeing clients on their evolution?
Frank: Well, I’m not in the customer-facing area, to be honest. But from time to time, I’m pulled into discussions in customer calls. And I see a lot and a strong interest in Kubernetes. So, that seems to be ‘the next big thing’. It is already the next big thing, to be honest. But it is very new for lots of customers. And therefore, I think the approach we take to help them too easily or to get an easy start with it, is really crucial these days. And therefore, we also have a couple of offerings, boot stack offerings where we really go through things with the customers. I know that some customers, for example, in the retail space already use Kubernetes in production, but I don’t have an idea what the real ratio or coverage is there.
Steven: Okay. I’m trying to think here where our listeners are going to be most interested. I think they’re going to be really interested too… There’s obviously a number of different distributions out there. The SUSEs, the Red Hats. We’ve got all the members of the open mainframe project. Where would you see a sort of Canonical space in the community? Where would you want to sort of plant a flag if you would, and say, “This is what Canonical should be famous for.”
Frank: Well, let’s go again with the two examples, OpenStack and Kubernetes. So with OpenStack, I think we really are the only ones who still offer (upstream) OpenStack on IBM Z, for Linux on IBM Z. SUSE recently withdrew their offering. And I think Red Hat is now thinking about it again, right? So, we are really strong in OpenStack. And regarding Kubernetes, we follow a different approach than other Linux distributors, for example. There are customers out there that want to have a closed commercial solution and want to get support from one hand. And that’s probably what Red Hat is offering right now. But there’s a different set of customers that would really love to take things, how they are upstream – and want to be very close to upstream. And that’s where we come into the play, as I just mentioned. So, we really don’t do forks or whatsoever. We take the upstream Kubernetes and just package it in a really nicely consumable way. And that’s what our customers want and are looking for.
Steven: So, would I be right if there’s a continuum between developer and operations more towards that developer side, and other distros and more in that kind of operation side? Would that be a fair statement?
Frank: Yeah. You could say that. I mean, a lot of our customers came to us due to the fact that their developers started to use Ubuntu. And then, they got familiar with it. They were happy with it. And then, things moved from the developer workstation into the production environment. So, that’s really a kind of fair statement – I think.
Steven: So Frank, give me a view of what the sort of next few months look like from an Ubuntu point of view on the platform. Are there any sort of big things we should be aware of, or maybe things that have got announced in the last couple of months that maybe people have missed or haven’t seen? I suppose, what’s new from a Canonical point of view on the platform?
Frank: Yeah. So, our last very big step was in April last year. The release of our latest LTS version. LTS stands for long-term support. It was Ubuntu 20.04. And over time, we update that release and we have so-called ‘point releases’. And we just reached 20.04.2 with an additional alternative kernel. So, it now ships, not only the 5.4 kernel but also the 5.8 hardware-enablement (hwe) kernel. And with that release, I think we were the first distribution that officially supported a secure execution, for example. So, this is a really nice feature of it. And starting with 20.04, we also changed our installer of the Ubuntu Server distribution. So, we have a Desktop Ubuntu version, as well as an Ubuntu Server version. And the installer for the server distribution changed significantly.
And this is a really nice experience now if you do an installation based on that one. That’s also very fantastic. Another really exciting thing is we want to make it really simple to exploit Z-specific features. For example, crypto, or compression, and things like that. For example, if you want to exploit hardware compression with Ubuntu on Z, you just have to type three commands and it would take you 30 seconds, and then you have kind of full-blown support for all the crypto stuff in case, of course only if you have the features in your system and a CryptoExpress adapter installed and ready to use. What we recently added to that is also the compression support. And for compression, you do not need to do anything if your system, for example, z15 <and LinuxONE III> supports compression, it will be used out of the box. And that’s really great and helps to exploit the hw and allows to make the most out of the system. So, I think these are some of the really great and nice features I’m proud of.
Steven: That comes across, Frank. That comes across. And I mean, I think I’m always impressed with Canonical on the… It does not just support, it’s exploitation, I think. You’re fully exploiting the platform and its capabilities.
Frank: Yes, that’s right. And therefore, we recently also bumped the minimal architectural level set to z13. Usually, you can’t go with the very latest Z generation and compile exclusively for that because you will lose too many customers, and we started with a level set for EC12. We bumped that to z13, which also gives us a lot of new features, vector instructions, that can now be exploited in all the regular components and libraries, and so on.
Steven: As I say, I’m geeking out here because I’m a Linux girl on the platform. So, maybe I think I should go back to being a host. And instead of just having a conversation with you and moving the discussion through a little bit here. So, Frank, we’ve got a lot of the younger listeners on the show.
Steven: We’ve got a lot of younger listeners on the show, Frank, and they are really interested in how people build a career on this platform. So, one of the questions I ask of all the guests is: you’ve got a time machine, you’ve got the ability to go back to your sort of 21, 22-year old self and give yourself some advice. What would that advice be?
Frank: Well, that advice would be… Look for something you really want to do, because if you do what you like doing, then everything will be fine. And …
Steven: Maybe sort of giving me an example of what you mean by that? That’s great advice, but maybe just expand on that a little, Frank, and just to help the younger listeners kind of, what do you mean. Is that a technology you’re passionate about? A company you’re passionate about? Maybe just add a bit of color commentary.
Frank: Yeah, it is a little bit of all of that. I mean, you really should be keen to work for a certain company. For example, I love to work for IBM. It’s a great company with lots of different possibilities there. But I also love now to work for Canonical. The work is totally different, I have to admit because Canonical is compared to IBM, a small company, but nevertheless, really bright people and everybody is really passionate about the work. And therefore, it’s great to be there and to work with colleagues here. There are people that go to work just to earn some money. And there are people that go to work because they are excited about what they do. And that’s what I meant. So, if you are excited about what you do during your day shift, then everything will be fine, I’m pretty sure. And it will not be a waste of time.
Steven: So, one of the others, and that’s fantastic… I think the short summary is that if you enjoy what you do for work, you will never work a day in your life. You enjoy what you’re doing. And, I love to be able to do this show, the fact that I can claim this as work. It’s fantastic. I get to interview great people. So, I understand what you mean. One of the sort of final questions I always ask the guests is, you’ve just given me back your time machine. And now I will give you a crystal ball. You get to look ahead. Do you get to look out three to five years, kind of where do you see the mainframe platform three to five years out from today?
Frank: Yeah, I think that, for example, the current situation with a pandemic we face across the world, the mainframe can really change things because customers needed to close their branches and locations, and they didn’t have enough capacity on the systems, and that is perfect for mainframe where you can increase capacity kind of on a fingertip or on-demand. And I think, I hope at least, more and more people will see that. And over time, I’m also pretty sure that they use and the usability of the mainframe will further improve. I mean, it is already good. I recently was able to work on a DPM system, which is fun!
The hardware management console now has a new mode. Well, not new, it’s already a couple of years old, but that is so nice and so great to work with. And if people really get an idea how a modern mainframe really looks like, then I’m sure it will have a great future. And also, we at Canonical, working on a couple of projects right now to make the usability even better. And we are going to support some more of our tools to Ubuntu and s390x. It’s just a matter of closing the remaining gaps where we weren’t able to complete. I think it will have a great future.
Steven: Yeah, I think… Well, I can’t think of a much better way to end the show here. But Frank, just give you maybe one final opportunity. Anything else you want to share with the listeners before we look to wrap up?
Frank: Yeah. You mentioned what a young person or how younger people could start with. And it immediately came to my mind that the open mainframe project would also be a nice starter because there are very often student groups or projects. And via these activities, I got in touch with a couple of students from across the world that was interested in OMP projects, but also came to Canonical and had questions on Ubuntu by coming from that side. So, that would also be a very good starter in mainframe technology, as well as Linux technology in general.
Steven: Fantastic. Well, Frank, this has been excellent for me, at least. I hope our listeners also share my enthusiasm. It’s been great having you on the show. Thank you very much for joining us.
Frank: Yeah. You’re absolutely welcome. It’s been a pleasure for me to be here.
Steven: You’ve been listening to Steven Dickens. I’m your host of the, I Am A Mainframer podcast. If you’ve liked what you’ve heard today, please click and subscribe. If you could also share a couple of seconds and give us a five-star rating on the various podcast platforms, that would be fantastic. And I look forward to speaking to you again on an upcoming I Am A Mainframer podcast. Thanks very much.