The marriage between the mainframe and the distributed environment is often an uneasy union. Achieving harmony in this hybrid IT world can seem like an unworkable dream. However, it is possible to achieve not just a peaceful coexistence between these two systems, but a true integrated partnership. Doing so requires zeroing in on five key areas where the differences between mainframe and distributed systems are most acute. In each of these five areas, we’ll discuss their relevance in the hybrid IT world, recent developments and what DevOps teams can do to ensure harmony between the mainframe and distributed environment.
The mainframe culture — characterized by siloed development teams and long waterfall processes — has been established for decades... “Keeping the lights on” has been the top priority for developers since the mainframe first came into existence.
In contrast, the distributed DevOps culture is known for its agility. Distributed programmers, often younger than their mainframe counterparts, are accustomed to continuous integration and continuous delivery (CI/CD) to meet the needs of a rapidly changing marketplace.
Building a unified culture across mainframe and distributed environments is essential to optimize outcomes for the business. The foundation for a unified culture is communication. Information needs to be made transparent so mainframe developers and distributed developers can understand the challenges that exist in both halves of the hybrid IT world. Communication can then lead to increased collaboration as the teams begin to share goals and the responsibility for success.
Traditional mainframe tools are perceived as antiquated by the new generation of developers, hindering the progress of DevOps processes. It is vital that the mainframe be made more agile and accessible through the introduction of APIs, user-friendly interfaces and modern tooling. The Zowe initiative is providing great support through an open-source software framework that enables development and operations teams to securely manage, control, script and develop on the mainframe like any other cloud platform.
Most testing on the mainframe is performed manually. Automation is difficult to achieve due to the monolithic nature of mainframe applications. To compound matters, mainframe shops often do not have a good understanding of test coverage, and they may lack access to test environment virtualization capabilities, test files, databases, CICS regions and other critical dependencies.
But frequent and comprehensive testing is essential to a hybrid IT DevOps world where incremental changes are the order of the day. That being said, test automation does not have to be accomplished overnight. Rather, developers should start with a smoke test and build momentum from there. Over time, developers can gradually automate functional, integration, performance, security and scale testing. It will also be helpful to investigate the automated provisioning of test environments.
There are several problems with release and deployment on the mainframe. The following are at the top of the list:
Automation is the key to addressing these issues. Mainframe shops need to fully script the application deployment and environment and remove manual promotion steps with the use of an automated pipeline manager. Automation is also helpful in breaking down the silos between operations and development teams, as it helps developers understand what it takes to deploy applications and helps operations personnel understand how difficult it is to change large applications. Cross-awareness means better communication and less inefficiencies in workload, which can go far toward streamlining the release and deployment process.
Development and production tend to be siloed into separate teams with no feedback loop or cross-visibility. Modern monitoring tools can help pull down silo walls and increase awareness across development and operations staff. Teams can set up dashboards to display key runtime metrics, provide active notifications when thresholds are violated, deliver continuous log analysis and report on problem resolution. Such monitoring data can serve to integrate development and operations organizations and support an environment of shared responsibilities.
Achieving harmony between your hybrid IT solutions might seem daunting when considering the work to be done in terms of culture, development processes and tools, testing, release and deployment and end-to-end monitoring. The good news is that success can be reached via incremental changes made steadily over time. It is not necessary to tackle every area of concern at once, or even to address one area in full before moving on. Cherry pick places where you can achieve quick wins first, then use those small successes to build momentum and confidence. Before you know it, you will have the mainframe/distributed marriage of your dreams.
George DeCandio has recently joined Broadcom as the CTO of the Mainframe Software Division, where he leads a team of architects overseeing product development across the entire mainframe portfolio. Prior to joining Broadcom, he worked at IBM for over 25 years and attained the level of Distinguished Engineer. Email: george.decandio@broadcom.com