Zowe enables the continuing evolution of z/OS
Find out how Zowe uses modern CI/CD pipeline processes with IBM Z to deliver functionality efficiently
IBM Z is celebrating 56 years since the original introduction of the IBM System/360. Many factors have contributed to the system’s longevity — one is the platform’s ability to adapt to the changing needs of the information technology (IT) market. In the early days of computing, batch processing dominated, then transaction processing, then client-server, and now cloud computing. Cloud computing is based on a vast number of open source technologies. Today, IBM Z’s evolution continues to embrace open source — specifically for z/OS.
Zowe™ is an open source, integrated, and extensible software framework that provides cloud-like interfaces to z/OS. It includes key out-of-box applications such as a file editor, terminal emulation, and tools for working with z/OS services like Job Entry Systems (JES) and the console. Zowe is praised for being open source, and many of its uses derive from the fact that it provides an executable collection of services that anyone can exploit.
Zowe has two main use cases:
- It can be used as infrastructure for existing products to help accelerate their evolution to hybrid cloud technologies.
- For customers with a do-it-yourself (DIY) mindset, Zowe can be used as a platform for creating their own applications and integration techniques inside the enterprise.
Zowe’s primary focus is back-office IT staff and not necessarily line-of-business applications. While Zowe technology can be used in any number of ways, the direction is generally for z/OS to be more consumable to next-generation IT personnel.
The z/OS operating system has a long history of supporting open source software. Typically, however, technologies have started on non-IBM Z environments (distributed systems or cloud) and software has been ported to z/OS to take advantage of capabilities like hardware scalability or high availability. Zowe is slightly different in this regard as it is open source software for z/OS by z/OS skilled contributors. Yes, some components of Zowe originated from open source, but much of the Zowe design and development is for z/OS as opposed to a port to z/OS.
Zowe addresses three situations that exist with z/OS today:
- It makes z/OS services more accessible to the next generation of IT staff who understand technologies such as REST APIs and web application development, or who might prefer scriptable command-line interfaces.
- It provides new ways to integrate z/OS into a hybrid cloud environment by allowing z/OS to appear cloud-like, but also providing, for example, a REST API catalog and a single, secure point of entry to the services.
- Zowe technology provides a way for existing z/OS products to better integrate the user experience by breaking down silos and allowing the use of either a web-based, desktop, or command-line motif.
There is a wealth of material on Zowe that can be used for self-paced education. See Zowe.org for additional information. The Zowe initiative plays an integral role in modernizing mainframes to meet current business needs. It provides cloud interfaces that allow users to interface with z/OS, and a set of capabilities for applications development. Zowe consists of the following components:
- Zowe Application Framework — a virtual desktop provided via a web user interface
- API Mediation Layer — a reverse proxy gateway for z/OS services with a set of REST APIs
- Zowe CLI — a command-line interface (CLI) that allows users to interface with the mainframe
IBM also offers Zowe on zTrial to provide individuals a free test drive of the technology. You can also access the Zowe trial in our Zowe WebUi tutorial. After you receive your credentials, you can use a variety of methods to access the mainframe, such as:
- Zowe CLI
- Access an SSH client
- Using a TN3270 emulator
- Using a browser via Zowe desktop
At the February SHARE conference in Fort Worth, Texas, the Zowe open community announced Zowe V1.9, which was declared an “Active Long-Term Support (LTS)” release. This means the release will be supported by the open community for at least two years without breaking changes, a key requirement for customers and software vendors. The term Active LTS is analogous to IBM’s Continuous Delivery — both enhancements and fixes will be delivered in the future. Zowe is on a four-to-six-week delivery process, which may be surprising to people who think of the mainframe as have long delivery cycles. One key to this rate of enhancement is the use of a Continuous Integration/Continuous Delivery (CI/CD) process.
CI/CD development process
Zowe is not only about modern technologies, but also delivering modern processes of development and testing. With the help of Marist College, which provides the Zowe test and build environment, Zowe has implemented a Continuous Integration/Continuous Deployment (CI/CD) pipeline.
The Zowe DevOps process is a highly efficient CI/CD pipeline process as illustrated below:
The infrastructure is a combination of cloud technologies and the IBM mainframe. More than 50 Jenkins jobs can be run in parallel. As the central part of the architecture, the Zowe Jenkins server grabs the most recent code and Jenkins pipeline from GitHub and starts every job in isolated, disposable Docker containers. This guarantees the reliability of the build and test results. Depending on the purpose of the Jenkins job, it may connect to z/OS servers for packaging and running integration tests, publish the build result into Artifactory, generate documentation, release new versions, tag the code base, bump the code version, or even create GitHub pull requests automatically. The Zowe continuous integration process also allows developers to create customized builds (by including customized sub-components) and test them in automated fashion before merging the changes into the main development branch. This provides developers of Zowe components a chance to verify their changes without releasing their components.
With Ansible, the mainframe is embedded into the whole CI/CD picture. With z/OS systems provided by the IBM Z Community Cloud hosted at Marist College, the Zowe project has the ability to automate both continuous integration and continuous deployment processes. Zowe ships in both Portable Archive eXchange (PAX) and System Modification Program/Extended (SMP/E) formats. To build Zowe in those formats, we rely on the z/OS systems to generate them. For Zowe components, we also run integration tests on real z/OS systems which provide trustworthy test results. Multiple installation test scenarios are also run to help identify issues quickly during the daily development process. With the multiple instances from the IBM Z Community Cloud, Zowe can also automate testing on other security systems like CA ACF2™ and CA Top Secret®.
The Zowe CI/CD process also utilizes IBM Z Development and Test Environment (zD&T) in a modern cloud experience. With the contributions from the zD&T team, we have the ability to launch a z/OS system in a Docker container on demand, to backup and overwrite z/OS system snapshots, to run multiple different z/OS systems at the same time, and to recycle the z/OS system when the test is done. This provides a clean, recyclable testing environment without concerns about changes made by other users or services running on the system.
As an open source community, Zowe’s CI/CD process has benefited from the contributions across companies and teams such as IBM Z Community Cloud, Marist College, IBM zD&T, Zowe cross-companies CI/CD squad, and Broadcom CA ACF2 and CA Top Secret experts.
As you can see, IBM z/OS has embraced the latest CI/CD technology of GitHub, Jenkins, Docker, containers concepts, and Ansible. z/OS is experiencing renewed growth — especially in the eyes of the next generation of IT staff — with Zowe open source technology and the community of contributors behind it. This is additional evidence that z/OS is adaptable and can evolve. Zowe is a piece of the next chapter for the z/OS platform. Call it the long-lived chameleon of the IT industry.