Building the Future With DevOps, CI/CD and Developer Tooling
For "z/OS and Friends," Joe Gulla shares his fascination with evolving software deployment practices
Why did it take so long for DevOps to become standard practice? It seems like a no-brainer.
But it’s questions like these that make it so fascinating to watch the evolution of software deployment. In the case of DevOps, some organizations realized they were suffering from a lack of an interdisciplinary team, so they began cultivating useful relationships between development and operations. The practice didn’t have a formal name yet; it just made sense.
Alongside DevOps, continuous integration/continuous delivery (CI/CD) is another crucial innovation worth contemplating. I remember in my first job the mystery of how our code got into production. Management announced that there was a code drop coming Tuesday or Thursday night, and it would happen at 2 a.m. Frequently, we came to work the next day to discover that the drop was unsuccessful and we were back to where we were previously. What happened? Was it too much at one time or insufficient testing? Was integration with other systems the problem? It could have been all the above, but we never really knew. These challenges are better addressed today because of enriched ways of deploying code.
This article is the second of two about why z/OS remains the most versatile platform for enterprise development. It is broken into three sections—development environments, DevOps and CI/CD, and package and tooling support. Let’s get started with the first subject area—development environments.
Development Environments
A development environment for z/OS is a structured set of tools, libraries and configurations that enable programmers to build, test and debug applications on IBM’s mainframe operating system. It typically includes compilers, integrated development tools and connectivity to subsystems like DB2, CICS and IMS. The development environments discussed in this section include:
- IBM Developer for z/OS – An eclipse-based IDE for COBOL, PL/I and other languages
- Zowe – An open-source framework offering CLI, API and Web UI for z/OS
- VS Code Extensions – The IBM Z Open Editor that supports COBOL, PL/I, HLASM and JCL
- ISPF and TSO/E – The traditional mainframe development environments
- Git and GitHub – Version control system and web-based hosting service supported via Zowe Command Line Interface and IBM Dependency Based Build
Now, let me explore these environments.
IBM Developer for z/OS
IBM Developer for z/OS (IDz) is an Eclipse-based integrated development environment (IDE) tailored for mainframe application development. It provides a modern, graphical interface for coding in languages such as COBOL, PL/I, Assembler and Java, streamlining the development process on IBM z/OS systems. IDz enhances productivity by offering features like syntax highlighting, code completion, real-time error checking and integrated debugging tools. This is much better than things were in the past—syntax checking and integrated debugging are great enhancements.
IDz also supports integration with source control systems and DevOps pipelines, making it a key component in modernizing mainframe development workflows. By bridging traditional mainframe programming with contemporary development practices, IDz empowers developers to build, test and maintain enterprise applications more efficiently. In addition to the standard edition, there is an enterprise addition with additional features.
Zowe
Zowe is an open-source framework that modernizes and simplifies access to IBM z/OS systems by providing a unified platform for developers and system administrators. It offers a suite of tools including a command line interface (CLI), RESTful APIs and a web-based user interface, enabling unified interaction with mainframe resources using familiar, modern development practices.
With Zowe, users can automate tasks, manage datasets, submit jobs and monitor system performance from their preferred environments, including Visual Studio (VS) Code and other IDEs. By bridging traditional mainframe operations with contemporary DevOps workflows, Zowe permits teams to collaborate more effectively and accelerate innovation on the z/OS platform. I have been very excited to read about Zowe because it has many useful features with appeal for a new generation of developers.
Zowe consists of the following components:
Table1. Components of the Zowe Framework
| Component | Description |
| Zowe Launcher | The Zowe Launcher makes it possible to launch Zowe z/OS server components. |
| API Mediation Layer | The API Mediation Layer provides a single point of access for APIs of mainframe services and provides a single sign-on (SSO) capability for mainframe users. |
| Zowe Application Framework | A web user interface (UI) that provides a virtual desktop containing a number of apps allowing access to z/OS function. |
| Zowe CLI | Zowe CLI is a command-line interface that lets you interact with the mainframe in a familiar, off-platform format. |
| Zowe Explorer | Zowe Explorer is a VS Code extension that modernizes the way developers and system administrators interact with z/OS mainframes. |
| Zowe Client Software Development Kits (SDKs) | The Zowe Client SDKs consist of programmatic APIs that you can use to build client applications or scripts that interact with z/OS. |
| Zowe Embedded Browser for RMF/SMF and APIs (ZEBRA) – Incubator | ZEBRA Provides re-usable and industry-compliant JSON formatted RMF/SMF data records so other end-users can make use of them leveraging open-source software. |
VS Code Extensions
The IBM Z Open Editor is a powerful VS Code extension designed to bring modern development capabilities to mainframe programming. It supports key z/OS languages including COBOL, PL/I, HLASM and JCL. It enables developers to write, edit and navigate mainframe code using a contemporary, lightweight IDE. With features like syntax highlighting, code snippets, outline views and real-time diagnostics, Z Open Editor enhances productivity and code quality.
The editor integrates seamlessly into DevOps pipelines and supports remote editing of mainframe data sets, making it an essential tool for teams modernizing their mainframe development workflows while leveraging the flexibility of VS Code.
ISPF and TSO/E
Interactive System Productivity Facility (ISPF) and Time-Sharing Option/Extensions (TSO/E) are foundational components of traditional IBM z/OS mainframe development environments. TSO/E provides users with interactive access to the mainframe, allowing them to execute commands, run programs and manage datasets in a time-sharing mode. ISPF builds on TSO/E by offering a menu-driven interface for editing source code, compiling programs, managing files and performing system tasks.
Though text-based and less intuitive than modern graphical IDEs, ISPF and TSO/E remain widely used due to their reliability, deep integration with z/OS and familiarity among seasoned mainframe developers. They continue to play a critical role in maintaining legacy systems and supporting core enterprise applications. A certain generation of developers might think “what is wrong with using TSO and ISPF?” and the answer is nothing. However, newer development environments have added attractive features—a value add to what TSO and ISPF provide to developers.
Git and GitHub
Git and GitHub have become essential tools in modern software development, and their integration into mainframe workflows is increasingly supported through solutions like Zowe CLI and IBM Dependency Based Build (DBB). Zowe CLI enables developers to interact with z/OS systems using Git-style commands, making it easier to manage source code, automate tasks and collaborate across platforms.
IBM DBB complements this by providing a framework for building and deploying mainframe applications using Git repositories, allowing teams to adopt DevOps practices such as version control, continuous integration and automated testing. Together, these tools help bridge the gap between traditional mainframe environments and contemporary development ecosystems, fostering agility and collaboration.
Now, let me explore DevOps and CI/CD, a completely different topic from development environments but still related.
DevOps and CI/CD
DevOps and CI/CD are spoken about in the same sentence but they are not the same thing. DevOps fosters collaboration between development and operations teams. It’s a cultural and organizational approach, whereas CI/CD is technical—a set of practices for automating the integration and deployment of code changes.
The DevOps and CI/CD products discussed in this section include:
- IBM UrbanCode Deploy – An application deployment automation which accelerates the delivery of software across complex IT environments
- Jenkins – An open-source tool for automating repetitive tasks, improving code quality, and accelerating release cycles Ansible for IBM Z
- Ansible for IBM Z – A powerful, agentless automation to the mainframe, enabling seamless integration of z/OS systems into enterprise-wide DevOps workflows
- IBM Dependency Based Build – An automation framework designed specifically for traditional z/OS programming languages such as COBOL, PL/I and Assembler
A discussion of these products and tools follows.
UrbanCode Deploy
IBM UrbanCode Deploy is an enterprise-grade application deployment automation tool designed to streamline and accelerate the delivery of software across complex IT environments. It enables organizations to model, automate and orchestrate application deployments across on-premises, cloud and hybrid infrastructures. With support for multi-tiered applications, UrbanCode Deploy offers visual process design, environment inventory tracking and role-based access control, ensuring secure and repeatable deployments.
UrbanCode Deploy integrates seamlessly with CI/CD pipelines, version control systems like Git and other DevOps tools, making it an important component in modern software delivery strategies. By reducing manual errors and deployment times, UrbanCode Deploy helps teams achieve faster releases, improved reliability and greater operational efficiency.
Jenkins
Jenkins is a widely adopted open-source automation server that enables developers to build, test and deploy applications efficiently through CI/CD pipelines. It supports a significant ecosystem of plugins, allowing seamless integration with various tools and platforms across the software development lifecycle, including version control systems like Git, build tools like Maven and Gradle and deployment solutions such as Docker and Kubernetes.
Jenkins provides a flexible and extensible framework for automating repetitive tasks, improving code quality and accelerating release cycles. Its user-friendly web interface and robust community support make it a cornerstone of modern DevOps practices in organizations of all sizes.
Ansible for IBM Z
Ansible for IBM Z brings powerful, agentless automation to the mainframe, enabling seamless integration of z/OS systems into enterprise-wide DevOps workflows. Through Red Hat Ansible Certified Content for IBM Z, organizations can automate configuration management, provisioning and application deployment across z/OS environments using familiar Ansible playbooks. These certified collections support key IBM Z components such as z/OS core, CICS, IMS, z/OSMF and System Automation, allowing developers and system administrators to orchestrate tasks with consistency and speed.
Ansible connects to z/OS via SSH and leverages Unix System Services, Python and IBM Z Open Automation Utilities, making setup straightforward and scalable. By aligning mainframe operations with modern automation platforms, Ansible helps bridge the gap between legacy systems and cloud-native development strategies, boosting productivity and reducing operational complexity.
IBM Dependency Based Build
DBB is a powerful build automation framework designed specifically for traditional z/OS programming languages such as COBOL, PL/I and Assembler. It enables developers to define and execute build processes using dependency graphs, ensuring that only the necessary components are rebuilt when changes occur.
DBB integrates with modern source control systems like Git and supports scripting in Groovy, allowing teams to incorporate mainframe builds into CI/CD pipelines alongside distributed systems. By automating and standardizing the build process, DBB improves efficiency, reduces errors and supports agile development practices on the mainframe, making it a key tool in enterprise modernization efforts.
Next, I will discuss a new topic—packaging and tooling support.
Package and Tooling Support
Modern package and tooling support for IBM z/OS has evolved significantly in recent years. Today, it aligns more closely with contemporary DevOps, cloud-native and open-source practices. The package and tooling support products and suppliers discussed in this section include:
- IBM Open Enterprise SDKs – Supports languages like Python, Go and Node.js on the IBM z/OS platform
- Zowe Explorer – A VS Code extension
What follows is a discussion of these support-related tools.
IBM Open Enterprise SDKs
IBM Open Enterprise SDKs, a suite of tools, bring modern programming languages like Python, Go and Node.js to the IBM z/OS platform, enabling developers to build and run open-source applications natively on the mainframe. These SDKs are designed to integrate seamlessly with existing z/OS infrastructure, allowing organizations to leverage contemporary development tools and practices while maintaining the reliability and scalability of the mainframe.
Table 2. SDKs for the Open Enterprise
| IBM Open Enterprise SDK for Python | An industry standard Python interpreter for z/OS that supports application modernization, advanced data analysis with the AI Toolkit and automation |
| IBM Open Enterprise SDK for Go | A Go compiler optimized for z/OS that allows developers to build fast, scalable, cloud-enabled applications and take advantage of modern Go packages and libraries |
| IBM Open Enterprise SDK for Node.js | A free SDK that provides a standalone JavaScript runtime and server-side JavaScript solution for connecting Node.js applications to z/OS resources |
| IBM Open Enterprise SDK for Apache Kafka | A no-charge SDK that allows COBOL or C/C++ code on z/OS to natively communicate with a Kafka broker, including transforming between COBOL copybooks and JSON events |
| IBM Open Enterprise Foundation for z/OS | A set of foundational, no-charge open-source tools like Git, Bash and Vim, which are maintained by IBM to be secure and reliable for enterprise use on z/OS |
Zowe Explorer
Zowe Explorer is a VS Code extension that provides a modern interface for interacting with IBM z/OS systems. It allows developers to browse, edit and manage mainframe datasets, USS files and jobs directly from within VS Code, eliminating the need for traditional 3270 emulators.
With intuitive navigation and support for secure authentication, Zowe Explorer simplifies access to z/OS resources and integrates seamlessly into contemporary development workflows. It empowers developers—especially those new to the mainframe—to work more efficiently using familiar tools, while also supporting DevOps practices through its compatibility with Zowe CLI and other extensions.
What’s Next?
My next “z/OS and Friends” article will be the first of two on useful and essential software interfaces that are part of z/OS systems. I will focus on four classes of interfaces—system programming, application programming, command-line and data access. z/OS and its many software systems like CICS and IMS are highly modular, so making the best use of interfaces is important, as you will read in this upcoming article.