Skip to main content

The Power of Containers on the Mainframe

Acronyms drive me crazy—and having worked more than 30 years for a company that made its living on acronyms…you can understand why. Enter: zCX, or IBM z/OS Container Extensions. It was released for z/OS 2.4 and provides Docker Swarm as support for Docker containers and cluster management. zCX is the vehicle that allows your IBM Z mainframe to work with containers. 

zCX enables users to execute multiple applications on a single mainframe system. Containers are like virtual machines, but more lightweight and efficient. They can be used to run different versions of an application, or to run multiple applications that need to share resources.

zCX is a new entitled capability beginning with z/OS 2.4. This feature allows the mainframe to support the execution of Linux applications directly on z/OS. The container images are packaged as the popular Docker container images on z/OS. Within the Docker images, the DevOps team can develop, and data centers can operate popular open-source packages, including Linux applications, IBM software and third-party software together with z/OS applications and data.

This means that you can use all the features of Linux, such as the Linux kernel, the Linux file system and the Linux networking stack, on z/OS.

The Benefits of zCX

Containers on Z offer several benefits. First: They increase the efficiency of solutions, with the ability to execute multiple applications on a single mainframe system. Most importantly, this leads to a reduction in the types and amounts of hardware and software that you need, which can—and does—affect your bottom-line capital expenditures.

The agility is also vastly improved as container technology can be used to deploy new applications quickly and easily, or update existing applications. The result: A more productive DevOps team.

Finally, the isolation factor that containers provide keeps applications from interfering with each other, helping prevent security breaches.

If you are looking for a way to run Linux applications on z/OS, zCX is a good option.

How zCX Works

zCX uses a Linux kernel and other Linux components to run Linux applications on z/OS.

The Linux kernel is the main component of the Linux operating system. Here lies the basic services required by other components of the Linux operating system.

The Linux file system enables users to store files on Linux systems and utilize the appropriate file structure and make-up. It provides several features that make it easy to manage files on Linux systems.

The Linux networking stack provides the ability to connect Linux systems, not only with each other but also to the internet.

Running zCX on z/OS

Common applications that are executed using zCX include: web servers, databases, application servers, development tools and automation routines.

In order to take advantage of zCX in your mainframe environment you will need to install zCX on your z/OS operating system. From there, you will be able to create your first Docker (Linux) container image. Then, you can execute the created Linux container image on z/OS.

Creating a Linux container image is a relatively simple process. You can use a tool such as Docker to create a Linux container image, then run it on z/OS by using the “docker run” command.

There can be a bit of a learning curve when taking on the task of using z/OS container images. You need to have some familiarity with Linux containers and how they work. You should also get to know Kubernetes as a container orchestrator. With the topic of security, containers can be isolated from each other, but they can also be vulnerable to security breaches. Security needs to be considered to prevent issues from happening. Security is typically built into the containers and buffeted by the OS, but considerations need to be a first thought. Portability of containers is a strong feature of the technology, but you need to make sure you research the topic of compatibility with other host systems.

According to Sam D’Angelo, associate director and mainframe architect at Kyndryl:

“Running zCX containers is an excellent opportunity for organizations who do not utilize IFLs (Integrated Facility for Linux specialty processors) in their environment but want to modernize their mainframe ecosystem. The journey into zCX is an exciting one which begins with close communications with an organization’s application group followed by a POC. With proximity to data being the primary use case, a careful look at costs needs to be considered as part of the evaluation. Since zCX was observed to be resource intensive, a careful cost-benefit analysis is recommended. Depending on an organization’s cost structure of capacity, the decision to leverage zCX may be challenging.”

I’ve included a very helpful IBM Redbook for further reading: Getting started with z/OS Container Extensions and Docker (ibm.com)

The major benefit of the z/OS container circles around the differences in the way applications are installed on z/OS today. This involves several steps. First, SMP/E is used to install the software package. Next, the software can be apportioned to the various environments for runtime where it can be tested for break/fail considerations. Finally, after these steps, the software is released to the mainframe infrastructure team for use.

Containers on z/OS are viewed as a solution to this time-eating approach. Stability with containers comes out of the box as the image produced for the container; it is, for the most part, not changed once it leaves development and moves into production. Thus, the major benefit of the container’s technology.

The Lasting Power of IBM Z

IBM understands the value of implementing zCX on the mainframe platform. Implementing z/OS containers is a move that adds even more resiliency to the platform, not to mention it brings an accepted distributed platform technology to the power of IBM Z.

The use cases for containers on z/OS are quite limitless. From a DevOps perspective, research topics like the automation of code builds with Jenkins, using RedHat Ansible for the automation of deployment and testing, or using Jenkins as a deployment agent. Monitoring of the containers on z/OS is accomplished, in one way, by using the free of charge IBM Service Management Unite solution. The IBM Redbook has more helpful information.

The topic of zCX is a compelling story of a technology that strengthens the z/OS platform by providing increased functionality of the container methodology. IBM Z continues to modernize! This is why IBM Z runs our world economy—and will do so for the foreseeable future.