The Open Mainframe Project is intended to serve as a focal point for deployment and use of Linux and Open Source in a mainframe computing environment. The Project intends to increase collaboration across the mainframe community and to develop shared tool sets and resources.
These past few weeks were full of excitement and learning for me. The goal of my project is to make docker images for s390x architecture in SUSE Linux Enterprise Server 15 and automate the scheduled build process for clefOS images. The first half of the project was to make the images. We initially planned to build the images for openSUSE, b. But openSUSE had not been kept current with s390x. That forced us to switch to SLES15 instead.
My first challenge was to build a base image of SLES15. The base image will then get used by all of the other images. This was a challenge for me as I had never built a base image before. To accomplish this, Neale, my mentor, provided me an instance of SLES15 linux guest. I accessed the vm and wrote a bash script that will create a chroot environment, add repos to it, install essential packages and finally make a tarball. This tarball will then get utilized by our Dockerfile which builds the base image using `FROM scratch`.
After achieving this goal, I moved on to building more images for SLES 15. Then came MEAN stack. The tech stack of Mongodb, Express, Angular and Nodejs is very popular and we wanted it to be a docker image for s390x base SLES15. But we couldn’t find any official mongodb package for SLES15. I tried using mongodb for SLES12, but it didn’t work as it was unable to find a package `libcrypto` even though it was installed. We finally decided that we will wait for an official release of mongodb for SLES15 before building an image for mongodb and mean stack.
The next phase of the project was building a system to automate the process of building the images so that the images can remain up to date. I achieved it by building a pipeline in Jenkins. The pipeline is scheduled to run once every month automatically every whenever a commit is made to the codebase or. The pipeline executes the appropriate commands to build all of the docker images. This feature allows us to evaluate if a change is breaking the image and pipeline is failing, thus adding CI/CD support to the repository. I am building a similar pipeline for all of the images of clefOS repository as well which will keep the images of clefOS up to date.
Building the pipeline was a challenging part in itself. Jenkinsfile can be used to run bash commands and if the Jenkins server has access to docker daemon building images is quite straightforward. But the problem is you cannot push those images. For that you will need to do docker login and provide credentials which is quite insecure. Here is where docker build plugin comes to the rescue. In a scripted Jenkinsfile this allows you to build a docker image by simply writing:-
app = docker.build“(repo/name”)
This allows us to use the app and push the images to dockerhub by utilizing the credentials plugin of jenkins. But this plugin has a major problem. It only works in the root directory Dockerfile. So when I had to implement a solution for this what I did was simply create an app for each of my docker image and then copy the dockerfile and dependency files to the root directory run docker.build command and move those files back and repeat the procedure for other files. This is the only working solution that I have found which builds the docker images and allows us to push them too from Jenkins itself.
I must say this has been a very challenging as well as rewarding project. Each day, I learn something new and I master it once I implement it a bunch of times. By working on s390x architecture based VMs, I have learnt how does a s390x system works. I am looking forward to working and finishing this project successfully.
Zowe, a project of the Open Mainframe Project, is now available on IBM Z Trial. You can get your hands on a Zowe trial on demand at no charge. This trial environment is a fully configured z/OS environment with Zowe preinstalled and set up along with a set of integrated hands-on tutorials. You can start your Zowe trial experience within hours of completing a simple registration to be assigned with a trial system for 3 days.
In this Zowe trial, you can experience cloud-like modern interfaces that Zowe provides for interacting and working with z/OS. You will also learn how to create and extend Zowe using sample plug-ins and extensions. This trial environment includes a sample Node.js API, a sample web application plug-in, as well as a sample Zowe Command Line Interface (CLI) extension along with all required resources and files.
The trial offers a set of basic scenarios with easy-to-follow instructions that explain how to complete the following tasks. Each scenario takes about 15-20 minutes.
Get started with Zowe, including Zowe Desktop and Zowe CLI
Extend Zowe with new APIs
Extend Zowe Desktop with new web application
Extend Zowe CLI with new CLI commands
New to Zowe? No problem! You can get to know the modern Zowe interfaces through several simple tasks in the “Getting started with Zowe” scenario.
Figure 2. Getting started with Zowe scenario
Already familiar with Zowe? You can learn how to extend Zowe by creating your own APIs and applications by following the step-by-step instructions provided.
We hope you find this trial program informative in getting started with Zowe as you kick-start your journey toward becoming a developer, extender, and/or contributor to this new open source project on z/OS.
Guest blog from Daniel Jast – IBM Z Systems Technical Specialist
The Poughkeepsie Client Experience Center recently hosted the annual IBM Z Summit Program Technical training event titled, zModernization Summit Event. At the training event, we provided 20 of the new IBM Technical Sellers in Z with hands on training in some of the “modernizing” applications on Z. These technologies included CICS, DB2, z/OS Connect, z/OSMF Zowe, Spark, ICP, Docker and more. The week let participants take a cobol application running on z/OS, expose the applications services into APIs, and then create a containerized application with those APIs which was then deployed out to the IBM Cloud. The application that was being run was a stock trading application which allowed users to create an investment portfolio, add stocks to the portfolio, and so on. We then let users get a hands-on experience on the Zowe Desktop and CLI, seeing how easy and simple completing complex z/OS tasks can be for new users by utilizing Zowe.
On the Zowe Desktop, we had created an IFrame application that had the Jupyter Notebooks running right on the Zowe Desktop. Jupyter Notebooks are used to exploit Spark to analyze data sources of your choosing. We had the Jupyter Notebooks analyzing Investment portfolio data which the users had created unknowingly as they worked through the technical labs throughout the week of training.
Training participants thoroughly enjoyed the Zowe and Jupyter Notebook piece. After getting previous training on “green screen” interfaces to z/OS, the Zowe Desktop and Zowe CLI were very well received. The audience was majority straight out of college, matching the target audience for the Zowe platform. When participants were asked what their highlights and key takeaways from the week of training were, some mentioned Zowe explicitly:
“Being able to learn more about Zowe and more innovative technologies integrated with Z.”
“Highlight: Zowe presentation!”
“My favorite (presentation) was the Zowe presentation”
“I think I really enjoyed learning about Zowe, and the hands on lab are super helpful in understanding!”
We are excited to introduce the 2019 Open Mainframe Project interns! This year, we welcome 9 global students – each paired with mentors from OMP member organizations such as Red Hat, IBM, Sine Nomine Associates and SUSE who designed a project to address a specific mainframe development or research challenge.
Welcome interns and we can’t wait to see what you do this year! Here’s a look at this year’s students:
Name: Priyanka Advani
Project: The Compliance Project
Priyanka is pursuing Master’s in Computer Science from Santa Clara University and has 7 years of experience working in mainframe industry. During her industry experience, worked on Insurance and Banking Industry in Test Data Management, ETL Process, Database Refreshes, Data Obfuscation, and many Z-series Automation and Development projects. Prior to that, she received her Bachelor’s degree in Computer Science from India. She is a core technical person by heart and always excited to learn new things.
Name: Kautilya Tripathi
Project: The DockerHub Development Stack
Kutilya Tripathi is a Backend developer who is also known as knrt10 in the open source community. He has learned most of his developer skills while working on personal open source projects or contributing to open source organizations on GitHub. He values open source because for him it’s a way to give something back to the community. He has a wide online presence and an active contributor to open source organizations. You can follow him on Github(knrt10) to learn more about his ongoing open source projects.
Name: Naveen Naidu
Project: Boost Context Module Implementation for s390x
Naveen is a third year Computer Science Undergraduate from Bangalore, India. He goes by the name @Naveenaidu on the internet. He’s inquisitive by nature and has a burning desire to explore various fields to help people benefit from technology. He is an open source aficionado and is the core-developers team of coala(an open source static analytic tool). He also was the 2018’s Google Code In mentor for coala.
When Naveen is AFK (Away from keyboard), he spends his time giving talks and conducting workshops promoting the Open Source Community and it’s advantages. He loves watching animated movies and reading Fantasy Fiction( Lord of Rings being his favorite).
Name: Vedarth Sharma
Project: The DockerHub Development Stack
Vedarth is a very enthusiastic person. Whenever he sees something new he tries to learn more about it. He has been contributing to open source for last two years. He got to learn so much from different projects that he has contributed to and is still finding it interesting to explore new projects. He loves programming and keeping up with new technologies is his hobby.
Name: Yash Jain
Project: Zowe Features Addition
Yash Jain is an software engineering intern with the Open Mainframe Project working on Zowe Feature Addition. He has contributed to Kata containers and has worked on VesitLang, a teaching aid which provides visualization for common graph algorithms. He is a computer engineering student at the University of Mumbai, India. Apart from programming, he loves to play chess and has also participated at the Commonwealth Chess Games.
Name: Usman Haider
Project: Zowe Features Addition
Usman Haider is a graduate student and has experience in programming languages including Python, C, C++, Qt, Typescript, HTML and shell scripting. He is a user and programmer of FOSS for more than 5 years. He loves to contribute in open source projects. He participated in Google Summer of Code and contributed his work to GNSS-SDR project. Usman is a past intern of Open Mainframe project. He is a member of Linux Academy. Usman has just started his journey in mainframe and is interested in Zowe development. Among his interests are Linux development, embedded Linux development, open source software development and packaging, machine learning, and cloud technologies.
Name: Shivam Singhal
Project: The Compliance Project
Shivam is an avid open source contributor. He is 3rd year CSE bachelor student.He is bug squasher @ Mozilla Addons Ecosystem, Mozilla Reps and part of the Featured Add-ons Advisory Board. He loves to hack Firefox Rendering Engine. He lives on internet by the name `championshuttler`. He loves to meet new people, connect, discuss, network and grow, mostly at conferences and tech meet-ups. Most of his weekends spend in Hackathons.
Name: Sladyn Nunes
Project: Big-Endian Support for BoringSSL
Sladyn Nunes is a third year CSE Undergrad from Mumbai University. He enjoys contributing to open source projects and has contributed to coala and honeynet as well as famous repos like git-bug. He has an affinity for competitive programming and the adrenaline rush it brings. He goes by the name sladyn98 on the internet.
Name: Dan Pavel Sinkovicz
Project: Cloud Foundry Operator for Kubernates on Z
Dan Pavel Sinkovicz is a Computer Software Engineering student at the University of Northampton.
Learn more about the mentors and the project here.
Guest blog from Kun LU, Ph.D., Associate Professor, Director of Innovation Practice Center, School of Software Technology – Dalian University of Technology – China
When it comes to the Best DevOps Open Source Project, do you think it has anything to do with the IBM mainframe? Well, it does. Open Mainframe Project’s Zowe, the first open source project based on z/OS, was named as a one of the finalists for the “Best DevOps Open Source Project” category by Devops.com. Zowe is an open source software framework that provides solutions that allow development and operations teams to securely, manage, control, script and develop on the Mainframe like any other cloud platform. Leveraging the Zowe framework, we (DLUT) plan to develop and contribute a few tools to Zowe to help developers be more efficient, productive and agile in their daily work on z/OS.
We will work closely with IBM CSL CICS team and expect to deliver the following tools as Zowe plugins for CICS customers, first for the China market, in 3Q/4Q this year.
CICS Statistics Visualizer plugin
In the past, CICS health status check needs to be done manually by CICS experts who have profound CICS skills and experience. The workflow includes understanding the system design, configuring CICS statistics programs and collecting CICS statistics data from CICS sample region at service peak time by uploading statistics data and analyzing the data, and finally generating reports and diagrams. With CICS Statistics Visualizer plugin on Zowe Web UI, all the work can be done automatically. The plugin also supports statistics data comparison of a single region at different time intervals, which can largely simplify the work the customer used to do before to monitor and analyze the system, like CICS health status change after CICS upgrade or configuration change, the trend of system resource utilization over time etc. Furthermore, key CICS health indicators can also be queried by a simple shell command line through Zowe Command Line Interface (CLI).
CICS Liberty Debugging Assistant plugin
In the past, the customer needs to collect and store a list of debugging information from different storages and locations to troubleshoot a CICS Liberty problem. This includes CICS Job log from mainframe JES, JVM profile and Liberty configuration files, STDERR/STDOUT/JVMTRACE files and Liberty output files like messages.log, trace.log and ffdc from zFS, MVS system dump accompanying with JAVADUMP, SYSDUMP and CEEDUMP dumps depending on the problem. In addition, CICS trace level needs to be configured and Interactive Problem Control System (IPCS) must be used to format the unformatted dumps. With CICS Liberty Debugging Assistant plugin, all the debugging related configuration, debugging information collection and dump formatting can be done conveniently by one-click operation.
CICS Application CI/CD plugin
Nowadays, CI/CD is widely used in software development. More and more customers have increased demand on the z/OS development CI/CD to modernize the mainframe development, integrate with the distributed platform development, and assist the full stack developer to work with the mainframe services. Zowe acts a good platform to eliminate the operation gaps to enable the z/OS development CI/CD, which provides some plugins like CICS and DB2 plugins to help simplify the application development. As Git is widely being used for the distributed development, to centralize the code management, Zowe plugins (or cli) can be built for mainframe DevOps, like:
Trigger the build automation and end to end test automation (e.g. online COBOL or batch COBOL)
Trigger the env update when there is a CICS or DB2 configuration update
Leaders from Red Hat, IBM, Sine Nomine Associates & SUSE will Mentor Interns in dockerHub, Kubernetes and OMP’s Zowe framework
SAN FRANCISCO, May 30, 2019 – The Open Mainframe Project (OMP), an open source initiative that enables collaboration across the mainframe community to develop shared tool sets and resources, announced the launch of this year’s internship program with 9 global students. Each intern will be paired with mentors from Open Mainframe Project member organizations such as Red Hat, IBM, Sine Nomine Associates and SUSE who designed a project to address a specific mainframe development or research challenge.
Mainframes are often seen as traditional and antiquated technology. However, the mainframe is the core IT system handling critical data and applications for organizations in finance, retail, insurance, transportation and the government. In fact, according to Forrester, 96% of new initiatives are powered by mainframes. Open Mainframe Project increases awareness of open source being a technology driver for the mainframe and is dedicated to educating the future mainframe engineers.
In its fourth year, the annual OMP internship program has helped 32 students learn more and gain experience with Linux, open source and mainframes. This year, almost 100 applicants applied, which is a 43% increase from 2018. As a result, OMP increased the number of interns to 9 with six projects including compliance engine, dockerHub development stacks, BoringSSL, Kubernates on Z and Zowe, Open Mainframe Project’s framework that strengthens integration with modern enterprise applications. The mentors will provide regular evaluations and feedback during the 15-week program, which kicks off this week. Interns can work from anywhere and will be invited to travel to an industry conference where they will recap their experience at the end of the internship.
“The mainframe is the heart of many businesses and Open Mainframe Project is dedicated to training the next generation of mainframers to get into a lucrative career,” said John Mertic, Director of Program Management for the Linux Foundation and Open Mainframe Project. “With the ability to work remotely and learn from current leaders, this is a huge stepping stone for students that has an immense impact on the open source and mainframe communities. We look forward to watching their progress and see what these interns can do.”
Hosted by The Linux Foundation, the Open Mainframe Project is comprised of more than 30 business and academic leaders that collaborate to educate the next generation of mainframe engineers including ADP, Broadcom, Docker, Marist, North Carolina A&T State University, Rocket Software, Ubuntu, VCU, Vicom Infinity and William Paterson University. OMP strives to build an inclusive community through investment in programs, career development, and events that provide opportunities to underrepresented and disadvantaged groups around the world.
The Compliance Project: Students will develop a compliance engine where rules are added and then analyze by the compliance engine, which will check whether blockchain records conform to those rules. The two mentors are Petr Novotny, Research Staff Member in Enterprise Solutions group at IBM Research, and Donna Dillenberger, IBM Fellow at IBM’s Watson Research Center will work with Shivam Singhal, a Computer Science and Engineering student at the University of Washington and a bug squasher with Mozilla Addons Ecosystem. Priyanka Advani, a student in the Master’s in Computer Science Program at Santa Clara University, will also work on this project. She has more than seven years of experience working in the mainframe industry.
The DockerHub Development Stacks: This project will produce a suite of Docker images for OpenSUSE and ClefOS (a CentOS clone for Z). These are all based on a CentOS clone called ClefOS. The source for most of these (excluding the OpenShift and Source-to-Image images). Neale Ferguson, Principal Engineer at Sine Nomine Associates, will work closely with Vedarth Sharma, a programmer who has contributed to open source projects for two years, and Kautila Tripathi, a backend developer who has a rich history of contributing to the open source community.
Big-Endian Support for BoringSSL: BoringSSL gained popularity when Google used OpenSSL for many years in various ways and as Google’s product portfolio became more complex, more copies of OpenSSL sprung up and the effort involved in maintaining all these patches in multiple places was growing steadily. This project aims to add support for Big Endian systems such as Z. Neale Ferguson will also lead this project and mentor Sladyn Nunes, a Computer Science and Engineering student from Mumbai University.
Boost Context Module implementation for s390x: – boost.context is a foundational library that provides a cooperative multitasking on a single thread. This project aims to fix the missing module blocks and help other projects get available on the s390x. Dan Horak, Senior Software Engineer at Red Hat, will lead this project with Naveen Naidu, a Computer of Science and Engineering student in India and 2018’s Google Code mentor for Coala.
Cloud Foundry Operator for Kubernates on Z: The goal of this project is to successfully build and test the incubating Cloud Foundry Operator on Z. Vlad Iovanov, Technical Lead for Cloud Foundry at SUSE, will work with Dan Pavel Sinkovicz, a Computer Software Engineering student at the University of Northampton.
Open Mainframe Project’s Zowe Features Addition: Zowe offers modern interfaces to interact with z/OS and allows you to work with z/OS in a way that is similar to what you experience on cloud platforms today. The focus of this project would be to create new applications/plugins for Zowe. Matt Hogstrom, Zowe Leadership Community Chairperson and Chief Architect and Distinguished Engineer for IBM, will mentor Yash Jain, a Computer Science and Engineering student at the University of Mumbai, and Usman Haider, a master’s student at National University of Science Technology.
The Open Mainframe Project is intended to serve as a focal point for deployment and use of Linux and Open Source in a mainframe computing environment. With a vision of Open Source on the Mainframe as the standard for enterprise class systems and applications, the project’s mission is to Build community and adoption of Open Source on the mainframe by eliminating barriers to Open Source adoption on the mainframe, demonstrating the value of the mainframe on technical and business levels, and strengthening collaboration points and resources for the community to thrive. Learn more about the project at https://www.openmainframeproject.org.
About The Linux Foundation
Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation’s projects are critical to the world’s infrastructure including Linux, Kubernetes, Node.js, and more. The Linux Foundation’s methodology focuses on leveraging best practices and addressing the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org.
The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see its trademark usage page: www.linuxfoundation.org/trademark-usage. Linux is a registered trademark of Linus Torvalds.
This blog was written by Andrew Smithson, an active member of Open Mainframe Project’s Zowe community and technical lead for z?OS Connect Enterprise Edition. This blog originally ran on IBM Developer’s website and can be found here.
One of the key features of Zowe version 1 is the API Mediation Layer which provides a single place where you can find all the APIs that are available on your mainframe and access them from a single well known HTTP endpoint. When you first install Zowe, you get the APIs for working with data sets, Jobs, z/OS MF and the API mediation layer itself. If you want to add your own APIs, such as the administration APIs for a z/OS Connect EE server, you can use Zowe to add an existing API without having to change anything in the server that provides the API.
The configuration file contains the information about the server that is displayed in the API Catalog as well as the URI the server is available on. This file is then placed in the config/local/api-defs directory inside the API mediation layer installation directory. The API can be made live by sending an HTTP POST request to the /discovery/api/v1/staticApi of the discovery service. If you use the httpie client, the following command can be used.
http POST https://<hostname>:<port>/discovery/api/v1/staticApi
Written by Kuang Jian, Dean of School of Software Engineering, BUPT
This is a guest blog post by Kuang Jian, Dean of School of Software Engineering at the Beijing University of Posts and Telecommunications (BUPT), a university directly under the administration of the Ministry of Education (MoE) and co-built by the Ministry of Industry and Information Technology(MIIT) in China. It is a comprehensive university with information technology as its main feature, engineering and science as its main focus and a combination of engineering, management, humanities and sciences as its main pursuit, which becomes an important base for fostering high-tech talents.
This blog will provide an overview into how BUPT works with the IBM China University Program and how students were introduced to Open Mainframe Project’s Zowe, an open source software framework for the mainframe that strengthens integration with modern enterprise applications.
Dean Kuang, students & IBMers at the IBM China Systems Lab
BUPT established a partnership with IBM China’s University Program in1996 and has participated in several of the program’s initiatives. In fact, the team from the School of Software Engineering in BUPT won the second place award in the ICBC-IBM FIN-Tech Contest in 2018.
Through the FIN-Tech contest experience, we had some basic knowledge of IBM Z and learned the value it brings to the market. Unlike distributed platforms such as Linux, it’s not easy for students in a university to have hands-on experience on the mainframe. So when Open Mainframe Project’s Zowe was introduced to us, we found it very attractive and wanted to know more.
From initial research, we learned Zowe was released last August to break the silo and reduce the steep learning curve of IBM Z. The Zowe framework provides interoperability and using the latest web technologies among products and solutions from multiple vendors. It helps enable developers to use the familiar, industry-standard, open source tools to access mainframe resources and services. An innovative framework based on a modern technology stack, Zowe provides the perfect opportunity for students to become the next generation of mainframers.
In addition to learning more about Zowe, the IBM China Systems Lab invited us to visit the China Systems Center for a mainframe tour. It was an amazing experience that inspired our students to join the Zowe community.
IBM Z expert introducing IBM Z14 and Storage DS8000 to Dean Kuang & students
We are collaborating with IBM to develop a native Zowe application plugin with configurable page and widgets to view data provided by IBM Z automation and monitoring products. We recently kicked off this project with three postgraduate students, who have already been assigned to work together with IBM advisors. We believe our students can complete the project successfully with their passion and the support from IBM and Open Mainframe Project. We are also eager to extend our knowledge and skill to open source and IBM Z and contribute code back to the Zowe community. Stay tuned for more details and updates…
Joe Winchester, Senior Technical Staff Member of IBM gives details on the feedback that was received during the recent “Play Forward” open call for The Open Mainframe Project’s Zowe framework. Joe also explains how the Zowe onboarding squad is looking to engage Zowe users with its “Componentize, Update, Package, Install, Distribute, Support” initiative to improve the Zowe installation process.
New releases of Zowe are fresh installs that are unable to share configuration and customization of previous releases.
Configuration data is held in the same directory as the runtime. In order to launch multiple Zowe instances on different ports or different configurations requires different full installs
The lack of an enterprise installer inhibits deployment into production without install history auditing, rollback, and other features that SMP/e provides.
There is no prescribed location that a single shared and managed Zowe release gets installed into an LPAR that can be shared by different tools wishing to extend that single base. Without this there is the risk of a proliferation of Zowe instances on an LPAR. This widens the number of Zowe instances requiring maintenance and support as well as undermining the cross tool integration that is one of Zowe’s core goals.
Zowe brings up many address spaces for functions that not all customers wish to use. Customers have asked for a more modular startup process as well as the ability to lifecycle address spaces independently similar to a micro-service runtime stack.
Customers want the choice to consume Zowe releases, including PTFs and APARs, from commercial companies who extend Zowe through the support channels of the commercial company they have a relationship or contract with, but without impacting the ability to blend the solutions from commercial companies across a shared core Zowe software stack.
The onboarding squad in the Zowe project, which is a sub-group within the Zowe project that focuses on helping those new to Zowe with getting it successfully installed, is looking to improve this. Under an effort called “Componentize, Update, Package, Installl, Distribute, Support”, the onboarding squad wants to engage anyone who has installed Zowe to contribute to making the install experience better. Specific ideas being discussed include:
Provide an SMP/e distribution with the ability for z/OS customers to consume base Zowe as well as apply PTFs and APARs.
Separate runtime from launchtime data, with configuration variables being specified in a PARMLIB member so that independent launches of Zowe can be run with isolated ports and dynamic environment data
Allow Zowe to be started in a more controlled way so that individual microservices can be independently started and stopped without bouncing the entire started task.
Allow Zowe’s core function to be extended with new API servers and desktop applications at launch time without the base Zowe file structure requiring modification
Being an open source project means everyone can contribute to Zowe’s success, and this is a great opportunity to get started. Even if you can’t make the call, join the #zowe-onboarding channel on Slack or submit issues to the Install GitHub Repo to also participate in this work.
This blog originally ran on the IBM Developer blog. You can view the blog here.
In today’s episode of the “I Am A Mainframer” podcast, Steven Dickens sits down with Usman Haider. Usman is a masters student at NUST University in Pakistan and an alumni of the Open Mainframe Project internship program. Usman tells Steven about his experience in the program, his thoughts about the mainframe, and it’s future.
Steven Dickens: Hello, my name is Steven Dickens and you’ve tuned into the I Am A Mainframer podcast, brought to you by the Linux Foundation. We’re a collaborative project under the Linux Foundation focused on the mainframe platform. And I’m joined today by Osman Haider who’s one of our former interns and who’s also loved the experience so much the discipline for this year’s internship program. Usman’s a master student at Nest University in Pakistan. An end to end developer who’s got experience with several programming languages. I’m really excited to talk to us as men. Usman, welcome to the show.
Usman Haider: Thank you. It’s a pleasure to be here with you today.
Steven: Fantastic. Usman tell the listeners and me a little bit about yourself. Tell us a little bit about your background and what you’re doing out there in the community.
Usman: So I am basically an electrical engineer. I did my bachelor’s in 2011 and since then I’ve been developing software in different programming languages. I’m an electrical engineer, but my interest in software is growing because of the open source community. And I love to contribute to open source projects and technologies, and my main interests are Linux development open source software development packaging cloud technologies software development for embedded systems. Currently, I am working towards overdevelopment I am and I am really interested in that.
Steven: Oh, fantastic. So interesting background not been in the industry that long, which is always good to hear. Tell me a little bit about how you got interested in the mainframe.
Usman: So, I am basically using Linux for more than five years. Last year when I was looking for an open source project to work during the summer, I came across a blog post and there was a topic that was mentioning the Master the Mainframe contest. So, I read the read about that and I started using the Z/OS system. And then I got to learn about the mainframe systems. That’s how I got inserted in mainframe, it’s power, it brings to the table, and the security. That was really when I decided to join the mainframe community.
Steven: Tell me a little bit about how you found the Master the Mainframe contest what your perspective was getting onto the platform and how you really found that as an on-ramp into the technology.
Usman: So I really like the idea about the contest, because it gives you a hands-on experience. It gives you access to the platform in a way that you don’t get. You don’t get access to Z/OS or the mainframe. For example, Linux architecture or the x86 machines are everywhere, but the Z systems or the mainframe systems are very hard to find. You don’t have any online access to those systems. So for students, it is a very good opportunity to get hands-on with the mainframe architecture and the z/OS.
It also covered all the technologies. So, I really the mainframe and I recommended it to other students as well and I am planning to do this again next year.
Steven: Oh, fantastic. So, you’re looking to enter the competition again next year?
Usman: Yes. And I’m also telling other students to go look for the contest and get hands-on with the mainframe contest, because I came to know that this skill is valuable. You can get people that know c++, Python, & x86. But this skill, I find it rare. So that’s why I am telling my fellow students and my fellow colleagues as well to really get hands-on with this.
Steven: Fantastic. So, you were an alumni of the Open Mainframe Project internship program, which just I think closed the applications for 2019. Could you give us a perspective of how you found that program what you were working on, and what your project was like?
Usman: So, I like the whole process of that internship program right from the student application to selection and to the completion of the internship program. The application process is very easy and consisted of answering a few questions only. You just have to give a few details about the project you are proposing. So, it’s not very hard for a student to apply. It’s not very time-consuming. So, it’s very easy for the students to apply and also there are a lot of good projects for students to choose from. There was information about the mentors, so they can always contact their mentors and see if a project fits their skill. So, my past experiences are very good.
I really like the idea of the kickoff call where all the selected students interact with each other. They tell each other about their skills and what projects they will work on. So, everyone knows who will be working on which project which is very good.
Steven: So I know to see it in the notes that was shared before us joining the podcast together that you did some really cool projects in your internship. Could you maybe share what you were doing with some of the listeners, so they can get an awareness of some of the projects that you were involved in?
Usman: So I selected the project that was titled “Increase the number of s390x packages in SUSE Package Hub Project”. Although I had development and very basic software packaging experience, I never used something like Open Build Service. Open Build Service is a platform that allows you to package your software for different architectures and different distributions. So, a large number of developers are using OBS for packaging and many companies are also making use of it. So obviously it is a very active IRC channel and community, and they collaborate very well. So, I saw this as an opportunity to learn from and interact with experienced individuals and professionals.
So, during the internship, I worked on packaging the open source software for the s390x architecture. The main idea was to select different software packages like Zabbix, Icinga and Cacti that are monitoring packages, and to build and test those packages for S390X architectures For that testing, I got online access to the S390C machine using the IBM community cloud. I built all the software and then I deployed the software on the s390X. Then I tested the software, removed any bugs or reported any potential bugs to the community of mainframers.
There are a lot of open source packages available for Linux and what we were targeting in that project was to pull those packages to s390x as much as we could. So we were four students that were working on that project and we have all contributed a large number of packages. People can use those packages on S390 X machines. All those packages are available now on OBS and anyone can use them.
Steven: Fantastic. So it sounds like you had a packed few months. What were the biggest challenges that you faced and kind how did you overcome them?
Usman: The biggest challenge as an intern was to get started. There were a lot of projects and the biggest challenge was selecting the right project. But after that, there was a great mentorship from my mentor. He worked at SUSE as an engineer and he really helped us a lot. Everything worked as planned. So, there were no problems during the internship. So, the only challenge I think, was the project selection, because there were so many group projects and good mentors.
Steven: Okay. So, I noticed here in some of the notes that you’ve started to get involved in the Zowe community and that you’ve started to contribute and engaged there. How’s that been as a new platform to really get involved with? Obviously, it looks like you’ve done some good work in the Linux space. How are you finding that sort of front end to the z/OS environment, IE: Zowe?
Usman: So after I went through the Master the Mainframe contest, the feed it gives you is not very user friendly. It’s a black screen and you get to use a keyboard, and you navigate from using the keyboard. But after getting to know about Zowe in the last open source conference in Anambra, IBM introduced to Zowe. I really like the interface.
The reason why I’m so excited is that it is going to change the feel of the mainframe. I see this could be a big shift. It can attract more users and more customers. The purpose of Zowe I think is to make the platform more accessible. But in the meantime, we should not compromise on the scalability and security or any other useful feature that the platform is currently providing.
So, I think Zowe will bring in contribution from the large open source community because it’s an open source project. All of the open source developers can contribute and there is access to the Zowe machine. I think this can lead to potentially increase the number of consumers as well. So that’s why I’m really interested. We can make a big shift in the mainframe.
Steven: That’s an interesting perspective I think even with your insight, you’re spot on with where the community sees in that platform and the impact it’s going to have on both the existing mainframe clients but also bring in new clients into the platform.
So one of the questions I always ask my guests on the show is, where do you see the platform in two to three years time? How do you see some of the shifts we’re seeing in the mainframe space?
Usman: The mainframe in two or three years will be about adding security, the Internet of Things. The machine learning internet of things. Everything is connected, so that’s security’s main concern.
With the IoT and machine learning coming, you need a computational power as well. So, the mainframe is providing you both the computational power and security. The two main technologies you need in two to three years. I have seen technologies at the open source summit, the machine learning things on the IBM platforms, the speech to text things and the image recognition things on the IBM mainframe platforms. So I really see mainframe growing in these two fields. So I really see a big boost or increase in two, three years.
Steven: Yeah, we tend to see the same thread. I mean, it’s interesting seeing have clients are picking up on that security thread. I was reading an interesting piece that says your organization is either a data securer or a data abuser. I think a lot of people are going to see themselves on either side of that. People are going to choose who they place their business with depending on whether people are a data securer or an abuser. I think obviously we see the mainframe as a platform to enable people to secure their data provide that trust that clients.
So, as we start to wrap up. Is there anything else you want to share with the group before we bring this to a close? Are there any other parting comments?
Usman: One thing I want to mention is that there is not so much awareness in students and universities about the mainframe. Maybe I am wrong, but that that is what I think. When I attended the conference last year, I met people from different universities. There were people from 80 countries at the last Open Source Summit and I discussed mainframes with them, and there were I think only 10% of people who really knew about the mainframe. So, I wanted to highlight this point that if there could be a promotional campaign or some awareness. The community is already doing great. They are very welcoming to new people, but maybe if something can be improved, about the awareness of the mainframe and the access to the mainframe can be useful for the mainframe and the community as well.
Steven: You’re taking a part in that promotion today by spending some time with us on the Open Mainframe Project podcast. So, thank you for helping us get the message out Usman. It’s been great to talk to you. Thank you very much for your time today.
Usman: Thank you so much. Thank you for giving me your time and for giving me the opportunity to talk about the mainframe.
Steven: So thank you for listening. My name is Steven Dickens. I’ve been your host today. I’ve been joined by Usman Haider who’s one of the great community members impacting how this platform is perceived out there in the academic community and in the community as a whole. Hopefully, we’re going to be seeing a lot more advertisement as he continues to expand these efforts. Please subscribe to this podcast for future episodes. And with that, I’ll bring today’s episode to a close. Thank you for joining us on The Open mainframe project. I’m a mainframe or podcast.