Why mainframe clients rely on agile practices to deliver rapid business value
By Sol Lederman
IBM is paving the way for clients to drive innovation and modernization through DevOps tools, processes, and promoting new ways of thinking. A number of questions face us on this path:
How can legacy applications running on the IBM Z platform fit into the DevOps way of thinking
Are the tools and processes to create a lean and agile DevOps pipeline available to IBM Z clients?
Why is modernization important and how do we get there?
The term “DevOps” is associated with terms like "cloud computing,” “scalability,” “Linux,” “open source,” “development pipeline,” “containers,” and “agile” and “lean development.” But, those terms don’t explain what DevOps means or why it matters.
Rosalind Radcliffe, IBM Distinguished Engineer and chief architect for DevOps and CLM for Enterprise Systems
Rosalind Radcliffe, IBM Distinguished Engineer and chief architect for DevOps and CLM for Enterprise Systems, provides a definition businesses can relate to. She describes DevOps as “agile and lean brought together to provide visibility and transparency in the organization to automate everything you can possibly automate to allow the delivery of business value at the speed business requires today.”
From a different perspective, we can describe DevOps as the combination of development and IT operations through tools and processes (the DevOps pipeline) to shorten the software development lifecycle to deliver features, fixes and updates quickly.
The “speed business requires today” that Radcliffe described is accelerating. Development tools are advancing rapidly. Release cycles are getting shorter. The pressure to develop, debug, test, release, and deploy quickly is increasing.
Barry Baker, IBM Z and LinuxONE vice president, Offering Management, makes the business case that DevOps is important for “delivering value to the business on a much more rapid scale, much more frequently with higher quality and doing that right with an automation perspective, and potentially with fewer resources.” The consequences of not embracing DevOps, according to Baker, include being slower to deliver software, being less responsive to business needs, and increasing the likelihood of encountering problems and errors that affect other parts of the business.
Some Z clients may want to embrace DevOps but they may not see a path forward; specifically, they may not understand how to retool their development processes to reap the benefits of modernizing their large monolithic legacy applications, and avoid the consequences that Baker cites. For these clients, the key to moving forward is to learn about the tools and processes that are in place and evolving to bring DevOps to legacy applications. Later in this article, we will suggest an approach to cross what appears to be a chasm between past and present development practices in small and measured steps; this approach is available to almost every organization.
“The mainframe has evolved along with all the rest of the IBM servers. So, it is the most modern hardware. It is the most modern system. It just happens to be larger, provide more reliability characteristics and scalability within the box itself rather than having to scale out.”
Rosalind Radcliffe // IBM Distinguished Engineer and chief architect for DevOps and CLM for Enterprise Systems
The DevOps-Friendly Mainframe
We associate DevOps friendliness with modern systems like IBM Z. “The mainframe has evolved along with all of the rest of the IBM servers. So, it's the most modern hardware. It's the most modern system. It just happens to be larger, provide more reliability characteristics and scalability within the box itself rather than having to scale out,” Radcliffe says.
Cloud-friendliness, a quality that we normally associate with DevOps, is a byproduct of that ability to scale up. Since its earliest days, the IBM mainframe has been able to draw resources from a pool and to dynamically grow and shrink its use of those resources. Other characteristics of a cloud—self-service, on-demand service and measured service—are built into the architecture. Scaling out to increase reliability, availability and serviceability (RAS) isn’t required. The IBM Z platform provides tremendous robustness through decades of continuous RAS improvement.
Beyond the hardware architecture and the RAS capabilities, the Z flagship OS z/OS supports a full DevOps development pipeline. In particular, it supports 64-bit Java, C, C++ and UNIX APIs, and hosts commercial and open-source software. The Z platform also supports Linux running in an LPAR. That makes available the very large set of development and deployment tools that have shaped the DevOps landscape. These tools include Git for source-code management, Jenkins to build, deploy and automate software projects, the popular Groovy and Python programming languages, and too many more to list.
An additional way that IBM and the Open Mainframe Project are bridging the gap between old and new ways of doing DevOps is with the recently launched Zowe framework. Zowe as an open-source software framework that provides solutions that allow development and operations teams to securely manage, control, script and develop on the mainframe. It’s the first open-source project based on z/OS. Through fostering of community, Zowe aims to drive awareness, adoption and innovation of the modern mainframe.
Legacy Applications Also Benefit
While a modern architecture and open-source support for a plethora of DevOps tools may make the mainframe a desirable platform for developing modern software, the path to modernizing their legacy applications isn’t always clear. And what exactly makes an application modern? Baker sees modern development processes as informing “how you innovate, how you operate and engage with clients and how you generate new value across a broad ecosystem.” Several questions naturally arise from this view of a digital transformation. “How can we and our clients use technology and capabilities such that they can deliver new services that are more engaging with their customers? How do you get very tied to what that customer really needs in the moment when they need it and at the right price and at the right point physically? How can our clients can go about creating new business models with their ecosystem partners?” he asks.
APIs form the bridge between what customers need and what enterprises can provide. APIs enable clients to deliver new services that drive new kinds of engagement. They also allow applications to be enriched with services and data that reside on the mainframe. These assets can be consumed by other applications, deepening customer engagement. APIs also support the DevOps process by allowing scripts in the pipeline to interact with software components. IBM z/OS Connect Enterprise Edition facilitates the creation of RESTful APIs to and from the mainframe with no code changes. The exposed APIs adhere to OpenAPI standards. Additionally, z/OS applications can call these APIs to provide enhanced services.
While z/OS Connect Enterprise Edition simplifies the creation of APIs, one question remains: How do developers find and make available the capabilities that are natural to isolate as APIs? A legacy application may have grown over decades making it unlikely that its original developer is available to assist in this process. And that application may comprise millions of lines of source code. Analyzing that code is impractical without a tool to enable the discovery of candidate APIs.
IBM Application Discovery and Delivery Intelligence, specifically the Application Discovery (AD) component, facilitates the analysis process. The “Digital Transformation with IBM Application Discovery” Redbooks publication describes how AD complements z/OS Connect Enterprise Edition to “empower architects and developers to understand their application landscape.” “[AD] can rapidly analyze and visualize applications across languages and environments and provide detailed graphical views, program and transaction flow diagrams, impact analysis reports, usage reports, and help size changes by using industry-standard metrics,” according to the Redbooks publication.
Armed with an understanding of the importance of DevOps, the knowledge that mainframe tools and processes exist to support the process on Z, and the appreciation that APIs are important, how does an organization move forward? Baker makes an important observation: Every IBM client who is using the mainframe is also doing development work on other platforms. He uses that insight to build a bridge. Baker says, “The right starting point would be for me to say, 'OK, where in your organization is the state of the art?'” The modernization process begins when development teams in different parts of an enterprise start a dialogue. The discussions focus on chipping away at differences in processes and pipelines. The goal is to narrow the gap and to integrate Z into the organizational state of the art.
A good place to start with DevOps is with source-code management if such modernization isn’t already in place. The state-of-the-art organization has modern tools and processes that support software versioning. The Z organization can adopt these resources without reinventing processes. A second effort to pursue is automated software testing. Regression testing, in particular, is critical to developing software at the speed business requires today. While automating testing of legacy systems will require a significant effort, the payoff to the enterprise can be huge. Beyond the financial gains, the benefits of a collaboration between the mainframe organization and the organization at the edge of the DevOps movement may be tremendous.
Somewhere in every organization, the tools and processes are already in place to move forward with the DevOps transformation. None of the terms commonly associated with DevOps—cloud computing, scalability, Linux, open source, development pipeline, containers, Agile and lean development—are new to Z. What’s new is the cultural shift needed to embrace these technologies and new ways of thinking.