In this podcast Manuel Pais, InfoQ Lead Editor for DevOps, talks to Rosalind Radcliffe, Distinguished Engineer at IBM, about mainframe software delivery, from technical evolution to the mindset change required to adopt DevOps and modern development practices.
Key Takeaways
- Large organizations have not evolved practices in mainframe systems due to cultural challenges, not technical.
- Most mainframe applications still have high business value but don't take advantage of modern hardware.
- Modern practices like TDD, code coverage, infrastructure-as-code and automated pipelines are possible today in mainframe.
- Biggest problem in DevOps transformations is to exclude mainframe. There's no need for bi-modal IT because there is no constraint that mainframe must be slow to change.
- Aging workforce is a particular issue around mainframe. Younger developers are not attracted by old school practices.
Subscribe on:
Show Notes
Why DevOps for Mainframes
- 1:39 - DevOps is primarily a cultural change, large organizations have not evolved practices in systems of record.
- 2:03 - Companies still using waterfall model for delivering changes, leading to slow delivery and low software quality.
- 3:10 - There's no reason you can't do TDD and other modern practices in mainframe.
The Discrepancy Between Modern Mainframe Systems and Old Practices
- 3:37 - Mainframe hardware is the most modern today, with the latest processor chips. They're highly reliable, stable and secure.
- 4:05 - Most mainframe applications still have high business value but don't take advantage of modern hardware.
- 4:48 - Mainframes have built-in encryption, thus supporting security needs of financial institutions and others.
- 5:15 - These systems have been up and running for dozens of years thanks to ability to update them without downtime.
- 5:35 - We need to adopt modern development and operations practices to take advantage of these systems' capability.
Cultural Challenges in Mainframe
- 6:03 - Adopting DevOp for mainframe is a cultural challenge, partly because of ITIL processes that reduced risk by slowing down rate of deployment to production.
- 6:45 - Modern practices like test-driven development, code coverage or automated delivery pipelines haven't reached mainframe because of cultural barriers, not technical.
- 7:00 - Hard for applications to evolve if testing is manual and there is also a lack of test environments.
Modern Delivery Pipelines for Mainframe
- 8:00 - You can provision isolated environments for automated tests. Main difference is that you deploy to a shared live environment at the end of pipeline.
- 8:35 - Tools built in the 1980's are still in use, upgrading to modern tooling is also necessary to enable modern practices.
- 9:25 - Mainframe cost seems high because it's lumped together, as opposed to a distributed system with costs spread across many instances and layers.
- 9:58 - Organizations want to use all available capacity of their mainframe systems for production environments, making it hard to develop and test.
- 10:16 - zD&&T platform allows running an actual z/OS system and middleware on Intel hardware, thus opening the door to running isolated environments for development and testing, in the cloud.
- 11:00 - For later stage integration and performance testing, actual mainframe hardware is required to get accurate results.
- 11:30 - zD&&T emulates the z hardware, not z/OS, meaning there is no difference in the software running in the Intel-based machines.
- 12:07 - Infrastructure-as-code (IaC) as a concept has been done in mainframe for a long time in the form of jobs and scripts that automate mainframe configuration.
- 12:37 - In last years have been making IaC for mainframe consistent with IaC for distributed systems, i.e. every system level change gets stored in version control and can then be used to provision z systems in both mainframe hardware or emulators on Intel-based machines.
Bi-Modal IT Doesn't Work
- 14:14 - There's no need for bi-modal IT because there is no real constraint that systems of record must be slow to change.
- 14:44 - Back-end systems of record need and can change as fast as required by business. Nevertheless, they typically don't need to change as often as front-end systems of engagement.
- 15:30 - A calendaring service, for example, rarely changes but a fraud detection service might require frequent updates.
- 17:20 - Organizations with fast delivery rates for front-end apps but slow for back-end end up in a worse place, as the gap widens.
- 17:28 - Often people work around the fact that their backend is slow to change by building new systems.
- 17:52 - If they invest on modern practices instead of working around the mainframe, they'll be able to change faster, as well as avoiding code duplication and other problems.
- 18:06 - Companies that have transformed their mainframe practices are seeing the rewards, in terms of scalable and fast changing mainframe systems.
Breaking Down Mainframe Silos
- 19:08 - Nationwide is an example of a company breaking down technology silos in their mainframe systems, by bringing closer people from mainframe and distributed systems.
- 19:35 - Silos slow down delivery and in many situations there are tiered silos (mobile, mid tier, backend), which are also replicated in dev and ops departments.
- 20:00 - Functional oriented teams (mobile, networking, security, etc) require too many handoffs to be effective in supporting the business needs.
- 21:12 - Biggest problem in DevOps transformations is to exclude mainframe. It may not be the first area where you apply a DevOps transformation, but it needs to be included at some point.
- 22:46 - Difference in processes, automation and practices between mainframe and other delivery teams is purely historical.
- 23:10 - Many mainframe teams use a static toolchain that's been there for 30 years. Coupled with old waterfall processes, makes it extremely hard to adopt modern development practices.
Renewing Mainframe
- 23:42 - A full-fledged transformation is needed for mainframe: tooling and practices, as well as bringing in younger developers.
- 24:07 - It's not about age itself, but openness to change. But people close to retirement are reluctant to change.
- 24:21 - Aging workforce is a particular issue around mainframe. Younger developers are not attracted by old school practices.
- 24:35 - Combining the existing knowledge and business savvyness with new people who understand modern practices is the ideal scenario for a transformation.
- 25:30 - Outsourcing is a problem for everyone, both for development and operations sides.
- 25:55 - A DevOps pipeline that embedds all your requirements and rules, then you can quickly evaluate the quality of outsourced work.
- 26:32 - Outsourced silos are harder to break down, you need to actively collaborate with them to improve flow of work.
DevOps Enterprise Summit London
- 27:37 - IBM has been dogfooding a pipeline for z systems that standardizes automated testing and other practices.
- 28:10 - New releases of IBM products using the new pipeline can now be delivered monthly, whereas before that could take up to 18 months.
- 28:34 - Teams furthest ahead in their DevOps transformation are those that realize they still have a long way to go, and lead by learning.