Las Vegas 2018

How z/OS is Changing

z/OS has always been seen as separate. The mainframe is different so it has to do things differently. IBM's focus has been to help update z/OS so that it can fully participate in DevOps transformations. This session will discuss changes being made in z/OS to support standard open-source tools.


Rosalind Radcliffe is an IBM Distinguished Engineer responsible for driving DevOps transformation into our products in support of customers ability to do DevOps, as well as assisting clients in their transformation, and the internal IBM adoption of DevOps. She is a frequent speaker at conferences, an IBM Master Inventor, and a Member of the IBM Academy of Technology.

RR

Rosalind Radcliffe

Distinguished Engineer, Chief Architect for DevOps for Enterprise Systems, IBM

Transcript

00:00:05

Hello and welcome to this session. My name is Rosalyn Radcliffe and for those who don't know me in the room, uh, maybe somebody who doesn't know me in the room or hasn't heard me speak, I'm an IBM distinguished engineer and I'm responsible for DevOps for enterprise systems. But if you know me, you'll know me as the mainframe person because that's generally what I talk about. I do do other systems. I've been in IBM 31 years and have worked on just about every system done, user interface work, done lots of different things, worked in systems management. So I've done a lot of different things in the industry and I've worked with lots of clients. In fact, there are very few client, very large clients that I haven't worked with. So it's been fun and a lot of opportunity to learn. But in this session I wanna talk about what we've been doing to the mainframe to hopefully reset your thought processes just a little bit.

00:01:03

So first, let's talk a little bit about what happens in a second every day in the world. And if you see this 63,000 Google searches in a second, 71,000 YouTube views, you might think those numbers are significant. Might um, maybe until you look at this and just for clarity's sake, that is 4 billion in a second. And just for clarity's sake, that doesn't include the highest transaction processing systems that are run in the world. So it doesn't include TPF, which means it doesn't include the airlines, railroads and some of the reservation systems just for clarity. So the other thing that's kind of important when we think about this, if you think about when you get up in the morning, how long before you use a mainframe, you might be surprised because your phone in the backend, probably something is running every time you swipe a credit card.

00:02:21

Anytime. Oh, take your choice. You are going to be using a mainframe in the system. I work with a company in the Netherlands that likes to talk about the fact that their systems are a little bit critical. If they had a problem, 40% of the Netherlands GDP would be affected. That's running on their mainframe systems. They're a bank, they're Rabobank. They happen to be the largest bank or one of the largest banks in the Netherlands and they do the instant payment systems. So if we think about this, these systems do a lot. But if you think about the mainframe, I suspect, okay, go forward. Go forward. Somebody in the back will make it go forward for me.

00:03:18

Go ahead. Can you move the screen forward since it's not moving? Thank you. Is this your view of the mainframe? Is this what you think of when you think about the mainframe? You think about a green screen and from what I've been told recently, dark mode is actually back in vogue. So maybe it actually, oh sorry. Here we are. If this is what you think of when you think of the mainframe, well let's think about this instead. The mainframe hasn't been that green screen system for years. The mainframe is the most modern system from a hardware standpoint that we have, and it's able to run the most modern technologies, do lots of things. And in this particular picture, we're actually focusing on the high transaction throughput systems of kicks or IMS. And if you don't know about those, I'll be happy to talk about them later.

00:04:22

But those run on our ZOS system. The mainframe also happens to run Linux. So you can also run a Linux environment on this highly reliable system. And if you're running Linux on the system, well then I have to say Linux is, Linux is Linux basically. So whatever you're doing on any other platform can obviously also run here other than the fact that it's slightly more secure. And I'll get into that in a little bit. The other thing that people say is the mainframe isn't part of the current world because it's not open source and it has nothing to do with open source. Well, other than the fact that originally when z, when Z first came out, it actually was open source. It might've been the first open source operating system before we went to object code only for the lawyers getting in the way. Actually, I think it might've been, but here we go.

00:05:23

Now, if you think about it, open source is a critical part of the environment and people want to be able to contribute. And so this past year in August, we announced the consortium announced as part of the Open Mainframe project, something called Zoe. Zoe is an open source environment run on the open mainframe project that has been contributed to by a number of vendors and additional vendors I'm sure will join this project to provide a set of open source interfaces into the system to give you additional modern ways to access the system. So it's not that old locked off system that it actually hasn't been for years, but it is even less locked off open source capabilities to allow you to use rest based APIs to get at the system to provision services, a new modern browser-based interface to the system as well as a set of CLI capability that allows you another way to access the system.

00:06:45

This is an open source community. Go out to zoe.org. You can go see the work being done. You can contribute to it. Standard open source. There is a build pipeline out there and it's either there now or it's about to be out there so that you can build your software for ZOS and pro, build it on the pipeline so you don't necessarily even have to have your own Z environment. You can work on a z, contribute to the pipeline and the pipeline's there and available so you can update and provide additional function. The idea of Zoe is to help take the next step of bringing Z into this world. But it's important to recognize in many ways, Z has been there for quite a while. This chart on the languages side is all about ZOS. Linux on Z is Linux. So all the languages that you know and love run there and there's no question, but ZOS itself, that system that people think of is old and have to run cobol.

00:08:03

Not that there's anything wrong with cobol just for clarity's sake. COBOL is a really good language and all of those of you who don't agree with that sentence, it's probably the most easily understood language 30 years later. Think about that. You've got code that was written 30 years ago and you can still read and understand exactly what it does because it's just English. I mean I know people don't like it 'cause it's just English, but it is simple and it does do business language very well. But if you don't wanna write in COBOL or PL one, fine, you want groovy, you want Java, you want Swift, you want node, you want Python, it's all there. And any other languages that are really popular and the environment will start appearing. We have a go beta that will come out more soon hopefully We have modern tools that run on the platform.

00:09:06

So if you wanna use your get Jenkins pipeline, go for it. There's nothing about ZOS that says you can't use the exact same pipeline that you run on other platforms. And this is the other half of the fun. When we think about a system, we came out with a new single frame system that actually sits in your data centers exactly the same way as all the rest of your machines. It's a standard 19 inch track. Well why does this matter? Well, it fits with the same hot and cold aisle. We switched it 'cause it was backwards and we took it from the non-standard, non 19 inch rack into a standard 19 inch rack. So it fits into everybody's cloud data center.

00:10:07

Why was our rack different? Maybe 'cause it was there before, but whatever. The rack was different for no good reason. One of the things this is helping demonstrate is we're removing all the differences from the mainframe that serve absolutely no purpose and bring you no value. So the system provides a high scalable throughput transaction system. It has pervasive encryption. You can have full encryption on the machine without having to worry about the performance hit. You would have to take somewhere else. So it has all of that capability built in. But it was different. It was a different size, it was a different configuration. We had different tools. If you wanted to do mainframe development, you used mainframe tools and you wanna do distributed development, you did something else. So we're moving all of those differences so you don't have to worry about that anymore. Do the same thing, same, same process, same pipeline, same capabilities on the platform. And this was a hardware way of making the statement make it exactly the same. But software wise, we've been doing that for a long time.

00:11:34

We also wanna make sure that these languages and this capability don't just run on the platform, but there has to be a reason for running on the platform. So if you're writing Java, why should I run it on Z? Why shouldn't I just run it on the cloud? Well maybe 'cause it runs better there. We spend a lot of effort and time. The same Java, same language, same app runs on a different box or runs on Z. When it runs on Z, you have additional capabilities because of the hardware it's running on. The first one is the hardest one to say. It's pause less, not pause less, but pause less. Java still pauses, but we've done the work to make it so Java pauses less. Why does it matter? If you have a transaction that you want to run consistently every time, it's really nice that Java garbage collection doesn't make it run slower some of the time pause list garbage collection.

00:12:50

And because of the high encryption available on the system, you get the built-in encryption. You don't take that performance price provided additional capabilities and new instructions to improve the performance of applications as well. You get these because you're on the system. The other advantage, why would you run? Well your data's sitting there. Something like 80% of the world's structured data still lives on your mainframe systems. If you wanna access that structured data, having it sit right there makes a lot more sense. The other thing, when we think about this system and the languages, you're doing a lot of processing on this platform. Machine learning runs on the platform. I can do my machine learning in cycle so while I'm processing, it's available next to the data, I can have it access the same systems. And we may think about removing all the differences that serve no purpose.

00:14:05

You'll see we're optimizing the platform for what the platform does. Well it does high io, it has the reliability, the security and we're gonna take advantage of those things. But there are other areas where it really just doesn't matter. Now it doesn't matter to an extent. Your source code manager matters a lot, but it doesn't matter that it is a ZOS specific one. Actually it does matter that it's a Z OS specific one. Why is my COBOL different from my Java? Why is my PL one or my assembler someplace else? Not sitting next to java.net. Anything else? Why do my developers have to learn a different skill? There's no reason they need to learn a different skill. Why can't I take some kid off the street? And before somebody gets mad at me is saying kid off the street. So I have to explain. I have children. My children are in the ages of 25 to 21. That category in that age range, I unfortunately will call children because they're my children's age. That's what happens. And I have a son who happens to be going into computer science. I'm very proud of him. I got one of them.

00:15:41

One of them? Yes. Well I've already taught him Git because I had two because he was doing robotics. So he is already used that environment. He knows how to use a modern IDE. He's already understood how to deal with a pipeline. And actually he likes mainframes. Okay, maybe it's a little bias because of his mother, but he likes the idea of working on backend systems. So I took him to an event in which he had to work on a competition working on master the mainframe. In this particular case, he got to use an ISBF based system to do his work. What do you think my son's first reaction was, can't you use modern tools? I thought you said I could use my git. Okay, the competition didn't let him use Git. That's okay. The real world does. And if you look at this pipeline, you'll notice something. Git Jenkins, Artifactory Nexus, sonar cube. As much as possible this is an open source pipeline because we don't wanna have any difference. Now, yes, IIBM has tools and other people have tools that fit in this space as well. But I'm trying to show mostly the open source pipeline because it's important. There are a few places where we don't have open source tools yet, and that's because they aren't there yet. And I said the word yet for a reason.

00:17:21

What happened in this space is we're trying to remove all the differences. And I had a number of companies say, why can't I use Git other than I already have a solution there and IBM sells one there, why can't I use Git? And I went, you're right, why not? So I went and got it ported. The idea is if we understand what tools you need that are open source, we can work with the environment to get them out there. If you look, you see Jenkins on this page. If you go to the Jenkins pages, you won't see that ZOS is supported. In fact, every now and then they go break us. But they're people out there contributing to the environment to say ZOS matters. So we have it running, we run it every time a new release comes out, we go test it. We figure out what's just changed, go figure out how to make it work again and then publish how to make it work again. Now it's usually code page related. It is amazing to me. The world has now understood code pages matter.

00:18:37

I've always dealt with this. Ask you to DIC problem. And if you don't know ZOS, we still run episodic. We will run whatever we have this interesting code page problem. Well now I've noticed that other companies have noticed this problem, except it's not aski ic, it's askie to askie. If you look at the latest ports of Git, Microsoft has added, well use the function that we added for Aske toeic and they've used it for Askie to Askie because the rest of the world, not here in the us, speaks other languages and has other code pages and their code pages matter too. And so you need to convert into the right code page at times. Now honestly, why doesn't everybody move to UTF eight? That would solve or UTF 16, that would solve the problem. But code pages matter. So we have to deal with that.

00:19:32

So every now and then we have a problem with Jenkins. We as a community, open source community can update it, make it work. We do. We have most recently fixed the last problem in ZOS. When I say we've been fixing problems, slowly but surely, we've either been porting tools or actually solving a problem. When you think about a ZOS environment, it's been around for a very long time and we have some really good attributes about ZOS. Once you compile something, it will always work. This might actually also be the biggest problem with ZOS that something you compiled 30 years ago still works, but okay, load modules still work. It's a load module format. That load module format doesn't leave the box. A load module runs sits in A-P-D-S-A-P-D-S-E-A partition data set or a partition data set extended. It sits there. It can't go anywhere else nor to make it go somewhere else.

00:20:36

You use these magic Z tools and you do some weird stuff and then you put it back and you cross your fingers. No, and it always works. But here we are. How do I take this load module and put it in an artifactory or an exus? It's this weird memory map format. Basically ZOS added a function will allow you to copy files that are load modules and put them in the hierarchical file system, the ZFS of Z. So now I can take that file, I can zip it up and I could put it in Artifactory or Nexus brand new function. Brand new feature came out this June. It's available in a plus plus apar. Every single one of you can install it 'cause it runs on any existing ZOS system. I can now take my load modules, those little magic files that you built 30 years ago and you haven't recompiled yet, okay?

00:21:27

You can still copy them to the ZFS and you can put them in your artifact or nexus and you can have an application, all of your application if you want, put there or you can continue as we normally do to only put updates there. 'cause ZOS was the first environment that did microservices. Don't quote me on that. I've had a company a while ago that decided since in each individual load module could be updated and de delivered independently, maybe sort of that they would call them each microservices. I wouldn't necessarily agree with that definition, but each load module can be delivered independently. So you have incremental updates in the system. You can take the incremental updates and put 'em in in Nexus or Artifactory. And we have samples out there available to show you how to do this. We have, we've created another open source project area sitting out in GitHub, GitHub slash i IBM slash dbb.

00:22:36

We have samples that show you how to feed Artifactory or Nexus so that you can put your art artifacts there and use the new function. And we documented how to do it. So we have the ability to move off. I spent last week doing a demo of this and I can always do a demo of the art of the possible pipeline. And I asked a question last week of a a large number of Z customers and my question was, what's stopping you? So in a sense that's sort of my same question. This is possible, this is possible today. And the most important thing about this possibility is this world makes Z part of the modern pipeline. It makes Z just another target in your environment. It makes Z just the platform that runs those things that need the qualities of service of Z. And you can choose to run what you want where, and it gets rid of the skills problem.

00:23:45

Because I will tell you that if you're using this modern pipeline, no matter what the IDE is, you know, take your choice of IDE. If you're using this modern pipeline, I'll bet those kids aren't gonna run away from COBOL because it's the modern tools. And actually I've been able to prove that the session before this talked about gamification and and challenges. I have an easy way to get newer developers to learn cobol. It's a really easy thing. You can't learn a language. cobol, you hear the word can't in that sentence. You know how many times the next day somebody comes up and says, that's just English just for clarity's sake and P one's even better because P one is even more like a programming language. And when it comes to assembler, I get very little pushback because that means they're getting to do the most advanced things.

00:24:46

They get to work in the core, they get to do the most advanced things. So that's not the problem. This is the problem. Make somebody look at ISPF and for those of you that don't know me, I started in ISPF development. I'm the reason why you have the menu bar across the top and the command line in the wrong place. That's my fault. Got it. So I'm allowed to pick on ISPF. There's no reason for it. There's no reason you have to use it anymore. With a combination of Zoe with a modern interface, a modern browser-based interface to ZOS and with modern pipelines you can remove that need. The other thing about this pipeline, you might tell me that's great for developers, but I still have all these system programmers. I still have this problem. I've gotta do my kicks changes, I've gotta do all the other changes on the system.

00:25:43

Well I can use this same pipeline for my infrastructure changes. JCL flows through this just as easily. I can create groovy scripts to allow my user admin to be done. I can create users, I can do all of those kinds of things. There's a customer that presented recently that created a system image, A ZOS system image using a Jenkins and GI pipeline using groovy scripts to create their infrastructure so they could IPLA new ZZ system. Now that's okay, that's a little unusual, but why not? Infrastructure as code applies just as much to this platform. So modernize the way you work with the system and the system won't be so different.

00:26:31

So what do I need help with? The second one is why not? What's stopping you? What's stopping you? What's stopping the world? Do you know? Do you understand that the modern PI, modern world works on the ZOS and what's stopping you? The other one is also very important to me. And I wanna know, what are the open source tools you use in your pipeline that you don't have access to that you would like to have? Because we do port open source tools, we do work to get open source tools ported with the Zoey initiative. We have more access to make that easier for others. But what, what other tools? Is there something else that's stopping you that you don't see on the list that you really want to use in your deployments? Ansible might be one of them. And if you really want something like Ansible or something else, let me know. I'm accessible around the world. Um, I'm around all week. I'm on Slack, I'm on Twitter. You probably, if you're paying attention to Twitter, have seen me tweeting this morning. Um, but I'm accessible and available to answer whatever questions and take that feedback about what's available in the last two minutes. Are there any questions?

00:28:00

Yes. Have

00:28:01

You seen any, uh, real world examples of this whole pipeline that you talked

00:28:06

About? So have I seen any real world examples? One, yes. IBM Oh, um, so the Kicks team is probably the most advanced. Uh, they've been using RTC, not Git, but they have a modern pipeline with Jenkins fully functioning. They're 13 years into their transition. The Kicks team can build a kicks build in, in. Now they, they do it every night, but they could do it every few hours. So that's not a problem. There are a number of customers that have transitioned. There's some that have stood up and talked about it. Rabobank is one of them. Rabobank has a full RTC, urban Code, modern Pipeline deploying through their environment. They stand up and talk about it a lot. State Street has a modern pipeline. There are other companies that have a modern pipeline. They're not willing to talk about it, which always drives me nuts, but, okay.

00:28:56

And then there are actually a few, um, we've got this little catch that, uh, dependency based bill Groovy had wasn't actually GA on the platform until recently. So the get based solution is not as often in production, but we do have, we have at least one very large customer in that runs a very large business. That doesn't allow me to say who that is running on Git and the pipeline today. So they have already transitioned. We also have some very large banks that are using GIT as their SCM. So they have moved and transitioned. So there are a number that have moved to modern pipelines and then even some that have moved to the open source pipelines. So it's getting there. Yes.

00:29:46

Is there a demo that's accessible for a pipeline?

00:29:51

There is a demo. There are a couple of 'em that are available on YouTube and I will put the links in the presentation and get it updated. So when it's posted, you have the links to the, the videos. We also have something we call the Z trial that you can go out, log on, get access to a Z system and play yourself so you can actually log on and play with a pipeline that's been pre-configured. And I'm out of time. So thank you very much. But I'm here to answer your questions and, uh, thank you. Enjoy the rest of the conference.