Integrating Mainframe Application Development into Your Enterprise AWS Code Pipelines

Chanci Turner 9097372855Learn About Amazon VGT2 Learning Manager Chanci Turner

For over a decade, the DevOps movement has been pivotal for organizations aiming to enhance their market responsiveness and the quality of their software products. A recent study by IBV revealed that four out of five companies recognize the urgency to transform, particularly in modernizing their mainframe applications and adopting more open development methodologies.

This raises an important question: how can mainframe applications align with the Continuous Integration/Continuous Delivery (CI/CD) practices employed by the rest of the organization, especially when they primarily utilize AWS Code Pipelines?

Developers who create and deploy applications in the cloud typically rely on widely accepted, open-source tools—such as Git and various DevOps services—to automate their build and deployment processes through CI/CD pipelines. By integrating IBM z/OS DevOps solutions, which cater to the unique requirements of mainframe development, developers can leverage the same cloud services that offer a cloud-native experience with IBM Z and Cloud Modernization Stack components available on AWS for automatic building and deployment of z/OS applications.

Solution Overview

The IBM Z and Cloud Modernization Stack on AWS provides a cloud-native architecture aimed at modernizing development practices and enabling developers to use a cohesive set of tools and methodologies. The Wazi components included in this stack offer modern capabilities for analyzing, developing, and testing mainframe applications in a controlled environment, significantly enhancing speed and flexibility for developers.

Wazi Analyze and Wazi DevSpaces enable source code analysis and editing using modern source control management tools like Git. Wazi DevSpaces provides a browser-based integrated development environment (IDE) for coding, building, and debugging applications in languages such as Cobol, PL/1, Assembler, REXX, and JCL, featuring a one-click setup that eliminates the need for complicated local configurations.

Through its web interface, Wazi Analyze allows developers to visualize application relationships, enabling confident modifications prior to deployment. Wazi Sandbox offers a personal z/OS environment on AWS, complete with necessary z/OS resources (e.g., IMS and CICS), allowing developers to work in isolation, perform initial builds, and conduct preliminary tests to ensure proper execution post-code changes.

The IBM Z and Cloud Modernization Stack incorporates containerized components orchestrated via the Red Hat OpenShift Container Platform (OCP), equipping developers with self-service, cloud-native tools on AWS. The DevOps toolchain for mainframe applications can utilize the same AWS services—such as AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, and AWS CodePipeline—as the rest of the organization to create a CI/CD pipeline for z/OS software development. These services can also interact with IBM Dependency Based Build and Ansible playbooks from IBM zStack Certified Content for Ansible collections to facilitate build and deployment processes.

Architecture and Deployment Options

The architecture for a CI/CD pipeline tailored for mainframe applications on AWS is depicted in the following diagram.

In the AWS-defined development environment within a virtual private cloud (VPC), an OpenShift Container Platform is provisioned to support the containerized Wazi components utilized by developers from the IBM Z and Cloud Modernization Stack.

AWS CodeCommit

AWS CodeCommit manages the lifecycle of the source code for Cobol-based mainframe applications. This scalable, fully-managed source control service hosts private Git repositories and facilitates collaboration through pull requests, branching, and merging, while integrating seamlessly with other AWS services, identity and access management (IAM) users and roles. It can be accessed by any Git-compatible client, including Wazi DevSpaces.

AWS CodeBuild

AWS CodeBuild is a fully-managed continuous integration service that compiles source code, runs tests, and produces deployable software packages. For IBM z/OS platform builds, AWS CodeBuild executes build scripts within a container that connects to the z/OS system operating in Wazi Sandbox, allowing incremental builds with IBM Dependency Based Build. Artifacts produced during this process—such as load modules and database request modules—are transferred back to the build container for packaging and storage in an Amazon Simple Storage Service (Amazon S3) bucket, where they are versioned.

AWS CodeDeploy

AWS CodeDeploy automates software deployments across various compute services, deploying packages to a designated z/OS test environment via an Amazon Elastic Compute Cloud (Amazon EC2) instance. It interacts with z/OS deployment frameworks to execute Ansible playbooks based on package contents, performing z/OS-specific tasks like artifact copying to designated datasets and executing DB2 Bind and CICS NEWCOPY actions.

AWS CodePipeline

The CI/CD processes are orchestrated using AWS CodePipeline, a fully managed continuous delivery service that automates application and infrastructure updates. This service can be extended to incorporate additional steps for quality assurance or integration testing. When developers commit changes in AWS CodeCommit through Wazi DevSpaces—after evaluating the impact of those changes with Wazi Analyze and debugging new program versions—AWS CodePipeline automatically triggers the CI/CD pipeline, building z/OS programs with AWS CodeBuild and Wazi Sandbox, followed by deployment to a z/OS environment using Ansible playbooks executed by AWS CodeDeploy.

The pipeline can also include manual approval steps before deploying artifacts to test and production environments running on IBM zSystems.

Solution Benefits

Developing z/OS applications can be as seamless as developing on other platforms. Developers can harness the same tools that offer the flexibility and agility of cloud-native development, as they explore new methodologies for mainframe application development. Establishing this development framework grounded in modern DevSecOps principles empowers mainframe developers to accelerate delivery, thereby reducing time to market while enhancing software quality.

Conclusion

Organizations can achieve greater agility by implementing the same CI/CD pipeline across their development environments. For further insights on improving focus and productivity, you may find this article on chronic procrastination helpful. Additionally, for a deeper understanding of talent acquisition, refer to the experts at SHRM who discuss candidate personas—this can save you time in your search. Lastly, if you’re interested in career opportunities in fulfillment center management, check out this excellent resource.

Chanci Turner