Artwork

İçerik Jeff Bisti tarafından sağlanmıştır. Bölümler, grafikler ve podcast açıklamaları dahil tüm podcast içeriği doğrudan Jeff Bisti veya podcast platform ortağı tarafından yüklenir ve sağlanır. Birinin telif hakkıyla korunan çalışmanızı izniniz olmadan kullandığını düşünüyorsanız burada https://tr.player.fm/legal özetlenen süreci takip edebilirsiniz.
Player FM - Podcast Uygulaması
Player FM uygulamasıyla çevrimdışı Player FM !

Joe Bostian and Chad McIntyre - Python and Open Source Update

46:00
 
Paylaş
 

Manage episode 373206070 series 2621891
İçerik Jeff Bisti tarafından sağlanmıştır. Bölümler, grafikler ve podcast açıklamaları dahil tüm podcast içeriği doğrudan Jeff Bisti veya podcast platform ortağı tarafından yüklenir ve sağlanır. Birinin telif hakkıyla korunan çalışmanızı izniniz olmadan kullandığını düşünüyorsanız burada https://tr.player.fm/legal özetlenen süreci takip edebilirsiniz.

Returning to the show are Python and Open Source Experts Joe Boston and Chad McIntyre. Keeping up to date on how Python on IBM Z is advancing and improving is important, and we've got an episode chock full of info. From packages to ports, AI to Flask, it's time to refresh that knowledge.

Auto-Generated Transcript (may not be 100% accurate)

Frank Welcome to the Terminal Talk podcast on mainframe and mainframe related topics.

Jeff Frank Hi, Frank, It's really nice to meet you. I'm Jeff.

Frank And with us today, we have two very important guests. We have Chad MacIntyre, who is the lead for Python and U.S., and Joe Basson, who is the lead for Open Source NZ. And so both of these guys have been on the podcast before. You probably remember the great episodes that they did. Mm hmm. We wanted to kind of get together and hear about what's been happening since the last time they went on. Yeah, some good.

Jeff Sounds good to me.

Frank You feel so engaged as the important thing.

Jeff At least I'm not drawing this time.

Frank Yeah. So last time Jeff actually created a doodle of me that was maybe not the most complimentary. So it really felt like it was. It was with me, so.

Joe Yeah, I saw that, though. It was probably about the best Jeff could do, though, don't you think? Well, I.

Frank Thought about the.

Jeff Worst and not the.

Frank Worst. I'm going to make it my I'm my profile picture for the company.

Jeff For those in the room.

Frank And that's why.

Jeff I sent it to you, Chad. So you can see it, too.

Frank Okay. So let's start I think we'll start with the Python stuff, because some of that was has really changed quite a bit since last time we talked and. So, Chad, you want to talk about, you know, your adventures since the last time we talked to you?

Chad Certainly, Frank. So we've definitely been through a lot of growth and expansion, I would say, and exciting things going on in the Python universe. And just to kind of bring everybody up to speed in terms of some of the important things that are happening there. You know, Joe's on the call today for I'd say probably one of the things that's been troublesome. The most troublesome for everybody on the python front and those consuming packages. So you know, we'll get into that as we go down the line. So there's good news there. And the other one that everybody, I think from day one of release was asking was the question, you know, can Python run on Zips? And then the answer to that question was certainly no for quite a long time and has now changed within the last couple of months, too. Yes. So that's a very exciting development. And we're seeing a lot of people really interested in adopting Python workflows and running those things on the Atlas machines. Beyond that, you know, we've been doing our work to keep up with the community. So, you know, we're it's it's core to our mission to make sure that we've got the latest and greatest python supported on the platform. But not only that that we're making it take advantage of those special things that Z has to offer. Right. So in the latest release, 311, we've added support right within Python to take advantage of the enterprise data compression accelerators, accelerators. And so this is a nice feature because you get it for free, right? You don't have to do anything to kind of code to it or take advantage of it. If you've got them in there enabled, it will just work with Python. So lots of great work and lots of great developments on the Python side, and that's just a teaser from there.

Frank Well, in Python 311, across the board was a better performing python. Are we seeing that on the U.S.?

Chad Absolutely, yeah. So there's been some terrific work done in the community to rework some of the guts of the python the python implementation specifically to perform better. And so, you know, this was a concerted effort by the community to take a look at, you know, what are Python workflows, how do they run and why are we here, how can we do better at running them? And so there was a whole kind of re-organization and a breaking down of byte codes and stuff like that that happened in The Interpreter. And the question is, does that pan out into Z? And absolutely, it does pan out into Z. So this is kind of an across the board thing in terms of performance benefits. So I don't want to go into quoting numbers or things of that nature. But on the Net Corp performance benchmarks, we're definitely seeing benefits that match what the community was seeing there.

Frank Yeah. So how long before Python takes over the Z OS world?

Chad Oh, can I defer that one to Joe?

Frank No.

Joe It already has.

Frank Happened.

Joe We just don't know yet.

Chad Exactly. I think it's it's one of those things where the roots are already there. It's just a matter of time for this time the show is.

Frank Well, and that's that to me, a big part of this. And I kind of want both of you guys will weigh in on this. But in my perspective, though, the python work that we you know, that you guys have done, along with things like Zillow or U.S. Open automation utilities, see, I got it all. You know, it really starts to democratize the platform in a way that really has never happened on the platform. People now have a lot more choice and they don't necessarily have to do things the way IBM tells them they should. And so I that's a yeah, I think it's a really important piece. Imagine it. My, my future is always managing the platform with Python instead of JCL. Right. And I'm oh, pause for some listeners to have, you know, a complete nervous breakdown.

Jeff That's obviously one of the big. Hearts of Python success on Z is going to come from packages being available for it because Python is a very extensible language. I'm curious what the process is to in identifying those important packages, because it's not just the big ones that everyone thinks about. It's these tiny little ones that you need that one weird bolt to make a project work. So how do you how do you make sure you have all those bolts in place?

Joe A lot of it's trial and error and inexperience. And one of the reasons that we have gotten to the point now where, you know, between Chad's team and our team here in Poughkeepsie, that we're at least reasonably competent. And what we do these days is that we've made all the mistakes before. Right. I mean, we we originally started diving into the python pool in 2016. We came out with some of our AI related stuff and we pretty much did all the wrong stuff, right. We tried to shoehorn we tried to shoehorn code into packaging mechanisms and delivery channels that didn't make sense. And so what happened is you would you would come out with a product or a function that did something very useful, very cool, but the code would just sit there and rot over time because you had no capability to keep up with the open source community.

Chad Right.

Joe And so there were so many technical issues that were in our way. And over the years we kept identifying what these problems were. And one of the very key ones right from the beginning was to settle on a standardized first class python that we could make part of our regular language environment on us and rely on it and lean on it as heavily as we do the C compiler or any other language on the platform. And once, once, once we put that that group together and Chad became the lead of that, that that's when things really started to take off. That was the major inhibitor that we really that we really faced. And then from then on, it's like, okay, now we can tackle all the other kinds of things primarily how do you stay current? And even just two years ago, currency was all about how do we put the latest function out there, as everyone knows, right? More and more security has become the focus of the open source community. And now currency and security are tightly coupled with one another. So. So as we look forward to how do we best manage the open source community? Number one, we've got our good, solid current language to work from, which solves all a whole host of problems. And from my point of view, the next question is how do we keep up with the open source community when we've got hundreds of packages that we need to put out there? Right. And so you ask the question, how do we make sure that we've got the one little utility that is the, you know, the bolt that holds everything together is even.

Frank Yes.

Joe Yes. Something something profound like that, you know. And in the answers, we just spend time installing things and look for stuff that falls out. Right. And it's not actually even that hard. Python is such a flexible environment, and the package management system that's built into this ecosystem is so flexible and so useful that you go, Well, I've got this set of say, 15 different things that I want to do, but me install 15 and then look at everything that gets dragged in and maybe do some analysis on the dependency trees. And that's everything that I need to know. And you're not going to you're not going to get bitten by that. One thing that's missing, because in order for you to even have installed it in the first place, all these pieces had to be okay.

Jeff So from a currency perspective, how much of that falls on staying up to date? How much of that falls on the developer themselves versus like the mechanism there they're using?

Joe Yeah. The open source community, I saw a statistic that we put in several of the presentations that we've done, which I believe is really true when you when you look at all of the vulnerabilities out there that are exploited in the wild, they're 97% of all of them already have fixes waiting are already available. So what we have to do as a team is make it very easy for our clients to stay current as well. And so the way we used to do things prior to coming with coming up with a more comprehensive open source strategy was that, you know, we would we would go ahead and build ETFs and parse and go through integration testing and system testing and and all the testing that's necessary. And you spend your three weeks to a month trying to get something together when this vulnerability now will be open for 28 days. And. Who knows what kind of damage could be done in time in that time frame. So we're trying to get to the OR we are almost arrived at the point where we can we can keep up with the open source community through modern package management, the package management environment that is integrated with with Python as well. And by the way, every time we run into a really hard problem, I just call Chad and say.

Jeff That's a good scalable solution right there. Yeah.

Joe And he does it every time.

Frank Every single thing that I've had problems with is when I install a package. It's when I have to deal with C code because, you know, I don't have the compiler set up, right? Or are we doing anything to make that easier?

Joe Yeah. Oh, yeah. I don't know. Chad, you want to handle that or I'm also sure if you want.

Chad Yeah, go ahead. I have a couple of things that chime in on that one. So first and foremost, Frank, you have a good observation, right? There's kind of a dividing line. There are packages that are written in pure Python, and I think for the most part, for the lion's share, those just where Joe, you can challenge me on that. But in general, and that's a testament to the Python implementation and just how good the how well the language is designed. So then you get to the packages that have, you know, these built in dependencies and these are usually the more interesting ones right side by side, get learn or, you know, these these little fiddly ones that have, you know, gives you a little driver to some specific thing. So in these cases, you need a C compiler and you need a C compiler that speaks the open source parlance, so to speak. And so, you know, that tends to be something that that would be at odds with our compiler. So your allusion to, you know, getting the compiler set up right and things of that nature, this is where a lot of the package enablement work would be, right? Okay. What options do I need to tell IBM's Z compiler Z COBOL, to make sure that this code will actually compile properly and do the right thing? So one of the big developments that's actually come there is this enablement of the clang in all of the M based C compilers and C++ compilers on Z OS. So these have done a great job at sort of leveling the paint, the playing field in terms of that dialect of C and C++ and the option spaces and supporting those out of the box without needing a lot of tweaking or changing. So that's one big thing that's happened from there. You know, we've also made a version of this compiler available for building Python packages directly. So this is actually a really good thing, right? In terms of, you know, one of the challenges before was, well, I don't have the C compiler, right? So how do I get this? And so that's my solution there. And then, of course, the final and ultimate answer is the Python toolkit is providing actual built versions of these packages for customers to install directly. So then that's the ultimate answer, right? I don't have to deal with any compilers at all. I just love it.

Frank Just give me a we'll. Yeah.

Joe I mean, just, you know, for those who may not understand the Python environment as deeply as the, you know, those of us in the room do. The idea is that you can ship something called a source distribution, and in order to do the install, it actually builds the code on your target system for you. And the Python community has been trying to move away from that to something called a wheel, which is an entirely built, self-contained, you know, as you would think of as an executable that you would run on your system. Right. And so when we have now come out with some of our open source offerings, one of the one of the primary features that we want to make available is that everything will be a built will. It doesn't matter whether the open source community puts out a source distribution or not, we will build it ourselves. You won't need the compiler environment, You won't need you need some runtime parts, you know, maybe, but you won't need the compiler. You won't need all the other build infrastructure to go along with it. And there's a twofold advantage to that. Number one, of course, is you don't have to keep all of this development infrastructure in your production environment. Right. And that's an additional sort of tax to maintain and keep all of that current. The other one, too, is it's a security measure. And one of the, you know, the vector vectors for attack from a bad actor a lot of times is they don't actually have to infect a particular package. They just have to put their malware in something that gets included. And then the build process itself will actually build it into the the deployable unit, the deployable package. And you know, from there they can sneak their code in and it gets past all the scanners. It gets past everything. Right. And so by building the wheels, we can give those to our clients and they can run their own scans if they want, and they'll know everything that's actually going on that system. Right. And they won't have to worry about somebody sneaking something in during the build process as they set up their production environment.

Jeff That's something that's people are showing interest in.

Joe I. I think they're starting to some of our some of our early adopters, they're actually way ahead of us. They they know that's cold, right? Everybody else is like, oh, yeah. You know, I never really thought of that before. Right. But yeah, that's pretty scary. I better I better I better harden myself to that, that kind of thing.

Jeff I could see a company that's a client that's very far along. Just be like, Yeah, we know what we're doing. Just give us the code. Yeah.

Frank Yeah, but. But I know a lot of people worry about something like a python install tool, pep G that goes out to the internet. What do we say to to people who who say, Well, I can't use PEP because I can't trust the Internet because there are bad people there.

Jeff I've seen some of the stuff on the Internet. It's no good.

Frank Yeah.

Joe Yeah. So. Generally speaking, those who are, you know, invested in the open source environment. Well, number one, be running an open source software across multiple platforms. So they already have to interact with the Internet in some form or fashion. And it's not a hard sell to say, look, you've already got your your IBM, your IBM file, your firewall is already open to IBM. We now have a cloud server out there hosted in the IBM Cloud administrated solely by IBM. And you just need to make sure that you can get to this particular server and it only has IBM content on it. It's no different than an FTP site, you know, for service purposes or something like that. Right. So. So generally speaking, those those clients come along and they say, Yeah, okay, I get it. I know how that works. And we're comfortable with that environment. Those are the ones that we're really trying to get, you know, sort of up to speed quickly and in saying, look, you have your workflow or your workload that you're running now, it's running on, you know, a given platform out in the cloud. You can take that and you can move that right over to here and it will be seamless and it will function and perform exactly the way you know it does on your other platforms. And by the way, all of that code is coming directly from us. You're not going out to a community server. You certainly wouldn't want to go out to, you know, several types of community servers out there. And it's not that those those different community servers aren't. I want to be I want to be fair in comments here. Community servers are our servers like like Pi Pi, for instance. So if you know, if you know the python environment, there's a, a large server out there that serves a development community. And anybody who writes a piece of code and wants to make it available to others can post it out onto the pie server. We are running a pie server ourselves, but IBM is the only contributor to it. High paid org serves anyone who wants to set up an ID and so there are multiple vectors of attack that you can that can. They can leverage pi pi four. And it's not his fault at all. It's just the fact that they are a community server open to the public. By keeping our server private and tightly controlled, we prevent a whole host of different kinds of attacks. Right. And so so the point is that that just being able to do that right up front and saying, look, you know, you're getting your code from IBM, We have a whole bunch of stuff we can talk to you about, about the due diligence that we do to to vet all of this ahead of time. You'll probably be bored out of your mind. But we do a lot of work to make sure that works. We're securing the server that everything's on and you got a first class python interpreter and a crack team in Toronto that is, you know, doing all the proper language stuff to give you everything.

Frank You said.

Chad This. Sorry. Just to jump in. I know that that's not to undersell the convenience aspect, too, right? I mean, one of the things, you know, I worked with a customer last week, you know, to go through building a package and they pretty much had the environment. Jones describing I can't download anything on my Xerox machine, so I had to walk them through, okay, get the zip file from GitHub, then upload that zip file, change all of the encoding, then you need to change this, then get your C compiler configured, do the build and then you'll get to install that in your virtual environment. And so you know what that's what customers and users have been facing for several years now. And I can sympathize with them because we've gotten too many of them. Right? So the the Python toolkit is just a pip install pandas and you're off to the races, right. Like it's it's it's a tremendously valuable improvement in terms of of efficiency there. So.

Frank Yeah, I think I think it's critical to have something that looks and feels seamless. The Python programmers for the platform. Right. Can you describe, Joe, you mentioned that this is primarily for IBM product. Do you see that we'd be doing it for non IBM stuff as well?

Joe Yes, definitely. That's sort of the direction we would like to go in. We would like to set up a community of trusted partners that we can work with. And what part of of my job and my focus right now is to set up sort of some of I would refer to it as a playbook or a workflow that says entry into this, into this ecosystem requires that you meet all of these criteria. This is nothing new, and we're not unique in doing this at all. If you go out to the Red Hat marketplace, for instance, right, they have a playbook that says, Here's how you get Red Hat certified in order to post anything to our marketplace. And they have several different vendors that they work with. We can do, you know, similar things for four Zillow's right. And or and for that matter for ZE Linux as well. We don't want to leave them out. This is an IBM Z statement. We set up multiple channels on our server and the Linux community has the same, the same sort of trust challenge that that every other enterprise platform has. People are scared of, of, you know, using the community servers to go out and get their enterprise production level code. They want to go to a trusted source and they want to be able to download and and deploy and feel relatively safe that that someone has done the due diligence to make sure that there's nothing lurking there that's, you know, is really going to harm them.

Frank Yeah. I'm really is somebody who. Who has become dependent on Python. You know, a lot of those small things that aren't really owned by a particular company all becomes kind of important. YAML support, for example. So do you see you guys having vetted versions of those products as well?

Joe Oh yeah. Oh sure. And right. So we started with Python. Certainly Python is one of the most important language environments we can work with, but but the same infrastructure, also services, many other types of languages, right? So if we're talking about markdown, language support, we can service that. We could we can branch out into other languages as well. Not to name any yet because we don't have any solid plans. But we what we did was we built out the infrastructure and we put places where everything can plug in. So the idea is that now that we've built this kind of infrastructure, the next product that comes along won't take a year and a half to get out the door. It will take, you know, six months maybe, right? And when we can keep up much more quickly.

Frank Earlier, Chad, you mentioned that there were some additional capabilities for the for the new Python environment. Can you talk about some of the package stuff that that now comes with Python?

Chad Okay. So in terms of I guess I'll love the package stuff in terms of Python plus the Python toolkit, sort of, I would say consistent things so that the set of packages that are there are actually quite, quite powerful and interesting from a Z perspective and from an animal perspective in particular. So we've we've had a lot of requests. I'll tell you straight up, the number one thing that's in my inbox, if you search is how do I install pandas? I can't I've lost count of how many how many pythons. Right. And I'm happy to say that became pip and sell pandas very recently. So that's a very nice thing to say. But beyond that, you know, things like sci fi and socket litter. And so these are all traditional packages that people are using to do on machine model, model development and model execution. Right? So running in and stuff like that. So there's definitely those kinds of things. There's a whole bunch of frameworks around just Python stuff in terms of supporting those packages. So things like flies and whatnot where, you know, people are running sort of little in-house dashboards or things along those lines. So there's all kinds of interesting things in that realm. So beyond that, you know, there's just a lot of interesting things. As I said, you know, we had a big learning process in terms of, you know, well, what's what's the spectrum of things that are going to work? And, you know, as we talked about earlier, most Python proper things just work straight. And so that's been a really nice thing for us to see because it means, you know, we've done a good job at striking that balance and getting that enablement done while at the same time, you know, getting a benefit for everybody that you can just grab these packages and use them upfront from the building ones. You know, the the ones I've mentioned right side by side, get learn and pandas, all of these are kind of the big ones. There's a couple of other ones, Jupiter and Jupiter notebook. I know everybody loves those ones.

Frank So those are definitely.

Chad Other interesting ones. Yeah. So not to go name dropping packages, I think, you know, those are what we're seeing a lot of people using the new ones and IBM DB and things like that. All of these are, you know, bread and butter for folks by this time. And of course Ansible, our friends at Ansible are also there as well.

Jeff So it's good to hear that if there's if you if somebody has a need, the barrier of entry has been lowered. What if somebody is hearing this and they're saying, okay, it's high past time that I actually try something out here? What will be a good first step for somebody who is, you know, wanting to dip their their foot in the python like.

Joe I would start by installing Chad's, you know, Python interpreter. I mean, it's a it's a zeros feature and, you know, you can order it and put it on your system. And that just gives you the basic tools right up front to play around with things. If you want to experiment a little bit more and you're not sort of in you have any experience in the air arena, you can install what's called the Python tool kit, which you've heard Chad reference several times. It it, it is a just a collection of now soon to be 170 some packages that allow you to do lots of different numerical computations visualizations Jupyter notebook for instance and and you can just play around with them and just assemble these things and say, hey, you know, try things out and see what you can.

Frank And the python I don't even need to, to go through shop, see, to get right. I can go and download that. Right. For myself.

Chad That's right.

Joe Yeah, I would defer to Chad on that one, but.

Frank Yeah.

Chad Yeah, well.

Joe So. But this is also another interesting and interesting dynamic, right? We want the deployment and service and update experience to be consistent. And in in as many cases as we can, identical to what it's like on other platforms. However, when it comes to ordering and entitlement and things like that, we are zero, right? We are geocentric and we still want to be able to fit into that model as well. So there's a lot of work going on trying to say, Well, how do I order this? Well, you can order the Python tool kit today through Shop Z. What do you get? Well, you get nothing.

Jeff You really sell it.

Joe You get you get some instructions that says do these things and and it will you know, it will download on your system. It's a no cost offering with an optional S.A. PID you can order. We want to retain that kind of entitlement infrastructure because that's the way the U.S. world works. And that's how you keep track of your inventory of software. And and so we want to remain consistent with that. But from there on, all of your developers, all of your administrators are now living in the Python world, and they will use PIP to manage their packages. And your ZEO US administrators can say, yep, I've got the, you know, the latest level of the toolkit or the Python SDK on my system because it's it's all part of SMP.

Frank Yeah, but I'm, I'm trying to work out in my in my mind how that's going to work. You know the the thing about Python is that everybody can create their own virtual environments and and now I got, you know, a hundred different people with their own virtual environment and and now I got to go and upgrade. To, you know, three, 12 or whatever the next thing is. Do you guys have ideas on how to make that less painful?

Joe There are, you can set up sort of canonical recipes or reference recipes for Python packages to manage currency. So for instance, with the tool kit, when you install that, the tool kit, every time we come up with what we consider a new point release, we will publish a requirements file which will list every package at the latest version that's currently available, and you can use that as a reference. So if you install, say in January and you pull in the entire suite of packages that are available and the next quarter or six months later you want to upgrade to a point release of the tool kit, you can easily compare the two reference files and see what's changed and then at least you'll be able to say, okay, I've got ten new versions of these different packages and you won't have to replace 170. Maybe you'll have to somehow coordinate the replacement of ten, or you just tell everybody, keep your own requirements, file for your virtual environment and just be prepared to tear it down and rebuild it again. And we will provide the latest and most current packages at this location and within our enterprise so it can be managed. Yeah.

Chad I think that's a good point, Joe. And what I want to expound on right. Know the model with virtual environments and this is sort of a lightweight containerization, right? It's it's meant to bundle dependencies and to give you a tool or a mechanism for isolating yourself from, from these types of things. So that's how that that mechanism is meant to be used. And so the question at the end of the day is what what can you do with those things? Well, you look to the containers model, right, to to understand that. And so, you know, one of the things you don't think about is, well, let's say I want to upgrade to the latest and greatest Python toolkit package lists. Right. But I'm not sure what that does to my application in terms of functionality. I need to test and certify it. Right. You're one new virtual environment away from being able to bring up that application right on those and test it out without, you know, perturbing or destroying your current in production virtual environment. So know important things along those lines as well.

Frank Yeah, but I think I can definitely see the traditional Zoosk community meeting a fair amount of. Advice and counsel on how to do that. I agree.

Chad I agree, Frank. We've been in discussions around this, you know, on numerous fronts in terms of, well, how do I manage a site wide Python installation versus application specific? So there's definitely issues and considerations, too, to be had around there. We've produced some material around sort of advice in terms of how do you do the right thing in terms of deployments and managing. But definitely this is an evolving one. And as we've said, you know, it's kind of exploding and growth and everybody's kind of, you know, kicking the tires and trying things out. I think every every day I hear about somebody new doing something somewhere else. Right. And so the information is coming in in terms of, you know, what's the emerging state of practice and things of that nature. So the the net of that is we're learning. Right? And we're, I think, developing the patterns on that front.

Frank Yeah. I mean, it certainly seems some of the clients that I've been working with in this space have done some pretty neat things to manage that environment. I'm just wondering if we're going to get to the point where we say, okay, here's a maybe not definitive, but a sort of advice that. That we've gleaned from working with some of these these businesses because I think the. The effect of making a change in the U.S. is significantly different than making a change on a, you know, odd server or, you know, angels server. And so providing that kind of support, I think, is going to be really.

Joe Yeah, I think we're going to see several best practices is sort of emerge over the next year as we see these things deploy within our Z enterprise environments. I think people are going to some going to get some really good ideas and say, Hey, I didn't know you can do this with this. I want to, you know, tell the world about it. Right? There's a lot there to learn.

Jeff Obviously, I think we're getting to the point of Python and Z or Z where it okay, it works. It's there, it works. It's not works some of the time kind of thing. And we talked about like some of the I think it was data compression that's like a benefit. Like what are we going to see more that would make us want or need? Are our Python programs to be running on Z?

Joe Certainly zip was one of those things. Go ahead. Yeah. You would know this better than me for sure.

Chad So. So that's actually a really great point to bring up, though. For for two years, it's been the answer to that question with two things. Either I need prebuilt packages or I need zip eligibility for Python. Right. And so we're just dusting the smoke away from both of those things kind of dropping in the last two months or three months. And so, you know, we're we're looking for what's next, in my view. And what I see from from where I sit, we're going to start really harping on, you know, how do we make Python really shine where Z shines, right? So these things where you're connecting to your existing assets and being able to keep those things running safe and secure, but also interoperate with them using Python. So a bunch of stuff in terms of that. And I think you're already seeing kind of the groundswell and sort of the the leaking out of things where people are doing very interesting things along those lines, coming beyond that, just making it run good on Z. You know, now that we've kind of got things stabilized, functional, we've solved the really big kind of adoption pain points. Now the question is, how do we make that experience really great? And I think a lot of that is going to translate into performance, right? And making sure that Python programs run really well on Z.

Joe And there's some evidence of where we're going from the containerized side of the workload or the containerized side of the house. If you look at a lot of the the big work that we've done in AI on Z, a lot of it's containerized and we have a sort of a parallel set of open source channel distribution mechanism that we have for for pi, pi and PIP and, and all of the python packages. But if you look at, at the portfolio of different AI frameworks that we make available as an example, TensorFlow being one, the first thing we did was we made TensorFlow run on, on iOS in a container through Zeke's and the same container can run Alexa on Z. The next thing we did was we integrated it with all the hardware on Z 16, right? So those capabilities are rapidly being built in on the container side, and you're going to see similar kinds of, you know, activity in place to make to make native Z OS Python workloads, you know, follow suit. Right?

Jeff So I see why the answer would be yes. But is is AI the main driver for for all this?

Joe Yeah, it is. But there are huge number of DevOps opportunities too that are out there and that hasn't been sort of front and center of my day job. But it sure is an interesting area that I'd like to, you know, jump into a little more.

Frank But it's actually been.

Joe Yeah, it's, it had.

Frank It's been a most of my day job. Yeah.

Chad So I was going to say oh complement Joe's answer with I actually see the opposite quite quite a bit more on the other side. Right. People doing interesting things like replacing SQL with Python or you know, replacing Rex with Python. I know these are contentious topics for some, but, you know, the reality is some people need a more modern form to express some of these things. Right. And Python is increasingly becoming a very good match for that. So definitely on the dev of side.

Frank Yeah. And not just DevOps, right. I mean the work that, that a lot of the businesses I've been working with is all around automation. I want to start to manage my environment using Python and we are we are now at a point. Where you could manage the platform or at least the resources on the platform using Python instead of JCL. And to me, that's a big deal because I need to engage a generation of CIS Prague's that don't know JCL and don't know racks and Python is a skill they already have. And so I believe this is a big deal for the platform I mentioned earlier on that it's a it's a democratizing for the platform. I see getting to the point where the young guy coming in will have the same level of capability and skill that somebody who's been doing it for quite some time has now. But having said that, you know, a person who's been in managing a system for years needs to understand much more than just, hey, this is how the code runs, right? Like having somebody not have to learn a lot of that basic stuff to be pragmatically using the platform is a big deal. And I think Python is is a key piece of that.

Chad Yeah.

Joe Go ahead, Chad.

Chad I was just to say not to short sell it on just this. You know, we're seeing people adopting it for application development purposes as well. So customers are definitely taking this and writing new applications written in Python video, whether they're interfacing to sea or they're hosting them as restful APIs. You know, we're seeing that that traction on top of that, we're seeing is these recast products and rethink products in terms of adding Python capabilities. So just want to make sure that that's not lost as well.

Joe And when people, you know, look at what we're doing and try to understand why we're, you know, we're going in this direction, it is, of course, for for those of us who work in this community, really satisfying and very a lot of fun to work in this space. But that's not the reason for doing it. If you look at all of the modern library systems that are out there, all the modern automation tools, various workflow mechanisms, the entire world outside of the Z organization is all built and set up to provide the infrastructure to plug your language in here, put these various components in the right place and pushed the go button and that's it. And that's all you have to do. And yeah, maybe you need to write a little bit of glue code, but you can create a new application from open source componentry in a very short period of time. And that's where a whole generation of software developers and engineers have come from, where they can do things in days that would otherwise take, you know, months or, or and then you'd wind up with a set of proprietary code that you now have to maintain yourself. These folks can go now and work with the open source community and say, Oh, I need to upgrade this one component in my workflow and I'm back online again. Right. So it's not as much about Python per se as it is about the entire ecosystem of open source. And Python happens to be one of the best languages to start with.

Frank I know we've been a little bit over time, but I did want to ask earlier on, Chad, you said a flask. So you have a version of flask that will work with Rack F.

Chad Yeah. So this is an interesting thing. So one of the requests we often see is the question of, you know, what if I want to use certificates to manage flask or to secure communications between flask and things of that nature. You know, these are the things that we're wiring together. So yeah, we have an existing prototype that shows how this works, right? And so that the proof is in the pudding. But the the notion is all of these things are just a step away. Right. And that's the really powerful thing that I think, you know, it's good to dwell on is where we're enabling these things and bringing these kind of kind of things that everybody has kind of enjoyed or expected off of those tools otherwise.

Frank Well, I think that's kind of important. As we I've heard that there's this group that that has created a, you know, a Python interface into rack management. Those those guys seem pretty smart now. And I know there's a team out there working on connection to be CPI through through Python and I could see a bunch of you know like utilities really beginning to build this connection that's a little bit deeper into the platform. And so the thought of managing some of this stuff with. With something like Alaska really, really kind of underlines that whole democratization process. Well, I know we're we're way over the bottom of the hour, but this is a topic that's obviously important to me. And can you just poke Jeff, so we can wake him up and then we can.

Jeff I'm good.

Frank Okay. Thanks. Okay.

Jeff I don't I don't have a flask project going on.

Frank So.

Jeff I really can't really contribute here.

Chad Yes.

Frank Yeah, we're all be doing it soon, I'm confident.

Chad All right. I think that's a good point, Frank, just to come back to that. You know, even IBM is starting to deliver software that's that's written in terms of Python. Right. So I think that's a pretty good vote of confidence.

Frank Yeah. And I think, you know, the. The open source community is starting to grow and move in this space. And and I think that's really important that we get away from just IBM and ISV providing capabilities for the platform, you know, open source that they're really as sensitive to Z OS is is very doable at this point.

Joe Yeah.

Chad And very easy. Up. I don't you know writings that always python is there's not super Z OS specific so.

Frank Exactly exactly. Awesome. So. Okay. Over know just giving me the look. So. All right. Old M.

An. Charlie, run us out.

Old Man Charlie You've been listening to terminal talk with Frank and Jeff for questions or comments or if you have a topic you'd like to see covered on a future episode. Direct all correspondence through Contact the terminal talks. That's contact at terminal talk dot net. Until the next time. I'm Charlie Lawrence signing off.

  continue reading

142 bölüm

Artwork
iconPaylaş
 
Manage episode 373206070 series 2621891
İçerik Jeff Bisti tarafından sağlanmıştır. Bölümler, grafikler ve podcast açıklamaları dahil tüm podcast içeriği doğrudan Jeff Bisti veya podcast platform ortağı tarafından yüklenir ve sağlanır. Birinin telif hakkıyla korunan çalışmanızı izniniz olmadan kullandığını düşünüyorsanız burada https://tr.player.fm/legal özetlenen süreci takip edebilirsiniz.

Returning to the show are Python and Open Source Experts Joe Boston and Chad McIntyre. Keeping up to date on how Python on IBM Z is advancing and improving is important, and we've got an episode chock full of info. From packages to ports, AI to Flask, it's time to refresh that knowledge.

Auto-Generated Transcript (may not be 100% accurate)

Frank Welcome to the Terminal Talk podcast on mainframe and mainframe related topics.

Jeff Frank Hi, Frank, It's really nice to meet you. I'm Jeff.

Frank And with us today, we have two very important guests. We have Chad MacIntyre, who is the lead for Python and U.S., and Joe Basson, who is the lead for Open Source NZ. And so both of these guys have been on the podcast before. You probably remember the great episodes that they did. Mm hmm. We wanted to kind of get together and hear about what's been happening since the last time they went on. Yeah, some good.

Jeff Sounds good to me.

Frank You feel so engaged as the important thing.

Jeff At least I'm not drawing this time.

Frank Yeah. So last time Jeff actually created a doodle of me that was maybe not the most complimentary. So it really felt like it was. It was with me, so.

Joe Yeah, I saw that, though. It was probably about the best Jeff could do, though, don't you think? Well, I.

Frank Thought about the.

Jeff Worst and not the.

Frank Worst. I'm going to make it my I'm my profile picture for the company.

Jeff For those in the room.

Frank And that's why.

Jeff I sent it to you, Chad. So you can see it, too.

Frank Okay. So let's start I think we'll start with the Python stuff, because some of that was has really changed quite a bit since last time we talked and. So, Chad, you want to talk about, you know, your adventures since the last time we talked to you?

Chad Certainly, Frank. So we've definitely been through a lot of growth and expansion, I would say, and exciting things going on in the Python universe. And just to kind of bring everybody up to speed in terms of some of the important things that are happening there. You know, Joe's on the call today for I'd say probably one of the things that's been troublesome. The most troublesome for everybody on the python front and those consuming packages. So you know, we'll get into that as we go down the line. So there's good news there. And the other one that everybody, I think from day one of release was asking was the question, you know, can Python run on Zips? And then the answer to that question was certainly no for quite a long time and has now changed within the last couple of months, too. Yes. So that's a very exciting development. And we're seeing a lot of people really interested in adopting Python workflows and running those things on the Atlas machines. Beyond that, you know, we've been doing our work to keep up with the community. So, you know, we're it's it's core to our mission to make sure that we've got the latest and greatest python supported on the platform. But not only that that we're making it take advantage of those special things that Z has to offer. Right. So in the latest release, 311, we've added support right within Python to take advantage of the enterprise data compression accelerators, accelerators. And so this is a nice feature because you get it for free, right? You don't have to do anything to kind of code to it or take advantage of it. If you've got them in there enabled, it will just work with Python. So lots of great work and lots of great developments on the Python side, and that's just a teaser from there.

Frank Well, in Python 311, across the board was a better performing python. Are we seeing that on the U.S.?

Chad Absolutely, yeah. So there's been some terrific work done in the community to rework some of the guts of the python the python implementation specifically to perform better. And so, you know, this was a concerted effort by the community to take a look at, you know, what are Python workflows, how do they run and why are we here, how can we do better at running them? And so there was a whole kind of re-organization and a breaking down of byte codes and stuff like that that happened in The Interpreter. And the question is, does that pan out into Z? And absolutely, it does pan out into Z. So this is kind of an across the board thing in terms of performance benefits. So I don't want to go into quoting numbers or things of that nature. But on the Net Corp performance benchmarks, we're definitely seeing benefits that match what the community was seeing there.

Frank Yeah. So how long before Python takes over the Z OS world?

Chad Oh, can I defer that one to Joe?

Frank No.

Joe It already has.

Frank Happened.

Joe We just don't know yet.

Chad Exactly. I think it's it's one of those things where the roots are already there. It's just a matter of time for this time the show is.

Frank Well, and that's that to me, a big part of this. And I kind of want both of you guys will weigh in on this. But in my perspective, though, the python work that we you know, that you guys have done, along with things like Zillow or U.S. Open automation utilities, see, I got it all. You know, it really starts to democratize the platform in a way that really has never happened on the platform. People now have a lot more choice and they don't necessarily have to do things the way IBM tells them they should. And so I that's a yeah, I think it's a really important piece. Imagine it. My, my future is always managing the platform with Python instead of JCL. Right. And I'm oh, pause for some listeners to have, you know, a complete nervous breakdown.

Jeff That's obviously one of the big. Hearts of Python success on Z is going to come from packages being available for it because Python is a very extensible language. I'm curious what the process is to in identifying those important packages, because it's not just the big ones that everyone thinks about. It's these tiny little ones that you need that one weird bolt to make a project work. So how do you how do you make sure you have all those bolts in place?

Joe A lot of it's trial and error and inexperience. And one of the reasons that we have gotten to the point now where, you know, between Chad's team and our team here in Poughkeepsie, that we're at least reasonably competent. And what we do these days is that we've made all the mistakes before. Right. I mean, we we originally started diving into the python pool in 2016. We came out with some of our AI related stuff and we pretty much did all the wrong stuff, right. We tried to shoehorn we tried to shoehorn code into packaging mechanisms and delivery channels that didn't make sense. And so what happened is you would you would come out with a product or a function that did something very useful, very cool, but the code would just sit there and rot over time because you had no capability to keep up with the open source community.

Chad Right.

Joe And so there were so many technical issues that were in our way. And over the years we kept identifying what these problems were. And one of the very key ones right from the beginning was to settle on a standardized first class python that we could make part of our regular language environment on us and rely on it and lean on it as heavily as we do the C compiler or any other language on the platform. And once, once, once we put that that group together and Chad became the lead of that, that that's when things really started to take off. That was the major inhibitor that we really that we really faced. And then from then on, it's like, okay, now we can tackle all the other kinds of things primarily how do you stay current? And even just two years ago, currency was all about how do we put the latest function out there, as everyone knows, right? More and more security has become the focus of the open source community. And now currency and security are tightly coupled with one another. So. So as we look forward to how do we best manage the open source community? Number one, we've got our good, solid current language to work from, which solves all a whole host of problems. And from my point of view, the next question is how do we keep up with the open source community when we've got hundreds of packages that we need to put out there? Right. And so you ask the question, how do we make sure that we've got the one little utility that is the, you know, the bolt that holds everything together is even.

Frank Yes.

Joe Yes. Something something profound like that, you know. And in the answers, we just spend time installing things and look for stuff that falls out. Right. And it's not actually even that hard. Python is such a flexible environment, and the package management system that's built into this ecosystem is so flexible and so useful that you go, Well, I've got this set of say, 15 different things that I want to do, but me install 15 and then look at everything that gets dragged in and maybe do some analysis on the dependency trees. And that's everything that I need to know. And you're not going to you're not going to get bitten by that. One thing that's missing, because in order for you to even have installed it in the first place, all these pieces had to be okay.

Jeff So from a currency perspective, how much of that falls on staying up to date? How much of that falls on the developer themselves versus like the mechanism there they're using?

Joe Yeah. The open source community, I saw a statistic that we put in several of the presentations that we've done, which I believe is really true when you when you look at all of the vulnerabilities out there that are exploited in the wild, they're 97% of all of them already have fixes waiting are already available. So what we have to do as a team is make it very easy for our clients to stay current as well. And so the way we used to do things prior to coming with coming up with a more comprehensive open source strategy was that, you know, we would we would go ahead and build ETFs and parse and go through integration testing and system testing and and all the testing that's necessary. And you spend your three weeks to a month trying to get something together when this vulnerability now will be open for 28 days. And. Who knows what kind of damage could be done in time in that time frame. So we're trying to get to the OR we are almost arrived at the point where we can we can keep up with the open source community through modern package management, the package management environment that is integrated with with Python as well. And by the way, every time we run into a really hard problem, I just call Chad and say.

Jeff That's a good scalable solution right there. Yeah.

Joe And he does it every time.

Frank Every single thing that I've had problems with is when I install a package. It's when I have to deal with C code because, you know, I don't have the compiler set up, right? Or are we doing anything to make that easier?

Joe Yeah. Oh, yeah. I don't know. Chad, you want to handle that or I'm also sure if you want.

Chad Yeah, go ahead. I have a couple of things that chime in on that one. So first and foremost, Frank, you have a good observation, right? There's kind of a dividing line. There are packages that are written in pure Python, and I think for the most part, for the lion's share, those just where Joe, you can challenge me on that. But in general, and that's a testament to the Python implementation and just how good the how well the language is designed. So then you get to the packages that have, you know, these built in dependencies and these are usually the more interesting ones right side by side, get learn or, you know, these these little fiddly ones that have, you know, gives you a little driver to some specific thing. So in these cases, you need a C compiler and you need a C compiler that speaks the open source parlance, so to speak. And so, you know, that tends to be something that that would be at odds with our compiler. So your allusion to, you know, getting the compiler set up right and things of that nature, this is where a lot of the package enablement work would be, right? Okay. What options do I need to tell IBM's Z compiler Z COBOL, to make sure that this code will actually compile properly and do the right thing? So one of the big developments that's actually come there is this enablement of the clang in all of the M based C compilers and C++ compilers on Z OS. So these have done a great job at sort of leveling the paint, the playing field in terms of that dialect of C and C++ and the option spaces and supporting those out of the box without needing a lot of tweaking or changing. So that's one big thing that's happened from there. You know, we've also made a version of this compiler available for building Python packages directly. So this is actually a really good thing, right? In terms of, you know, one of the challenges before was, well, I don't have the C compiler, right? So how do I get this? And so that's my solution there. And then, of course, the final and ultimate answer is the Python toolkit is providing actual built versions of these packages for customers to install directly. So then that's the ultimate answer, right? I don't have to deal with any compilers at all. I just love it.

Frank Just give me a we'll. Yeah.

Joe I mean, just, you know, for those who may not understand the Python environment as deeply as the, you know, those of us in the room do. The idea is that you can ship something called a source distribution, and in order to do the install, it actually builds the code on your target system for you. And the Python community has been trying to move away from that to something called a wheel, which is an entirely built, self-contained, you know, as you would think of as an executable that you would run on your system. Right. And so when we have now come out with some of our open source offerings, one of the one of the primary features that we want to make available is that everything will be a built will. It doesn't matter whether the open source community puts out a source distribution or not, we will build it ourselves. You won't need the compiler environment, You won't need you need some runtime parts, you know, maybe, but you won't need the compiler. You won't need all the other build infrastructure to go along with it. And there's a twofold advantage to that. Number one, of course, is you don't have to keep all of this development infrastructure in your production environment. Right. And that's an additional sort of tax to maintain and keep all of that current. The other one, too, is it's a security measure. And one of the, you know, the vector vectors for attack from a bad actor a lot of times is they don't actually have to infect a particular package. They just have to put their malware in something that gets included. And then the build process itself will actually build it into the the deployable unit, the deployable package. And you know, from there they can sneak their code in and it gets past all the scanners. It gets past everything. Right. And so by building the wheels, we can give those to our clients and they can run their own scans if they want, and they'll know everything that's actually going on that system. Right. And they won't have to worry about somebody sneaking something in during the build process as they set up their production environment.

Jeff That's something that's people are showing interest in.

Joe I. I think they're starting to some of our some of our early adopters, they're actually way ahead of us. They they know that's cold, right? Everybody else is like, oh, yeah. You know, I never really thought of that before. Right. But yeah, that's pretty scary. I better I better I better harden myself to that, that kind of thing.

Jeff I could see a company that's a client that's very far along. Just be like, Yeah, we know what we're doing. Just give us the code. Yeah.

Frank Yeah, but. But I know a lot of people worry about something like a python install tool, pep G that goes out to the internet. What do we say to to people who who say, Well, I can't use PEP because I can't trust the Internet because there are bad people there.

Jeff I've seen some of the stuff on the Internet. It's no good.

Frank Yeah.

Joe Yeah. So. Generally speaking, those who are, you know, invested in the open source environment. Well, number one, be running an open source software across multiple platforms. So they already have to interact with the Internet in some form or fashion. And it's not a hard sell to say, look, you've already got your your IBM, your IBM file, your firewall is already open to IBM. We now have a cloud server out there hosted in the IBM Cloud administrated solely by IBM. And you just need to make sure that you can get to this particular server and it only has IBM content on it. It's no different than an FTP site, you know, for service purposes or something like that. Right. So. So generally speaking, those those clients come along and they say, Yeah, okay, I get it. I know how that works. And we're comfortable with that environment. Those are the ones that we're really trying to get, you know, sort of up to speed quickly and in saying, look, you have your workflow or your workload that you're running now, it's running on, you know, a given platform out in the cloud. You can take that and you can move that right over to here and it will be seamless and it will function and perform exactly the way you know it does on your other platforms. And by the way, all of that code is coming directly from us. You're not going out to a community server. You certainly wouldn't want to go out to, you know, several types of community servers out there. And it's not that those those different community servers aren't. I want to be I want to be fair in comments here. Community servers are our servers like like Pi Pi, for instance. So if you know, if you know the python environment, there's a, a large server out there that serves a development community. And anybody who writes a piece of code and wants to make it available to others can post it out onto the pie server. We are running a pie server ourselves, but IBM is the only contributor to it. High paid org serves anyone who wants to set up an ID and so there are multiple vectors of attack that you can that can. They can leverage pi pi four. And it's not his fault at all. It's just the fact that they are a community server open to the public. By keeping our server private and tightly controlled, we prevent a whole host of different kinds of attacks. Right. And so so the point is that that just being able to do that right up front and saying, look, you know, you're getting your code from IBM, We have a whole bunch of stuff we can talk to you about, about the due diligence that we do to to vet all of this ahead of time. You'll probably be bored out of your mind. But we do a lot of work to make sure that works. We're securing the server that everything's on and you got a first class python interpreter and a crack team in Toronto that is, you know, doing all the proper language stuff to give you everything.

Frank You said.

Chad This. Sorry. Just to jump in. I know that that's not to undersell the convenience aspect, too, right? I mean, one of the things, you know, I worked with a customer last week, you know, to go through building a package and they pretty much had the environment. Jones describing I can't download anything on my Xerox machine, so I had to walk them through, okay, get the zip file from GitHub, then upload that zip file, change all of the encoding, then you need to change this, then get your C compiler configured, do the build and then you'll get to install that in your virtual environment. And so you know what that's what customers and users have been facing for several years now. And I can sympathize with them because we've gotten too many of them. Right? So the the Python toolkit is just a pip install pandas and you're off to the races, right. Like it's it's it's a tremendously valuable improvement in terms of of efficiency there. So.

Frank Yeah, I think I think it's critical to have something that looks and feels seamless. The Python programmers for the platform. Right. Can you describe, Joe, you mentioned that this is primarily for IBM product. Do you see that we'd be doing it for non IBM stuff as well?

Joe Yes, definitely. That's sort of the direction we would like to go in. We would like to set up a community of trusted partners that we can work with. And what part of of my job and my focus right now is to set up sort of some of I would refer to it as a playbook or a workflow that says entry into this, into this ecosystem requires that you meet all of these criteria. This is nothing new, and we're not unique in doing this at all. If you go out to the Red Hat marketplace, for instance, right, they have a playbook that says, Here's how you get Red Hat certified in order to post anything to our marketplace. And they have several different vendors that they work with. We can do, you know, similar things for four Zillow's right. And or and for that matter for ZE Linux as well. We don't want to leave them out. This is an IBM Z statement. We set up multiple channels on our server and the Linux community has the same, the same sort of trust challenge that that every other enterprise platform has. People are scared of, of, you know, using the community servers to go out and get their enterprise production level code. They want to go to a trusted source and they want to be able to download and and deploy and feel relatively safe that that someone has done the due diligence to make sure that there's nothing lurking there that's, you know, is really going to harm them.

Frank Yeah. I'm really is somebody who. Who has become dependent on Python. You know, a lot of those small things that aren't really owned by a particular company all becomes kind of important. YAML support, for example. So do you see you guys having vetted versions of those products as well?

Joe Oh yeah. Oh sure. And right. So we started with Python. Certainly Python is one of the most important language environments we can work with, but but the same infrastructure, also services, many other types of languages, right? So if we're talking about markdown, language support, we can service that. We could we can branch out into other languages as well. Not to name any yet because we don't have any solid plans. But we what we did was we built out the infrastructure and we put places where everything can plug in. So the idea is that now that we've built this kind of infrastructure, the next product that comes along won't take a year and a half to get out the door. It will take, you know, six months maybe, right? And when we can keep up much more quickly.

Frank Earlier, Chad, you mentioned that there were some additional capabilities for the for the new Python environment. Can you talk about some of the package stuff that that now comes with Python?

Chad Okay. So in terms of I guess I'll love the package stuff in terms of Python plus the Python toolkit, sort of, I would say consistent things so that the set of packages that are there are actually quite, quite powerful and interesting from a Z perspective and from an animal perspective in particular. So we've we've had a lot of requests. I'll tell you straight up, the number one thing that's in my inbox, if you search is how do I install pandas? I can't I've lost count of how many how many pythons. Right. And I'm happy to say that became pip and sell pandas very recently. So that's a very nice thing to say. But beyond that, you know, things like sci fi and socket litter. And so these are all traditional packages that people are using to do on machine model, model development and model execution. Right? So running in and stuff like that. So there's definitely those kinds of things. There's a whole bunch of frameworks around just Python stuff in terms of supporting those packages. So things like flies and whatnot where, you know, people are running sort of little in-house dashboards or things along those lines. So there's all kinds of interesting things in that realm. So beyond that, you know, there's just a lot of interesting things. As I said, you know, we had a big learning process in terms of, you know, well, what's what's the spectrum of things that are going to work? And, you know, as we talked about earlier, most Python proper things just work straight. And so that's been a really nice thing for us to see because it means, you know, we've done a good job at striking that balance and getting that enablement done while at the same time, you know, getting a benefit for everybody that you can just grab these packages and use them upfront from the building ones. You know, the the ones I've mentioned right side by side, get learn and pandas, all of these are kind of the big ones. There's a couple of other ones, Jupiter and Jupiter notebook. I know everybody loves those ones.

Frank So those are definitely.

Chad Other interesting ones. Yeah. So not to go name dropping packages, I think, you know, those are what we're seeing a lot of people using the new ones and IBM DB and things like that. All of these are, you know, bread and butter for folks by this time. And of course Ansible, our friends at Ansible are also there as well.

Jeff So it's good to hear that if there's if you if somebody has a need, the barrier of entry has been lowered. What if somebody is hearing this and they're saying, okay, it's high past time that I actually try something out here? What will be a good first step for somebody who is, you know, wanting to dip their their foot in the python like.

Joe I would start by installing Chad's, you know, Python interpreter. I mean, it's a it's a zeros feature and, you know, you can order it and put it on your system. And that just gives you the basic tools right up front to play around with things. If you want to experiment a little bit more and you're not sort of in you have any experience in the air arena, you can install what's called the Python tool kit, which you've heard Chad reference several times. It it, it is a just a collection of now soon to be 170 some packages that allow you to do lots of different numerical computations visualizations Jupyter notebook for instance and and you can just play around with them and just assemble these things and say, hey, you know, try things out and see what you can.

Frank And the python I don't even need to, to go through shop, see, to get right. I can go and download that. Right. For myself.

Chad That's right.

Joe Yeah, I would defer to Chad on that one, but.

Frank Yeah.

Chad Yeah, well.

Joe So. But this is also another interesting and interesting dynamic, right? We want the deployment and service and update experience to be consistent. And in in as many cases as we can, identical to what it's like on other platforms. However, when it comes to ordering and entitlement and things like that, we are zero, right? We are geocentric and we still want to be able to fit into that model as well. So there's a lot of work going on trying to say, Well, how do I order this? Well, you can order the Python tool kit today through Shop Z. What do you get? Well, you get nothing.

Jeff You really sell it.

Joe You get you get some instructions that says do these things and and it will you know, it will download on your system. It's a no cost offering with an optional S.A. PID you can order. We want to retain that kind of entitlement infrastructure because that's the way the U.S. world works. And that's how you keep track of your inventory of software. And and so we want to remain consistent with that. But from there on, all of your developers, all of your administrators are now living in the Python world, and they will use PIP to manage their packages. And your ZEO US administrators can say, yep, I've got the, you know, the latest level of the toolkit or the Python SDK on my system because it's it's all part of SMP.

Frank Yeah, but I'm, I'm trying to work out in my in my mind how that's going to work. You know the the thing about Python is that everybody can create their own virtual environments and and now I got, you know, a hundred different people with their own virtual environment and and now I got to go and upgrade. To, you know, three, 12 or whatever the next thing is. Do you guys have ideas on how to make that less painful?

Joe There are, you can set up sort of canonical recipes or reference recipes for Python packages to manage currency. So for instance, with the tool kit, when you install that, the tool kit, every time we come up with what we consider a new point release, we will publish a requirements file which will list every package at the latest version that's currently available, and you can use that as a reference. So if you install, say in January and you pull in the entire suite of packages that are available and the next quarter or six months later you want to upgrade to a point release of the tool kit, you can easily compare the two reference files and see what's changed and then at least you'll be able to say, okay, I've got ten new versions of these different packages and you won't have to replace 170. Maybe you'll have to somehow coordinate the replacement of ten, or you just tell everybody, keep your own requirements, file for your virtual environment and just be prepared to tear it down and rebuild it again. And we will provide the latest and most current packages at this location and within our enterprise so it can be managed. Yeah.

Chad I think that's a good point, Joe. And what I want to expound on right. Know the model with virtual environments and this is sort of a lightweight containerization, right? It's it's meant to bundle dependencies and to give you a tool or a mechanism for isolating yourself from, from these types of things. So that's how that that mechanism is meant to be used. And so the question at the end of the day is what what can you do with those things? Well, you look to the containers model, right, to to understand that. And so, you know, one of the things you don't think about is, well, let's say I want to upgrade to the latest and greatest Python toolkit package lists. Right. But I'm not sure what that does to my application in terms of functionality. I need to test and certify it. Right. You're one new virtual environment away from being able to bring up that application right on those and test it out without, you know, perturbing or destroying your current in production virtual environment. So know important things along those lines as well.

Frank Yeah, but I think I can definitely see the traditional Zoosk community meeting a fair amount of. Advice and counsel on how to do that. I agree.

Chad I agree, Frank. We've been in discussions around this, you know, on numerous fronts in terms of, well, how do I manage a site wide Python installation versus application specific? So there's definitely issues and considerations, too, to be had around there. We've produced some material around sort of advice in terms of how do you do the right thing in terms of deployments and managing. But definitely this is an evolving one. And as we've said, you know, it's kind of exploding and growth and everybody's kind of, you know, kicking the tires and trying things out. I think every every day I hear about somebody new doing something somewhere else. Right. And so the information is coming in in terms of, you know, what's the emerging state of practice and things of that nature. So the the net of that is we're learning. Right? And we're, I think, developing the patterns on that front.

Frank Yeah. I mean, it certainly seems some of the clients that I've been working with in this space have done some pretty neat things to manage that environment. I'm just wondering if we're going to get to the point where we say, okay, here's a maybe not definitive, but a sort of advice that. That we've gleaned from working with some of these these businesses because I think the. The effect of making a change in the U.S. is significantly different than making a change on a, you know, odd server or, you know, angels server. And so providing that kind of support, I think, is going to be really.

Joe Yeah, I think we're going to see several best practices is sort of emerge over the next year as we see these things deploy within our Z enterprise environments. I think people are going to some going to get some really good ideas and say, Hey, I didn't know you can do this with this. I want to, you know, tell the world about it. Right? There's a lot there to learn.

Jeff Obviously, I think we're getting to the point of Python and Z or Z where it okay, it works. It's there, it works. It's not works some of the time kind of thing. And we talked about like some of the I think it was data compression that's like a benefit. Like what are we going to see more that would make us want or need? Are our Python programs to be running on Z?

Joe Certainly zip was one of those things. Go ahead. Yeah. You would know this better than me for sure.

Chad So. So that's actually a really great point to bring up, though. For for two years, it's been the answer to that question with two things. Either I need prebuilt packages or I need zip eligibility for Python. Right. And so we're just dusting the smoke away from both of those things kind of dropping in the last two months or three months. And so, you know, we're we're looking for what's next, in my view. And what I see from from where I sit, we're going to start really harping on, you know, how do we make Python really shine where Z shines, right? So these things where you're connecting to your existing assets and being able to keep those things running safe and secure, but also interoperate with them using Python. So a bunch of stuff in terms of that. And I think you're already seeing kind of the groundswell and sort of the the leaking out of things where people are doing very interesting things along those lines, coming beyond that, just making it run good on Z. You know, now that we've kind of got things stabilized, functional, we've solved the really big kind of adoption pain points. Now the question is, how do we make that experience really great? And I think a lot of that is going to translate into performance, right? And making sure that Python programs run really well on Z.

Joe And there's some evidence of where we're going from the containerized side of the workload or the containerized side of the house. If you look at a lot of the the big work that we've done in AI on Z, a lot of it's containerized and we have a sort of a parallel set of open source channel distribution mechanism that we have for for pi, pi and PIP and, and all of the python packages. But if you look at, at the portfolio of different AI frameworks that we make available as an example, TensorFlow being one, the first thing we did was we made TensorFlow run on, on iOS in a container through Zeke's and the same container can run Alexa on Z. The next thing we did was we integrated it with all the hardware on Z 16, right? So those capabilities are rapidly being built in on the container side, and you're going to see similar kinds of, you know, activity in place to make to make native Z OS Python workloads, you know, follow suit. Right?

Jeff So I see why the answer would be yes. But is is AI the main driver for for all this?

Joe Yeah, it is. But there are huge number of DevOps opportunities too that are out there and that hasn't been sort of front and center of my day job. But it sure is an interesting area that I'd like to, you know, jump into a little more.

Frank But it's actually been.

Joe Yeah, it's, it had.

Frank It's been a most of my day job. Yeah.

Chad So I was going to say oh complement Joe's answer with I actually see the opposite quite quite a bit more on the other side. Right. People doing interesting things like replacing SQL with Python or you know, replacing Rex with Python. I know these are contentious topics for some, but, you know, the reality is some people need a more modern form to express some of these things. Right. And Python is increasingly becoming a very good match for that. So definitely on the dev of side.

Frank Yeah. And not just DevOps, right. I mean the work that, that a lot of the businesses I've been working with is all around automation. I want to start to manage my environment using Python and we are we are now at a point. Where you could manage the platform or at least the resources on the platform using Python instead of JCL. And to me, that's a big deal because I need to engage a generation of CIS Prague's that don't know JCL and don't know racks and Python is a skill they already have. And so I believe this is a big deal for the platform I mentioned earlier on that it's a it's a democratizing for the platform. I see getting to the point where the young guy coming in will have the same level of capability and skill that somebody who's been doing it for quite some time has now. But having said that, you know, a person who's been in managing a system for years needs to understand much more than just, hey, this is how the code runs, right? Like having somebody not have to learn a lot of that basic stuff to be pragmatically using the platform is a big deal. And I think Python is is a key piece of that.

Chad Yeah.

Joe Go ahead, Chad.

Chad I was just to say not to short sell it on just this. You know, we're seeing people adopting it for application development purposes as well. So customers are definitely taking this and writing new applications written in Python video, whether they're interfacing to sea or they're hosting them as restful APIs. You know, we're seeing that that traction on top of that, we're seeing is these recast products and rethink products in terms of adding Python capabilities. So just want to make sure that that's not lost as well.

Joe And when people, you know, look at what we're doing and try to understand why we're, you know, we're going in this direction, it is, of course, for for those of us who work in this community, really satisfying and very a lot of fun to work in this space. But that's not the reason for doing it. If you look at all of the modern library systems that are out there, all the modern automation tools, various workflow mechanisms, the entire world outside of the Z organization is all built and set up to provide the infrastructure to plug your language in here, put these various components in the right place and pushed the go button and that's it. And that's all you have to do. And yeah, maybe you need to write a little bit of glue code, but you can create a new application from open source componentry in a very short period of time. And that's where a whole generation of software developers and engineers have come from, where they can do things in days that would otherwise take, you know, months or, or and then you'd wind up with a set of proprietary code that you now have to maintain yourself. These folks can go now and work with the open source community and say, Oh, I need to upgrade this one component in my workflow and I'm back online again. Right. So it's not as much about Python per se as it is about the entire ecosystem of open source. And Python happens to be one of the best languages to start with.

Frank I know we've been a little bit over time, but I did want to ask earlier on, Chad, you said a flask. So you have a version of flask that will work with Rack F.

Chad Yeah. So this is an interesting thing. So one of the requests we often see is the question of, you know, what if I want to use certificates to manage flask or to secure communications between flask and things of that nature. You know, these are the things that we're wiring together. So yeah, we have an existing prototype that shows how this works, right? And so that the proof is in the pudding. But the the notion is all of these things are just a step away. Right. And that's the really powerful thing that I think, you know, it's good to dwell on is where we're enabling these things and bringing these kind of kind of things that everybody has kind of enjoyed or expected off of those tools otherwise.

Frank Well, I think that's kind of important. As we I've heard that there's this group that that has created a, you know, a Python interface into rack management. Those those guys seem pretty smart now. And I know there's a team out there working on connection to be CPI through through Python and I could see a bunch of you know like utilities really beginning to build this connection that's a little bit deeper into the platform. And so the thought of managing some of this stuff with. With something like Alaska really, really kind of underlines that whole democratization process. Well, I know we're we're way over the bottom of the hour, but this is a topic that's obviously important to me. And can you just poke Jeff, so we can wake him up and then we can.

Jeff I'm good.

Frank Okay. Thanks. Okay.

Jeff I don't I don't have a flask project going on.

Frank So.

Jeff I really can't really contribute here.

Chad Yes.

Frank Yeah, we're all be doing it soon, I'm confident.

Chad All right. I think that's a good point, Frank, just to come back to that. You know, even IBM is starting to deliver software that's that's written in terms of Python. Right. So I think that's a pretty good vote of confidence.

Frank Yeah. And I think, you know, the. The open source community is starting to grow and move in this space. And and I think that's really important that we get away from just IBM and ISV providing capabilities for the platform, you know, open source that they're really as sensitive to Z OS is is very doable at this point.

Joe Yeah.

Chad And very easy. Up. I don't you know writings that always python is there's not super Z OS specific so.

Frank Exactly exactly. Awesome. So. Okay. Over know just giving me the look. So. All right. Old M.

An. Charlie, run us out.

Old Man Charlie You've been listening to terminal talk with Frank and Jeff for questions or comments or if you have a topic you'd like to see covered on a future episode. Direct all correspondence through Contact the terminal talks. That's contact at terminal talk dot net. Until the next time. I'm Charlie Lawrence signing off.

  continue reading

142 bölüm

Alle Folgen

×
 
Loading …

Player FM'e Hoş Geldiniz!

Player FM şu anda sizin için internetteki yüksek kalitedeki podcast'leri arıyor. En iyi podcast uygulaması ve Android, iPhone ve internet üzerinde çalışıyor. Aboneliklerinizi cihazlar arasında eş zamanlamak için üye olun.

 

Hızlı referans rehberi