Chapter 36 Key Takeaways: DevOps for the Mainframe
Threshold Concept
- The mainframe is just another platform in the pipeline. Once you stop treating z/OS as a special case requiring special processes and start treating it as another deployment target in your CI/CD pipeline, DevOps practices work the same as they do for any other platform. The tools exist. The real barrier is cultural, not technical.
Source Control
-
Git replaces SCLM/Endevor with branching, merging, and full history. PDS-based source management with locking-based concurrency serializes development. Git enables concurrent work through branches, with conflict detection and resolution replacing file-level locks.
-
Migrate in three phases: parallel operation, dual-write, cutover. This approach minimizes risk by building familiarity before commitment. The parallel phase is painful but provides the safety net that makes cutover low-risk.
-
The EBCDIC encoding problem is solved. The
.gitattributesfile, Zowe CLI, and IBM Rocket Git handle EBCDIC-to-ASCII/UTF-8 conversion transparently. This is no longer a barrier to Git adoption for COBOL. -
Use a simplified Git Flow branching strategy. Main (production), develop (integration), feature branches (one per change), release branches (for deployment candidates), and hotfix branches (for emergency fixes) provide the structure without excessive complexity.
CI/CD Pipelines
-
IBM DBB enables incremental, dependency-aware builds. Rather than recompiling everything, DBB analyzes COPY and CALL relationships to rebuild only changed programs and their dependents. This makes CI practical for large COBOL codebases.
-
The Jenkinsfile defines the pipeline as code. Checkout, Build, Unit Test, Integration Test, Deploy to QA, Deploy to Production — the same stages as any CI/CD pipeline, with z/OS-specific tooling at each stage.
-
Zowe CLI bridges Jenkins and z/OS. Upload source, submit jobs, check return codes, download results — all from bash scripts that Jenkins can orchestrate. Any CI/CD tool that can execute shell commands can drive the z/OS pipeline.
-
Automate lower environments, gate production. Deployment to dev and QA should be automatic on successful build and test. Production deployment should require explicit human approval from a release manager.
Automated Testing
-
The testing gap is the biggest obstacle to mainframe DevOps. You cannot have CI without automated tests. Most mainframe shops start with zero automated tests. Building the test suite is harder than building the pipeline.
-
Start with the 50 most critical paragraphs. Unit testing every paragraph in a 2,000-program system is impractical as a starting goal. Test the paragraphs that calculate money, determine eligibility, and update balances. Expand from there.
-
Mock external dependencies for unit testing. Use JCL DD overrides to redirect VSAM I/O to test files, stub programs for CALL dependencies, and test-specific DB2 subsystems for database testing. Keep unit tests fast (seconds, not minutes).
-
Integration tests verify programs working together. Unit tests verify individual paragraphs. Integration tests verify the complete transaction flow across programs, files, databases, and CICS resources in a dedicated test environment.
Deployment
-
Deployment packages ensure atomic, rollback-capable deployments. All related changes (load modules, DB2, JCL, CICS) are packaged together and deployed or rolled back as a unit. Never deploy part of a change.
-
Blue-green deployment is possible but expensive on z/OS. Maintaining two sets of CICS regions doubles infrastructure cost. Weigh the benefit (zero-downtime deployment) against the cost (duplicate resources).
-
Always have a rollback plan, and test it. CICS PHASEIN for program rollback, backup libraries for batch rollback, and pre-planned DB2 schema rollback strategies. If you haven't tested the rollback, you don't have one.
Monitoring and Feedback
-
The DORA metrics apply to mainframe. Track deployment frequency, lead time, change failure rate, and MTTR. These metrics measure DevOps effectiveness regardless of platform.
-
Integrate z/OS monitoring with enterprise observability. SMF records, Zowe metric exporters, and standard observability platforms (Grafana, Splunk, Datadog) can display mainframe and distributed metrics on a single dashboard.
-
Automate post-deployment monitoring. Tighten monitoring thresholds for the first hour after deployment. Configure automatic rollback triggers for critical metric breaches. Don't wait for a human to notice a problem.
Cultural Change
-
The cultural challenge exceeds the technical challenge. The tools work. The patterns are proven. The resistance comes from people who have successfully managed z/OS for decades being asked to change how they work. This requires empathy, patience, and honest engagement with legitimate concerns.
-
Start with champions, not mandates. Find the developers who are curious and willing to try. Let their success demonstrate the value. Mandates create compliance; champions create converts.
-
Measure and share progress relentlessly. Weekly pipeline metrics, deployment success rates, lead time trends — hard numbers overcome soft skepticism. When the team sees the deployment time drop from 6 hours to 12 minutes, the value argument makes itself.
-
Respect the manual process as fallback, not competitor. The existing manual process is the safety net during transition. Don't disparage it or dismantle it prematurely. Once the automated pipeline has proven itself over months, the manual process naturally fades.
-
The veteran's knowledge is irreplaceable. DevOps tools automate processes, not expertise. The developer who knows why the batch schedule runs in that specific order, who understands the implicit contracts between programs, who remembers the regulatory change from 2008 — that knowledge doesn't live in any tool. DevOps frees that developer from manual drudgery so they can apply their expertise to higher-value work.