 Hello everybody. So thank you for coming. I'm here to talk to you a little bit about the mainframe and how we've been working for several decades on open source and Linux on the mainframe. Specifically I'm going to hone in on the past 20 years and that's pretty much when Linux started on the mainframe. So a little bit about my background. Some of you may know me from some of my past work in the open source world. I've worked on Debian and Ubuntu. That's kind of where I started. And then about eight years ago I started working on the OpenStack project. I was a member of the infrastructure team there. Before I joined IBM I was working on Apache Mesos and then later in in that I started getting into Kubernetes. So if you see a pattern here I've been working on Linux distributions and distributed systems. Almost all cloud based and my actual day job in most of these roles was as a Linux systems administrator. So I was managing these tools and building these big infrastructures across cloud platforms. And now I work on mainframes which may seem like a very strange pivot for someone who spent their whole career working in cloud and distributed systems. But for me I was interested in a new challenge in my career. Cloud is cool and it was a lot of fun and I was really deep into the infrastructure stuff going to a lot of conferences and events and things. But I kind of had this old like hardware geeky love for alternative architectures from x86. So if you could see down next to me I have Spark Ultra 10 sitting here. I've got a Raspberry Pi on my desk. So I just have a fascination with this stuff. So when IBM came around and said hey you want to work on IBM Z I was like what's IBM Z? So IBM Z is a mainframe and I decided to come on board as a developer advocate to talk to people like myself who are involved in open source communities and come from a Linux and developer background. So that's me and that's how I ended up here. I want to let you know if you have any questions throughout this session I'm going to try to keep an eye on the Q&A. But this is the first time I've done like a Q&A and talk at the same time. So we'll see how that goes. If I can't keep up with them I'll just read them at the end. But feel free to ask questions if you have any as they come up. So the first question and the question I asked myself a year and a half ago was what is a mainframe? So I kind of had this 1960s picture in my head. A lot of the news articles you read about mainframes say they're obsolete. Having worked in distributed systems a lot of the customers we worked with were trying to modernize their infrastructure and for that they meant getting rid of the mainframe and moving everything to cloud services. And I watched a lot of those projects kind of end before they got rid of the mainframe and I didn't really think about that pattern much until I started this role where I really came to understand what they are and why it was so hard to get rid of them. But it turns out mainframes are actually quite modern. IBM releases a new version every two years historically like in the past recent history it's been every two years. So the Z15 was released in 2019 in September and we just released another version of that back in April of this year. So the latest mainframes are from this year and they're all got modern stuff inside. But what is it exactly? Before I joined I read this book What on Earth is a Mainframe? I think I had to buy it used because it's not around anymore but that was a super nice introduction. But basically it's a very data-centric machine. If you think about the first companies and organizations that needed a computer they were very focused on industries that needed to process data. Of course this is the 1960s they weren't making websites and they weren't really connecting people in any way. But if you look back in computing history the first computer ever built was for the U.S. census. So it's people who really need to handle data and so that is what the mainframe is focused around. You hear terms like batch processing and data sets a lot in the mainframe world. So what does it look like inside? This was like the first thing I did when I started when I joined. I asked everyone I'm like do you have pictures of what's inside? And they're like it doesn't matter. We never even see the mainframes anyway. We all just terminal into them and I was like I don't care I want to see what it looks like inside. So eventually I was pointed to some of some pictures. So this shows what the inside looks like. It's a little hard to find a color that looks shows up well on this so I'll just kind of explain. So there's a bunch of there's a bunch of power that powers this. They come in air-cooled and water-cooled versions and then these these IO drawers have all your IO cards. They do a variety of things some of them will do encryption some of them do actually connecting to your to your storage arrays and things and they handle different types of processing than the central processors do. So the CPC is the the central processor drawer. This is like a fully loaded machine so it's got five drawers and it's for like 19 inch racks width. So each one of these little segments of the four is 19 inches. They'll fit in like a standard rack space which is really nice because that's kind of a new thing with the mainframe. Used to be they kind of needed their special spot in the data center but now they just fit into standard spots. So it's got the gigabit switches and the support elements which is how you interact with the mainframe if you're using it like like you're actually at at the terminal using it. A very very important thing for this talk is that it's not x86. Depending on who you talk to the architecture is going to be called IBM Z or Z architecture. In the Linux world you'll often see S390X. So if you look at the binaries that are released S390X is what's going to be in the in the open source binaries just like AMD64 or ARM or whatnot. So it's S390X. That comes from because the first mainframe was an S360 and so that name has kind of followed it along because it's the same architecture. Slightly different bit number so it was 31 bits at one point now it's 64 bits. But inside a fully loaded mainframe these days comes with 190 processors. Those are 5.2 gighertz each and I actually didn't include the picture of the chip that included the caches but since this is all very data oriented the processors have really huge caches so they can handle processing a lot of data. There's 12 cores per chip and then on the machine you can have up to 40 terabytes of RAM which is a lot. I don't need to tell you that. I'll make these slides available later too but this link is one that I in our blog post I wrote when it came out in September about the new machines because I was like oh everyone needs to see the hardware pictures and I don't want them to have a hard time like I did to find them. You may have noticed I haven't mentioned storage at all and that's because the machines are really just giant processing machines with their IO cards and their memory and their CPUs. Storage is somewhere else so if you want like the best and most amazing storage you're going to buy the DS8900F that is six petabytes of storage on flash. It's probably really really expensive because it's kind of amazing but there's all kinds of storage systems and different companies make them but essentially you attach a storage between two mainframe because the mainframe does not have storage on its own and the mainframes these days run Linux and they have for over 20 years and this is the hook that got me in. The other thing that I thought of when I thought of mainframes was how closed and proprietary they are and that was not compelling to me because I am an open source person and I really love Linux and I've worked on it my whole life so my whole career so I haven't I wasn't really interested in the proprietary side of the mainframe but I started digging into the history and how it works so this is kind of just a basic picture of how Linux runs on it so in the mainframe world you have something called an LPAR which is a logical partition and that's it's you can kind of think of it as its own little computer because when you put an operating system on an LPAR it thinks it's all by itself it doesn't know about the rest of the machine it's like physically isolated so on an LPAR you can put on DOS which is the traditional operating system for the mainframe or you can run Linux directly on an LPAR but more commonly people will run Linux on top of a virtualization layer and the reason they do that is because it is a lot easier to manage that way so traditionally you have ZVM which I will talk about because it's super cool but one of the really exciting things for me is that you don't have to use ZVM you can also use KVM and yes I mean the open source project and what that means is you can use all of the libvert tools we have production installations where OpenStack is managing your Linux VMs on the mainframe because it just uses the libvert tooling so that's super cool ZVM is more feature rich and has a much much longer history so there's reasons to use ZVM but for me I was like awesome like KVM is cool so that's how it works but some of the history so in early days of computers they didn't have time sharing and time sharing is sort of like the grandfather of virtualization so if you look back in the papers that were published it was 1959 that the first time sharing paper was published to sort of flesh out the concept and then in 1961 there was a demo at MIT of CTSS which is the first time sharing system on an IBM 709. Skipping ahead a few years into 1972 this was the first release of VM like which is now ZVM so it was VM370 on an S370 mainframe this little teddy bear here is the logo for VM and one of the things that that's so fascinating about VM history is how community-driven it is. It was universities and companies all working together with IBM to develop this software and if you're interested in the history there's like a 20 page PDF written by Melinda Veridan who was there and knows all the history of the VM community and she talks about like all the pieces of software that were involved all the companies and some interesting stories about how this evolved because it turns out IBM was not fully on board with virtualization at first. These organizations and university were saying hey we need virtualization and IBM's like I don't think anyone needs VMs and so they sort of in in in the history that she wrote she calls this the doubtful decade because they did have VM370 it existed but there wasn't a lot of attention paid to it by IBM so there was a lot of community effort involved in making sure it was supported and making sure it was tested and even though it wasn't strictly open source the community around it from reading things it feels very much like an open source community to me. Thankfully it got over it in the 80s. IBM came around and they're like okay actually VM is a really cool technology and we want to support it and then and then some interesting things happen in the 90s. So traditionally the way you interacted with the mainframe was using I think it's a protocol called SNA which is like a proprietary protocol for machines talking to each other by IBM it's a systems network architecture but in 1994 experimental TCPI TCPI support was added and that was pretty instrumental to getting Linux to run in any meaningful way. I have a question right here let's see do you have any idea how the Marist College mainframe is used by open source projects is configured are all the instances on top of ZVM or KVM? So that's a great question so I'll I'll take you a little bit to the to the end of this talk here there is a mainframe at Marist College in New York that is available to open source projects so you can get a free VM you can add it to your CI system this question actually comes from Lance Albertson who works at the OSU open source lab and they have a CI system that runs on this mainframe. So the question is are the instances running on ZVM or KVM? They were running on ZVM when the machine was a Z13 but I believe when they migrated to the Z15 I think they switched over to KVM that was definitely the plan I'm not sure if that's actually what happened but that is what they had planned on doing so good question and gives you a sneak peek like you can get a free VM I'll tell you how so back to the history so the first Linux port for the mainframe was a community-driven effort it was called Bigfoot and there's a history of it online if you go to this website it looks like it's from 1995 because it is hasn't really been updated but and a lot of the links are dead so I had to go to the internet archive to find a bunch of stuff that was that was around but this was a fully community-driven effort and if you if you remember back to 1999 this was early days for the Linux world it's like when I first ever got Linux installed on a machine I think a friend installed it for me and was showing me around but this is the era where people were trying to just it was very hobbyist-driven people were trying to put Linux on everything there was an essay about how to run Linux on a dead badger and this is kind of the environment where this community came together and is like I wonder if we can run it on a mainframe and so there's this list on this website about why they went ahead and put it on the mainframe so first it was a stunt secondly to learn because they wanted to learn how to install an operating system that wasn't necessarily built for the mainframe because it's there because it's gnarly and those those four things are things that really resonate with me because like I am hardware geek and I love putting Linux on weird things so like if I'm honest like those are like the real reasons the community ported in beyond that you have like oh it's got really fast IO remember the data-drivenness of mainframes vm is a really cool technology there is technically a business model there and that's really what IBM latched on to but the first four that's what I'm all about because it's there why don't you put Linux on it Linux on everything uh and then IBM came around so in in speaking with people so I I did a couple of articles about the history of last last fall and a people from the mainframe community kind of came out of the woodwork and was like actually it turns out IBM was working on this while the community edition came out but when the community edition came out IBM was like oh we actually have to make this public now and talk to these people because we're actually working on this too so while the community edition was being worked on IBM was also thinking about Linux so on December 18th 1999 20 years ago last year the first patches were made and released by IBM for the 2213 kernel these were not mainlined in any way they were just patches that IBM said here put these on your Linux and it'll go and then there were formal product announcements in 2000 there were a few early companies that were involved in making their own little distributions and Marist college was already involved here they're the ones that run our community mainframes these days and then we get to the question so why is IBM involved here so there's this commercial from 2001 called heist there's the youtube link there you could just look up IBM heist and it's funny it was it was given to me by a colleague when I was asking him about history and he's like this is a hilarious commercial so it shows all these guys the guy this guy with security saying like where did all my computers go someone must have stolen them and at the end there's an it guy who says oh they're consolidated on this IBM e-server like that was the that was the big message is you can take all of your Linux boxes and consolidate them onto a machine and if you see this banner behind me that's actually one of the original Linux e-server banners my colleagues found it in a closet and said Liz would love that I was like yes Liz would love that so now it's in my home office so IBM was really behind this even as early as 2001 of course press got around to talking about it like hey Linux Linux is now everywhere it's even running on mainframes and so we've had 20 years to work on this so big things that are happening so networking was greatly improved upon in addition to just the tcpip stack you can communicate between main between vm's and in between between Linux alpars a storage has has been a huge thing since the storage is on a different machine and the communication with that is a lot of the proprietary connectors getting Linux attached to storage is kind of a big deal so there's like interfaces and everything that all work with Linux these days there's now a specific processor that's designed specifically for Linux in the mainframe and so these are called integrated facility for Linux processors ifls so when you buy a machine and you just want to run Linux you can get the ifl processors and big secret is that they're cheaper than the regular mainframe processors because you can't run zos on them or any of the traditional mainframe operating system that's just for Linux and open source became a really big deal which is what you're here to hear about we have a list of validated open source software that IBM maintains of stuff that we actually like stand behind and i'll i'll give to that in a few minutes so a couple things i want to talk about so one of the really cool things about using Linux on the mainframe is encryption so each processor the one i talked about earlier with the 12 cores they have a crypto co-processor and so if you're doing encryption work the encryption processing does not take away from the general processing you have on the machine so you can do as much pretty much as much crypto as you want you can use crypto in flight crypto on disk and it won't take away from your general processing stuff obviously this this has also been replicated on x86 and other platforms at this point but this is something that mainframe has had for a very long time and it's still crazy fast there's also a crypto express adapter which is one one of the things that's in your i o drawers and that is a hsm a hardware security module so you can put your your crypto keys on that and if anyone tampers with it like well it's they're not going to get to those keys it's like the highest rated hsm in the industry so the crypto stuff on these is pretty cool and how is that used in linux so i was a little worried it would be some like binary blob from ibm that you stick into your linux but it's not for encryption on disk it just uses dm crypt in the kernel it hooks into open ssl and libcrypto for all of your standard like ssl stuff if you're doing encryption in flight you're just going to use ipsec so it's all just the standard crypto stuff that we're already familiar with in in open source world the picture here on this slide is just a photo of the open ssl documentation for the mainframe and effectively what you do is you edit the config file that already comes with open ssl and you add in the s390x bits and suddenly you're using hardware crypto and i was like that's so cool like we've upstreamed all of this stuff it's all just in the open source package so now my ssh is using the hardware crypto awesome so i already mentioned ibm was pretty invested in this all the way back to 2001 but the really big thing that happened in 2015 was that ibm came out with the linux one the linux one is a mainframe that only runs linux so i mentioned those ifl processors that only run linux this machine only has ifl or yeah ifl processors and so it can't run anything else can only run linux so it's essentially a z15 which is the one that came out in september but it's got ifls so there was the linux one they used to name them after penguins they don't do that anymore which made me sad but we had the emperor and the raw copper funny story actually one of my colleagues says he always gets those confused he's glad we don't use the penguin names anymore because he's like how do you know which one's the big one and i'm like obviously because the emperor is the big penguin and the raw copper it's the little penguin and he's like Liz not everyone knows about penguins but so we had the the raw copper and the emperor and then that raw copper two and the emperor two and now it's called the linux one three so it's the third iteration of the linux one machines so the way you can tell from looking at one it's orange on the outside instead of blue but otherwise and it says linux one on one of the doors but otherwise they're pretty identical machines aside from the processors but my point here is like IBM was so serious about their investment in linux that they made a whole physical machine devoted just to linux and the brand linux one so uh some of the open source stuff so i mentioned it's not x86 in fact it's not little endian at all it's big endian so it's probably i think it's the only big endian processor out there anymore that's still actively used um and so it's uh it's a different architecture and and it's got some some weirdness with with memory stuff if people are trying to do clever things with memory on x86 um there's a question here the difference between the standard and the um the the ifl processors the difference is i i believe it is it is firmware related that means they can't run zos otherwise the processors are pretty much the same um they're the same speed and they can do the same things it's just the linux one cannot be used for the other stuff there's firmware in there that says it can't um so but open source right so in order for software to run on s390x on the main frame um it needs to be ported um so i have this open source software list again um and so this is like our like our pretty side of logos um there's actually like thousands and thousands of packages that have been ported um and when you run linux on it you're just running standard linux distributions the official ones are suze red hat and ubuntu but debion has an s390x port open suze has one fedora sentos has a version called clefos which is managed by a firm that does a lot of main framework um and they they actually have um the the apple repository um ported as well to some degree and what it means to have the distribution ported it doesn't mean every single package has been recompiled it means the company has done their best effort to port as much as much of the stuff they can as they can so that means they package it they build it for the the architecture and they see if it passes their tests um depending on on the package they may do additional tests on top of that and then there's a collaboration between the projects themselves some of them actually support um s390x upstream like kubernetes and releases s390x binaries and some of them are maintained by the distribution some of them are maintained by ibm with all of the changes being pushed upstream um when when they're going to be accepted um but there's tons of software so when i first got my first little vm um the first thing i installed was a text-based chat chat client so i could hop on irc and show all my friends the output of of of um proxy pu info because i was like hey i have a vm on a mainframe um and i can't imagine um irc the the chat client was was like a customer request what i suspect happened is they tried to compile it and it worked and then they shipped it like awesome like this doesn't need to be on the list it's not something we're gonna highlight um but it compiled fine and it works um and so there's a couple of things i want to call out specifically on this slide the first one i mentioned already is kubernetes so kubernetes has been running on s390x for very long time i was actually talking to the release manager and i asked him how that port came to be and he said i don't know it predates me so i was like okay that's it's been around for a while so kubernetes releases binaries um and you might have heard um ibm bought a linux company recently so uh open shift from red hat has become a huge part of part of my work um so open shift in february we released um open shift 4.2 um for z for the mainframe so you can now run an open shift on linux on z and we've been releasing um ever since i think we're on version 4.4 of open shift um for z and so that's that's pretty cool um and then of course ubuntu has has a kubernetes distribution the canonical distribution of kubernetes and open susie has uh what is it cubic i think which is their distribution so if you're running um open susie tumbleweed um you can use their like like re-spin of kubernetes um on z which has been compiled for um the other two things that are really interesting on this side for me docker the reason this is interesting is not because there's a port which i'll show you or not not that people make ports of it but that you can actually run docker on zos now so it's not just a linux side that we're talking about open source um there's something called uh container extensions which allow you to run docker containers inside of zos um and then another interesting one on here what one was i thinking ansible yes so you know ansible um it does orchestration can handle your linux machines um well a couple months ago um ibm teamed up with red hat to release ansible playbooks for zos so you can now run use ansible to control a bunch of the stuff on your zos side which is like awesome because now i'm like you're finally bringing your mainframe into like this this infrastructure that me is like a linux this admin's really familiar with um so those are just some of the things i'll talk about go lang in a few minutes too because that's that's a really interesting story uh so we have another question here uh so let's see when does a mainframe make sense um based on application such as hpc or collapsing many racks into a high capacity mainframe um so yes so when the mainframe makes the most sense is if you're doing a lot of data processing um what we like to say is if you're a company that's running a bunch of web front ends like web front ends are not really built for the mainframe you we're talking about like stateful services um that we want to run on them and in those cases um the mainframe is is really good you can consolidate a ton of x86 machines i mean like it depends on what your workload is that's like the ibm answer like it depends like how many linux machines can you put in the mainframe it depends on exactly what your workload is but you can i mean you can presumably collapse dozens of racks into a mainframe if you're doing a lot of data processing and data storage um and that's really where the power of them comes in even if you're running linux on them or zos or whatever you're running it's really if you're very data centric that's when the mainframe is going to make a lot of sense um if you're more about serving stuff and very customer folk like customer facing with like what what you're presenting um it may not make as much sense so we don't try to sell them to everyone because it's not going to make sense for like an app store startup right um and and it is not like really built for hpc workloads it is still like uh an enterprise level system so it's it doesn't have like the superpower of of a high performance computing system it's not a supercomputer um but the processors are fast and these are pretty sick machines um and then another question a beginner question if i open top do i really see 2000 cores no and that is because of the alpars because your alpar can be assigned a certain number of processors and as i mentioned like those are kind of like physically isolated and so you will only see the cores that are devoted to that alpar and then whether you're using it like an alpar with prism or an alpar on top of something like kvm or zvm you'll only see the cores that are that are devoted to you um if you use more of the standard like mainframe tooling um you can actually see at a deeper level but if you're on linux you're only going to see the the processors the ones that are that are given to you because essentially every operating system running on a mainframe is kind of virtualized so i threw something in there just a second ago prism and that that is that is like it's not white virtualization but it kind of is prism is what controls everything that's on the alpar and so you're still gonna have like some abstraction from exactly where the hardware is but there's like there's there's no penalty for using that um so that's is that i hope that answers your question it's still cool seeing the processor info though because you see like um there's different information i can i can show you later but it's um you can see the processor speed and the different architecture and other things that are interesting so uh i i briefly mentioned the verified software list um so this is maintained by a team at ibm um who upstreams all of the changes and writes documentation on how to build software um when it's not completely straightforward um so a few weeks ago i was giving a talk at an ibm event and i built mini cube on um a hyper protect server hyper protect is our product in ibm cloud that runs on the mainframe um and so i was able to run mini cube on an s3 and id xbox and show them a little bit of like demoing kubernetes um and so the the software list will show you like what support exists on rel and ubuntu and sles because those are our officially supported ones it'll tell you whether there's a docker image for it um typically these are hosted on docker hub um and so you can go through this list and sort of find things and see if what you're doing is like or what what your interest what software you're interested in is like something that we really support and like the ibm and the community stand by it um so i mean obviously this is just the first few things on the list and again this list is not comprehensive this is really just like what we've specifically focused on um but there's tons of other stuff that just works um mentioned docker hub um if you've ever poked around docker hub at all you'll notice one of the things you can search for on docker hub is by architecture so you can search by ibmc and there's there's a lot of stuff um there's like over a thousand images um that are up there built for s3 and idx um and then a couple of languages that are really good on the mainframe so one of them is java um java has been a mainstay of the open the the mainframe world for decades now like it's it's been around a long time so there's open source tooling that you can use for java and linux on z and uh there was this great blog post recently by trevor eddles it was like right before i had to turn in these slides and i'm like oh these are some great quotes um but it was talking about open source on the mainframe and he was very focused on zos um so he was talking about um using like maven plugins and and gradle and other things to hook into um uh something called kicks c i c s and that's part of like the traditional mainframe side of things and he's talking about like open source tools that you can use with the traditional mainframe stack um and then so that's java java stuff runs really well on the mainframe um and then that's actually an understatement like java runs crazy fast on a mainframe um and then go is an interesting one so go was ported to linux on the mainframe in 2016 like the first experimental support was put into it in ghost 1.7 and so that means go has been supported for a long time and like every single time i try to compile a go package on the mainframe it works like it it runs really well and it works really well um but the really cool thing i mean that's cool because like it's nice when things work um the other cool thing is that the uh the crypto aes package and go actually hooks into the hardware crypto of the mainframe so when you're using crypto aes um you can actually leverage the encryption on on the machine um and that's that's really nice because a lot of languages have crypto built into them um and if it's at a really high level it doesn't take advantage of that support in the in the hardware but that's like one of the big strengths of the mainframe so it's really nice that go can actually use it um sort of getting into the zos side of things for open source um one of the things a lot of my colleagues see who are like in the field working with customers um is they the the story for the mainframe these days is they keep their traditional zos system and they keep their cobalt and they it works great for them like it's really nice but they want a more modern front end um and so what they do is they have these integration layers so the mainframe does what it really what does does really well with the zos and processing data sets and doing batch workloads and the cobalt that was written in 1975 like it's all good it's fine um but they want to hook it into a modern front end so they'll use something like swagger to develop an api to point so that your your front end can now talk to the mainframe back end um the other cool thing is that um as of the 2014 standard of cobalt i think i think yeah it supports json now so if you point some json at your cobalt code cobalt will know what to do it knows how to parse json um so if you have a web app that outputs stuff in json like cobalt's like yeah no problem i got this um which cobalt whole different discussion too because they're working on the 2020 standard i think um it's all pretty new um so cobalt is actually a very live alive and being constantly developed language as well um but it's not really something you write a web app in so uh another cool thing so this is the open mainframe project um this is one of the things that made me join ibm in the role that i'm in um i of course again like i'm really open source person so i was i was interested to see the open source tooling that was available um and when i saw that there was a whole project under the linux foundation that was devoted to developing open source software on the mainframe i was like okay like they're actually serious about doing open source work um so they have several projects under under their roof um the really big one um that sort of like is like the crown jewel of their project is called zoe um actually my my colleague joe winchester did a talk about this two days ago at this summit so it was called uh well that's a long title how open mainframe project zoe is opening up the mainframe who says you can't teach an old dog new tricks so again this instead of being on the linux side this is on the zos side so what it's doing is it's taking the old system that also to be clear has been continually developed and always being modernized as well um but it adds like a really slick front end to it um and it's all all done in open source so i can show you um this is ispf um this is how you would traditionally interact with the mainframe um you log into an s 39 log into a 3270 terminal you get into ispf um and we actually have a a project the open uh master the mainframe which is a contest from september to december each year and so students can sign up for it we also have a learning system for all the rest of us but students can sign up for it and learn really basics of mainframe not the linux side that i've been talking about but like the zos side um and so you're presented with this menu and this is what i took a screenshot from because i was on the learning system the first thing has you do is reset your password and i messed that up so i had to reset my password through the bot in slack um but it's it's a ui that that like people who've been working on the mainframe for a long time where people who've gotten really familiar with this ui they love it like they can do things really fast in it um and they're very familiar with it and they never want to give it up um and i get that like as a linux sys admin like if you ever take away my terminal like i'm not working on the computer anymore it's no good so but for someone who's new to the mainframe um or someone who wants to learn the coolest new things in technology this is not the most appealing ui um so what zoe does is it um adds this api that allows you to build really cool stuff on top of it so this is a screenshot of the zoe web desktop and it has it's got kind of like a start menu on here and then it's got applications that you can launch um that allow you to do a bunch of stuff so it still has a 3270 terminal if you want to use that but it also has like explorers that allow you to like view different parts of the mainframe and this was really cool for me because i wanted this like holistic view of what's on the system because i really didn't understand what a mainframe was i didn't really understand batches or data set i mean at an abstract level but like in the mainframe world i didn't really understand a lot of that stuff when i was first learning so these graphical based explorers give you like a much better view and you can interact with it like in this way um so i wouldn't say the desktop is like the web desktop is like something you might use every day or when you become more sophisticated as a user but for learning um it's really it's really an interesting tool um there's also the cli and this is the one i'm really excited about because with the cli you just installed a zoe package on whatever machine you're on like your laptop or whatever x86 machine you're on and then you can run mainframe specific tasks using the zoe command line obviously you need to be connected to your mainframe and so you need to have access to that um and we don't just open them up to the whole world so your desktop has to be one of the privileged few who can attach to the mainframe um but what this allows you to do is is build all kinds of interesting things so the cli has been used to build a visual visual studio code extension so you can use bs code connected to your mainframe and like run things um so you can have a nice modern ide um but the really cool thing for me coming from like a cicd background is that you can also do like lots of automation and scripting and you can add things to your cicd pipeline um it actually came out too late to add to these slides but there was a an engineer from broadcom who just wrote a medium art medium dot com article about using circle ci to install the zoe cli and then run tests on the mainframe gather those results and then it's just part of their ci system and i'm like that's super cool because you didn't even need like circle ci didn't even need ibmz support it just used the zoe cli and x86 to do the call out to the actual mainframe that you already have so that's the cli and then the api the api as i mentioned that's like what makes all of this possible um so again if you want to go back and find joe winchester's talk about this on monday um he goes into much deeper um stuff about zoe because that's what his talk was about so open mainframe project they have other projects out there um i'll just i'll just highlight a couple of them one of them syntax highlighting um for for for zvm stuff another one's like anomaly detection engine for linux logs because one of the things that a lot of mainframeers have struggled with was like linux logs are like secretly stored somewhere on the linux and they don't know the linux so this this helps like bring the logs into a place where all the rest of the mainframe logs are and helps them figure out what's going on um some of these projects like um uh some of them are like more like mentorship programs um there's a new cobalt course um phalong is an interesting one um it's it creates a zvm cloud connector so i talked about using like something like open stack and kvm so this allows you can use open stack with zvm and allows you to use this cloud connector um and so that's that's been a thing um polycephaly is a really interesting one too because that allows you to zos with jenkins and git so you can use all of your traditional um like uh zos stuff but you can use a modern ci cd pipeline um another interesting one is zaro so this one is not like it's not really code but it is um os mf workflows um so that people can share like this open repository of of the way they do things um and then this year we added a few more projects that i don't have pictures of um so one of them is the cobalt programming course um that's one that ibm worked on with american river college and now there's like a bunch of other contributors because it's in github um so there's people developing for the programming course in cobalt there's an education working group and then the one that i'm working on is the software discovery tool and that allows you to search for open source projects um that that run on z it'll kind of replace the these verified software list that we have but it'll also search like all kinds of um software packages on all those distributions and then your own software you can build it for the mainframe um there's a few really easy ways to do it uh so um canonical has a service called launchpad and on launchpad when you upload your deb package to a ppa a personal package archive one of the options is you can like check a box and it'll build for s390x it's really that simple but i i wrote a whole blog post about it last year anyway um there's also the open susay build service this one you don't even need to check a box as soon as you upload your package it automatically builds it to for a bunch of different architectures um and one of those architectures is s390x um one of the things we were really excited about last november i actually went to um a github universe and like was hanging out at the travis booth um because we announced that we now support um ibmz and ibm power um on travis for open source projects so if you're an open source project using travis ci you can add the s390x builder to your project for free and you can play around with it and you essentially just get to build on whatever platform you want they had already supported arm um so you can install it you can build your package wherever and that was pretty cool and this this actually uses the marist college uh server to the community driven one and i think it uses another one in like maybe in texas but we donated the resources to travis ci community so open source projects to play around with this and then the thing that uh lance had mentioned in his question earlier um we give up give away vmz to open source developers and really anyone who wants one um you go to developer.ibm.com slash linux one and you get a free vm for 120 days um you can install i think and it's either rel or sles you get to choose which one you install and then you can play around with uh vm and it's a pretty beefy vm too it's got like a bunch of ram and cpu it's it's a pretty nice machine um they're automatically shut off after 120 days but you can just sign up again um the one thing i'll say is that if you're an open source project and you're actually getting really serious about wanting to test on this and you want a vm from us um just drop me an email on my email be on the last slide um and i can get you hooked up because we have a team inside of ibm that gives out vmz for open source projects specifically for their infrastructure so that's fun um and that that is where i want to conclude um so it looks like we've got a couple minutes for questions so i'm just going to look through this question list and see if there's anything i missed um if anyone else has questions please please let me know um this slide also has my my personal address on my email and my work email so lyz at ibm.com or lyz at princess la.com find me either one um i do most of my open source work under my personal address so that's where you can generally find me all right it looks like there aren't any more questions really um let's just double check here well if you if you think of any um feel free to reach out to me at either email address find me somewhere on the internet i'm pretty easy to find um i'd be happy to help you out so thank you everybody