Jesse Gorzinski on What's Happening in the World of Open Source
In this episode of iTalk With Tuohy, host Paul Tuohy interviews Jesse Gorzinski, business architect for Open Source on IBM i, talks about upcoming features.
By Paul Tuohy10/04/2019
Jesse Gorzinski:Hi, Paul. Thanks for having me today.
Paul:Oh, more than welcome. So—so we've got to start organizing out calendars a bit better, Jesse, to bump into each other again. It's been a while.
Jesse:Yeah. It's been about a year.
Paul:It has been about a year—and so actually in the whole total spirit of open source, I think I'm going to lead this question: So Jesse, what's been happening on IBM i with open source in the last year, bearing in mind [laughs]—bearing in mind we have about 12 minutes here Jesse? Go fast.
Jesse:I'll keep that in mind. I'll try to keep my response under two hours. You know there has been tons that has happened in the past year, and a lot of that is actually due to the changes that I talked about last time I talked to you about a year ago, which is this whole shift from PTF and traditional IBM i delivery mechanisms and build mechanisms into this adoption of Red Hat technology for both the builds and the distributions. So now we're aligned with this greater open source community; we're aligned with what the Red Hat folks are using and that has expanded our capabilities a lot, and so in the last year that's why a lot has happened. We've been doing more and more stuff because we have the proper technology in place to do so. So the big highlight—you know the, if you will—the biggest deliveries that we have from open source from IBM teams are the languages of Node.js and Python, right, and one of the most significant things that's happened in the past year is that the Node.js ecosystem has expanded considerably, right? We have seen so many more people using Node.js—not just toying but deploying things to production. We've been seeing continued growth in the Node.js community as a whole. Of course I think it was last month that Node.js hit a million modules available in the public repository.
Jesse:So that was kind of a good day. It's really growing like wildfire and there's a lot of reasons for that. I could spend a whole hour talking about why Node.js is growing at the rate that it's growing, but we've done some really important things to help Node.js on IBM i, right? So we have really important enhancements to our database connectors—that I won't get into a whole lot of detail with—but we have APIs that are more usable. They are better documented. We have things like connection pooling and convenience methods. So instead of writing 12 lines of code to prepare a statement, define parameters, call some procedure, you can do all that in one code of line or just a couple of lines of code to call a query, get your results, and process them. So a lot has happened in that space. You know also with Node.js and our other languages in general, one of the—I don't want to say quirky, but one of the unique deliveries that we've created this ODBC driver. And so what I mean by that is you know, historically for the past 10-20 years, if you were running an application on a Windows machine and you wanted to talk to IBM i, one of the viable ways that you could do that would be to use ODBC to go connect—and you could connect from Excel or you know whatever programming language you're using. The same applies to Linux, right, because we've provided this ODBC driver for Linux so you can write applications on Linux that talk to IBM i through ODBC. Now we've actually taken that same code base and ported it over to run directly on IBM i itself, which at first seems a little nonsensical to people because it's like "why do I need an ODBC driver on IBM i to talk to my IBM i?" Right? So I like to talk about this as well because we have, you know, a lot of benefits here. The big two are that, you know, for the first time you can write code on your Linux laptop, your Windows laptop and you can write code, step through your code, you know, do whatever you want, and then when you're ready to deploy, you can go deploy it to IBM i and you're running the same code, right? Of course you should still run QA and test and everything on your production machine before you push anything to production. That's common sense. But it'll—it finally allows a really great way to do that, to do this local development and then deploy it wherever you want to, right? So that gives people a lot of flexibility.
Jesse:The other big reason is—oh, go ahead.
Paul:Sorry, yeah. I was going to ask you, Jesse, just to clarify that in my own mind. So really by having the ODBC driver there, that's really making that whole environment, now that open source environment on i if I can extend it that way, just as open as it is from any other platform without having to have special APIs in there to access the database and that? Is that really—
Paul:What it is?
Jesse:That's exactly what it is. That's exactly what it is because, you know—let's say you're a Python programmer and you're, you know, you've done database programming or you're doing database programming. You're probably using a module called PyODBC, right? It's just a standard module that a lot of people know how to use and it has integration with, you know, AI stacks. It has integration with all kinds of IoT—
Jesse:All kinds of other cool stuff, and now you can just use that same package that you would on any other platform talking to any other database, you can use that same package to talk to database on IBM i.
Jesse:Either from IBM i or some other platform. So it really has some unique benefits there. That's also helped grow these ecosystems as well, right?
Jesse:So like Node.js—you know, Node.js is again like I mentioned growing quite a bit, but we're also delivering things that aren't just for the Node.js developer and a great example there is LoopBack. LoopBack is something that I think we're going to be hearing quite a bit about from our customers moving into the future because it's the Node.js framework, but you don't have to necessarily write code to use it, right?
Jesse:You can actually go to this command line interface and you can have data in Db2 and you can expose that data as REST APIs in a matter of, you know, 3-5 minutes, right?
Jesse:You can sit down, walk through these APIs, point it at the data. It figures out the metadata, and boom: you have rest APIs in a matter of minutes. And you can then consume them from the LoopBack client side frameworks or from, you know, any technology of course that consumes RESTs, which would include pretty much any language anywhere, right?
Jesse:And so that's really exciting. You also can build up database tables and LoopBack as well without knowing any intricacies about Db2—
Jesse:Without knowing anything about the uniqueness of IBM i, right? And so it really fits well into that whole skills category as well, you know, when we talk about finding skills and things for the platform.
Jesse:You can know nothing about Db2 but you can say, "here's what my data looks like," and you get REST APIs and if you want, you can say "yup, migrate that into an actual database presence," and boom: you have tables in your schema with your data. Right?
Jesse:So we're—we're doing a lot of fantastic stuff. You know we only have time today for some breadcrumbs, but Node.js ecosystem has expanded considerably in the last year. Python ecosystem has expanded considerably in the past year right so we're doing—you know we've delivered enough of these enabling technologies so that people are doing machine learning. People are doing things like quantum even, one of my favorite things to talk about on IBM i. And so you know we've seen again adoption and the technologies that just plain work just growing considerably. Now the latest thing is of course R. So we delivered yet another programming language on IBM i, so now we have a new ecosystem that has a chance to grow, right? So R today—
Jesse:You can go—
Paul:Okay so I was going to say, Jesse—here can you explain a little bit about what R is? Because I know to a lot of—to a lot of—I know to me when I first heard of it, I was going, "I've never heard of that." So what exactly is R—apart from the Johnny Depp joke I was going to make—but what is R [laughs]?
Jesse:Well I was going to say that's how you can tell if a movie's good or not, right [laughs]? But really R is—it's another programming language, but what it's really specialized in and what it excels at is data analytics. So we're talking statistical analysis, we're talking data mining, we're talking a bit of machine learning. We're talking, you know, the ability to visualize those things as well, right? So there's a lot of overlap even between what R brings and what Python brings, but it really makes sense given the value of IBM i and more specifically, the value of the data that you have in Db2 on IBM i. It makes sense that we deliver as much tools as possible for you to leverage those data points as much as you can, get new insights from your data, right—which is why we built up the stories around Watson, which is why we've invested in the Python ecosystem; in particular, the machine learning ecosystem. It's also why we invested in R because it's just another great tool for getting insights from the data that you have.
Jesse:Right? So we have—you know, those are the big things. Lots of other stuff as well if you go out to you know some of our announced material, the landing pages on developerWorks and so on, you'll see a lot of other stuff out there. You know some of it is really fun to play with, right? One of my favorite sessions that I did at POWER Up earlier this year was an IoT session, right, and we actually brought in a whole bunch of IoT devices, sensors and things. And we actually had some light and temperature sensors that were 3-D printed with the IBM i logo on them and we had them all hooked up to IBM i and DB2, right? So we're in the room and we wave our hand over the light sensor and you see the little LED on the light sensor blink. Then you see, you know, in our Db2 table here's your new—your new data., it just got darker for a subsecond. And here's what the temperature in the room is and so on [laughs]. There's really a lot—
Paul:You have too much time on your hands, Jesse. Stop that [laughs].
Jesse:That's exactly it, you know. But a lot of it, you know—IoT if you look at the industries where IBM i has a strong presence, you know, retail, healthcare, transportation, a lot of those industries are the same industries where IoT devices are expected to gain prevalence in the coming years. So it's good to show that we have all the technology to wire this together and it's actually pretty darn easy.
Paul:Yeah. So—so I've got a funny feeling I'm going to—I know the answer to this before I ask it, but are there other languages, open source languages planned?
Jesse:So right now I'm going to say that, you know—the short answer is actually no, right? Not in the immediate near term because we've done great things to do—you know the term we've been using is normalization, meaning if you—if you get, you know, some new skill, whether it's a new college hire, somebody you found from a job search website or whatever. If you bring in new skill and they don't have IBM i experience, that's okay. They can a productive application developer in zero time almost, right? A couple of weeks later they can be doing free form RPG and contributing positively to your whole stack and we've seen companies, you know, one after the other utilize that advantage. So we've done great things to do that, which is normalize the application development environment in terms of the languages, the tools for those familiar with open source, right? So one of our next top priorities is actually to focus on consumability for perhaps existing IBM i community members who haven't yet stuck their toes in.
Jesse:So yeah, I've been programming, you know, RPG or COBOL or whatever for 20-plus years on IBM i, we're really going to work to make sure that if you want to start expanding your skills into R, into Python, into Node.js that you have the means to do so, right? So we're actually going to focus a lot of getting more kind of click and run tutorials built up with some cookbook style examples and things., and we've done a lot of this work, right? We have examples of here's how to deploy a REST API, and here's how to deploy one with authentication and here's how to do a CRUD application, here's how to do machine learning. We have a lot of that available, but what we're doing is we're actually consolidating that. We're going to really focus on consumability and stability as well, right? So not that there's anything wrong with the stability that we have, but we're really going to focus to make sure that as we have all of these customers now participating in what I call the open source revolution and deploying this stuff and now running their core business with this open source stack, we need to make sure that, you know, we continue to make sure the ecosystem meets their needs. So that's top priority and if it so happens that everybody is running production two months from now and nobody is having problems, the performance is great and the satisfaction is great, then, you know, ask again in two months and I might give you a different answer.
Paul:Okay. Okay so Jesse, there's one thing—I mean and this is more sort of I think what I would consider the more boring side of one of things that happened in the last year—is the support offerings for open source.
Jesse:Yeah—thanks for bringing that up. That's actually really key to confidently deploying open source in production for a lot of our customers, right? So we have—with open source we've always had this notion of community support, right? I mean pretty much any open source package you can go to the community, GIT Hub or Bitbucket or GitLab, open an issue. The developers might provide some fix, some guidance, whatever it is you need and so on, right? That's—in the past that's what really was your only support option for IBM i. Even with OPS, that would have been pretty much impossible to get because no random project on GIT Hub is going to spin you a new PTF right?
Jesse:But and we've had these paid for open source support offerings for a while, right? Power Ruby has the option, Zend Server has support obviously that you can buy and so on, but what we've added is the ability for you to get premium support from this organization called IBM Technology Support Services, or TSS. They support I think something like 180 open source packages now on multiple platforms, which is another part of the value add. So they will support your open source stack on Windows, on Linux, on IBM i, right?
Jesse:And there's some really, really important stuff for IBM i that they can support and they do a fantastic job of supporting. They have something like 19,000 professionals around the world. We even subcontract some stuff to Rogue Wave Software and so on, but you can get now support for Node.js and Python, Jenkins and Apache Tomcat and a bunch more stuff, right? Ant and Maven, some of the newer things we shipped, ActiveMQ. So there's a lot that you can bet this premium support for and it's been a long time in the making but we're really proud to have this. We're already seeing customers, you know, uptaking this guy and being able to now deploy open source confidently—
Jesse:In their organization.
Paul:I mean, I'll—just throwing in my own two cents on that, Jesse—tome it is one of the most important things, because like we know this from going around to clients that one of the greatest resistance you've had to open source from a lot of the more, should I say conservative companies that you get out there is they sort of say, "oh, well there's no support for it. There's no guarantee that a problem will be fixed. There's no—you know there's nobody who will officially help us," and this overcomes that problem.
Jesse:Right, exactly—and if you're curious about whether or not they can suit your needs, you know we have a landing page for this stuff. You can go out, literally click a button that says "schedule a consultation," pick a time on your calendar when you're free, give them your phone number and at that time somebody will call you and they'll say, "oh, I see you're interested in support for Apache Tomcat on IBM i. Let's talk about what we can do for you," right?
Paul:Okay. So listen we're nearly done, Jesse, but—I'm almost afraid to ask you this because I know you're a guy who likes to travel. So where have you been traveling recently—on personal stuff now, not work-wise? What's your most recent personal trip that you've done. So I can hate you some more?
Jesse:So one of my fascinating recent trips was actually California. So I went to the POWER Up 19 conference over in Anaheim, California, this year which of course is at the Disneyland Resort. My wife joined me. That was—that was fun. We went to Disneyland for a couple of days—and you know, I'm a grown man but I still love Disneyland, so that was spectacular. But then we also drove up the Pacific Coast Highway—and so, you know, just a lot of what we say, you know, you got to see elephant seals, you know, kind of basking on the beach and got to see a lot of great scenery and a lot of beautiful coastline. So we drove up all the way up to San Francisco and even a little north of there. We got to see some of the redwood trees and the things up in that area as well. So that was a great trip and something I would recommend for people as well is to go drive the Pacific Coast Highway along the California coast.
Paul:Yeah, I hate you. There. I think that's a good note to leave this on, Jesse [laughs].
Jesse:I hate you too, Paul.
Paul:Oh, thank you. Okay Jesse, so thank you for taking the time to talk to us and bring us up to date.
Jesse:Absolutely. Thank you, Paul.
Paul:Okay everyone. That's it for this iTalk. Tune in again for the next one. Bye for now.
Paul Tuohy has specialized in application development and training on IBM midrange systems for more than 20 years.