Mainframes and DevOps — Modernization of Hidden Power

Author: Mohinder Kumar, Director


Back in 2006 Amazon launched its cloud services providing infrastructure on demand which drastically changed the way infrastructure used to work and with DevOps in 2009 added further power, speed and agility. Since then, IT infrastructure has undergone huge changes. From on-premises infrastructure to cloud infrastructure, manual provisioning to automated provision, virtualized hardware to docker containers and then DevOps to DevSecOps everything has changed so fast in recent years. Despite these disruptive technology revolutions still there is an old workhorse running since years without much change and that’s a Mainframe.

The history of mainframes is very long, they have been running since early 50s. With the advent of new technologies like virtualisation, cloud computing, many people started predicting that it’s an end of mainframe era. But the reality is far away, as per 2020 reports, 44 of top 50 banks use mainframes, 90% of credit card transactions are still handled by mainframes, 23 of top 25 airlines use mainframes. According to Allied Market Research, the mainframe market is expect to touch $2.9 billion by 2025. Reason? No cloud computing comes close to matching the speed, reliability , security and more important cost-efficiency of mainframes in longer run and due to this mainframes are still heartbeat of many large financial organizations. “There are 6900 tweets, 30,000 facebook likes and 63,000 Google searches per second but the mainframe CICS (mainframe based transactions) runs 1.1m transactions per second which equates to 10bn per day” — (source Rob Lambs IBM Hurley Laboratory director).

If all running perfectly then why change? Does it really makes sense to bring DevOps on Mainframes?

Despite all benefits like speed, security and reliability of mainframes, one of the biggest challenge of working with mainframes is slow time to market and mainframe “brain drain”.

With technology revolution customer expectations have increased, they want new services that too quick without compromising on the quality and security. Due to increasing competition, reduce time to market and increase demand to deliver new and agile solutions, DevOps is a critical contributor to the success of business. As we have seen with DevOps and agile methodology, the speed of delivery has significantly improved from several months to few minutes with more even more than hundred releases in a day is a reality now. While reports show mainframe usage will continue to grow in upcoming years but if organisation wants to continue to provide reliable services with reduce time to market and innovation they can’t succeed without DevOps and agile process.

To tackle “brain drain” or declining Mainframe expertise, we must focus on enabling , uplifting and empower Mainframe SMEs with DevOps.

Adoption Challenges

DevOps success in any organization is based on three key principles People, Culture and Automation. Lack of automation capabilities and tools, build and deployment limitations and more important people who are working on mainframes since decades are about to retire in upcoming years do not want to change themselves, all these factors make it really hard to bring DevOps on mainframes and that’s the reason DevOps being largely looked at distributed world only and mainframes are still neglected by DevOps community.

Talent is another challenge in fact risk to DevOps adoption on mainframes, no new people willing to work on mainframes and hardly any trainings on mainframes which can fill the gap of old generation vs new generations

Further moving off the mainframes is also not a solution as its too risky, costly redesign and too time consuming process. With billions of lines of code added every year, for many firms it’s almost impossible to move off the mainframes.

How to overcome?

Over the recent years, organisations working on mainframes have realised the importance of DevOps and made significant progress on building the tools for automation around mainframes. With mix and match of distributed and mainframes specific tools, DevOps on mainframes is a reality now. Many organisations already got success in implementing DevOps on mainframes with new edge cutting mainframes tools while many are on it. A recent IDC survey reveals that 55% of organizations have invested in and integrated DevOps as part of a mainframe transformation initiative.

Below some high level overview of DevOps strategy which can be adopted to enable Mainframes aligned with DevOps process for faster delivery and agility.

Cultural Change

Everyone feels Elephants can’t dance. The biggest challenge with Mainframes DevOps adoption is the mindset change. Educate, and Empower the team on the need for DevOps.

Tools Enablement

The biggest hurdle in adopting DevOps for mainframes was lack of right set of tools for automation. Thanks to IBM, who has made significant progress in moving mainframes tool stack from Closed source to Open-Source frameworks. Following tools can be adopted for Mainframes DevOps adoption

  • Operating System — IBM Z — Back in 2006 IBM launched Z system which supports three operating system Z/OS, TPF and now latest z series can run linux as well which makes distributed DevOps people to automate easily.
  • IDE — IBM IDZ — One of the biggest challenge with mainframe was lack of any development tool like eclipse to allow developers to work simultaneously with recent advances IBM launched IBM developer for Z system which provides eclipse like functions for mainframes.
  • Version Control — GitHub with Rocket GIT — Rocket GIT is the portable versions of GIT client specifically designed for Z/OS which enables the distributed version control system for mainframes.
  • CI — Jenkins — Jenkins is a popular Opensource CI tool. With IBM Z/OS connect plugin one can easily integrate Z/OS slaves with Jenkins.
  • Build Tool — IBM has come up with Groovy based build tool named DBB groovy which can be integrated with Jenkins pipeline to build mainframe programs like COBOL/Assembler/C/C++
  • Unit Testing- Topaz/IBM Zunit — Topaz and IBM zunit enables shift left approach for unit testing on mainframes
  • Code quality — SonarSource — Sonarsource being popular quality control tool which already provide functionality to scan mainframe languages like COBO/C/ASSEMBLER
  • Testing — IBM Rational Test Workbench (RTW) — IBM RTW provides software testing tools to support a DevOps approach: API testing, functional UI testing, performance testing and service virtualization.
  • Deployment — IBM UrbanCode deploy — Automated deployment tool for mainframes
Closed-Source to Open-Source

On Mainframes, Endevor is an integrated set of management tools for automating, controlling, and monitoring the mainframe software development lifecycle. All the source code is maintained by the Endevor system on Mainframes

First and foremost thing for enabling DevOps Automation for Mainframes is to migrate source code from close source Endevor system to Open-source system like GitHub. Migration may involve following steps

  • Create configuration files from Endevor system using JCL scripts
  • Fetch any required dependencies for each code file from Endevor system using JCL scripts
  • Change Extension of each file based on mainframes Datasets type
  • Using z/OS utilities and Rocket GIT client plugin copy and push source code to GitHub repository
Enable Development Experience using IBM IDZ

IBM IDZ for z/OS is a modern, robust toolset for developing and maintaining IBM z/OS applications through the use of DevOps practices.

IBM IDZ offers true development experience without login to mainframes itself with support of COBOL, PL/I, High Level Assembler, REXX, C/C++, JCL, and JavaTM development tools on an Eclipse base. , and it can fetch code from GitHub using Rocket GIT client tool and do the build using Dependency based build (IBM DBB Groovy). IBM IDZ also offers unit testing capabilities using zUnit and code coverage capabilities with Sonarqube.

Sample Mainframes DevOps Pipeline Using Jenkins

Jenkins supports IBM Z/OS connect plugin which can easily integrate Z/OS slaves with Jenkins. Following an example of sample pipeline including build, deploy and automated testing frameworks

Sample DevOps Pipeline for Mainframes

Final Word

Not all application may be ready for DevOps. E.g. in many organizations, there would be a team that looks after a batch application running on Mainframes primarily running in maintenance mode OR an application for a tax update every few years. They may not be best candidate to adopt DevOps. Check for compatibility, adaptability, and ROI to select the applications to undergo DevOps transformation.

The mainframes are backbone of financial organisations and are not going away soon. So like it or not, they are here to stay. But with increasing competition and customer demands they need to adopt DevOps and agile process. Using right set of tools, and support for culture change can help Mainframes unleash into the new world of innovation and speed. Let years of neglect not become barrier of adopting DevOps.

Let the Elephant Dance!

Leave a Reply

Your email address will not be published. Required fields are marked *

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *