Building upon our previous look at z/OS Container Extensions (zCX), we spoke with Kershaw Mehta, chief architect at IBM, about the potential capabilities of containers for organizations, including those moving to the cloud. In the "Introducing z/OS Containers" session at SHARE Virtual 2020, Mehta and James Lund, chief systems engineer at Texas A&M University, indicated that z/OS containers, once made generally available, will enable new and existing applications and middleware runtimes to be packaged and run in a new Cloud Native approach. Application developers, they say, can use containers to run applications more securely, while achieving scalability.
Mehta says that z/OS containers are an "application developer-centric model, where developers stand up applications and consume computing resources in a self-service model in an isolated, approved environment." Increasingly, developers are deploying applications through containers, and z/OS containers are bringing that technology to the mainframe platform. "Because these applications would normally be running in isolated environments, multiple instances of the same application could be deployed through z/OS containers, allowing developers to have a cloud native development experience that is consistent with other platforms," he explains.
Be Cloud Ready
"When you look under the cover of workload deployments targeted for a cloud environment today, you quickly learn these applications are deployed as containers," says Mehta. "Said differently, before considering deploying an application to the cloud, the application needs to be packaged and deployed as a container." Organizations need to identify and package all of the dependencies and configuration information that applications rely upon to make them self-contained and cloud ready. Once achieved, the application can be deployed into an environment and infrastructure that could be managed and configured by a different party, he explains. "This is why we say containers are the currency for cloud," Mehta adds.
Top Three Benefits of Running Applications in Containers
There are a number of advantages to running applications in containers. Mehta says, "First and foremost, applications become more portable across development, test, and production environments because containers contain all application dependencies." Secondly, he explains that containers allow multiple instances of an application to run on the same server, which is especially useful in development and testing environments. Finally, Mehta points out that "integrating containers into a DevOps pipeline reduces the complexity of managing applications across multiple environments and increases automation capabilities." However, he warns that not all applications can run as containers. Applications that need to maintain a state, like databases, will not run in containers, but applications that connect to a database could.
Top Three Features of Containers
Mehta explains that organizations that deploy z/OS containers will find they can use a consistent set of tools and skills across their IT departments during the application development and deployment process. Because the deployment of applications and provisioning of facilities meet developers' expectations and support an agile development process, he adds, businesses can bring applications to market a lot faster and implement changes a lot quicker. Moreover, Mehta states that applications running in containers can be deployed and managed using an industry standard means of orchestration (e.g. Kubernetes). Businesses can now use a centralized orchestrator to deploy containers across a broad landscape of container-supporting platforms, he adds.
IBM's z/OS containers will follow two Open Container Initiative standards: image specification, which defines how container images are built; and container runtime specification, which is how these images should behave when running as a container. Mehta says these standards enable z/OS containers to integrate into a Kubernetes framework, thereby allowing z/OS applications running as containers to be orchestrated from a centralized facility. This facility could be used to deploy other containers on other platforms.
Mehta explains that implementing container technology on z/OS will take advantage of some of the Quality of Service technologies already on the platform. "We view the advent of z/OS containers as the next epic step in the evolution of the z/OS platform," he says. The z/OS container journey will be incremental, he adds, enabling different groups of workloads over time. "Not only are we talking about modernizing application development and deployment on the platform, but also the underlying technologies needed to enable z/OS containers are wide-sweeping and beneficial for other purposes."