Where You Should Be Driving DevOps Automation on the Mainframe
Overview: DevOps automation is critical to quality, velocity and efficiency, and there’s lots to automate on the mainframe. But you have to make sure you’re automating the right things. These are some good places to start.
While the universe may be moving towards entropy (chaos), we here on Earth are on a continuous drive to make life simpler and less error-prone. DevOps experts strongly recommend automating the right things across your delivery pipeline for that exact reason. And for many large enterprises, driving automation on the mainframe must be included in that strategy.
When your mainframe is a critical part of the SDLC, you should consider what tools you need and what processes they should help you automate to ensure your system of record doesn’t become a constraint in the journey to achieve your DevOps goals. Here, we’ll lay out some of the primary things you’ll want to include in that strategy to drive automation on the mainframe.
First, let’s understand your goals.
DevOps Automation Goals
You’re looking for automation to speed things up and reduce errors. But in most cases, people want more from the tools they use to accomplish this.
Speeding the process up means reducing dependencies, removing latency, reducing lead time and providing faster feedback. Automation also provides more consistency and at the same time can allow team members to make better uses of their time. This can make the job much more enjoyable and challenging (in a good way), which will help drive people to follow DevOps best practices.
Now let’s look at the tools you’ll want to consider for driving DevOps automation on the mainframe.
Mainframe DevOps Automation Tools
Source Code Management
Source code management (SCM) is critical to keeping track of configuration, environmental dependencies, operating system details and hardware. But while older tools may give you some basic functionality, to really support DevOps, you need a tool that goes further.
For real build-test-deploy automation on the mainframe, your SCM tool should eliminate manual steps to help developers, testers and QA iterate quickly throughout the SDLC. That means it should integrate with modern development and testing, ITSM and other DevOps tools as well as use REST APIs to automatically connect your mainframe apps into a cross-platform DevOps toolchain. You also need an easy way to quickly find failure points so the effort doesn’t delay deployment.
With the right SCM solution, you can easily move from promoting and building code to testing it to analyzing its quality, all the way through the delivery pipeline to deploy that code with ease.
Build and Deploy
In most enterprises, mobile, cloud and other distributed applications need to access mainframe data and/or applications. Your DevOps strategy has to span all platforms to ensure continuous, quick and safe software delivery, which means being able to automate the management of code deployment from any platform into a variety of target environments.
This software will automate, standardize and monitor the deployment of software in every phase of the process across multiple platforms (test, QA, pre-copy staging and code promotion). You need a good way to visualize all aspects of your process in a single place so all teams can share a common understanding of the process status. It’s critical to understand where the bottlenecks are, so you can address anything that slows your process. You also need that same visualization to track your success metrics, so you can understand what may need to change to achieve the digital agility you desire.
Unit Testing, Functional Testing and Non-Functional Testing
Often, the testing process is seen as a major bottleneck in DevOps. Supported by operations, who insists on a bug-free implementation, testers are by their nature cautious and careful.
Not only do they have to ensure new code is acceptable; they have to ensure new code doesn’t cause a problem for existing code, either in availability, performance or functionality. Automation, again, is the solution to the challenges at every phase of the testing cycle.
With unit testing fully automated, from creation to execution, it can be continuously operating, helping ensure code quality. And beyond ensuring new code works well, automation can help to work with other solutions to reduce/minimize technical debt and even improve code quality.
Realistically, manually writing tests or creating test data hasn’t been practical in years. It’s slow, error-prone and requires a lot of specialized mainframe knowledge. Great unit test automation also empowers regression testing.
Watch this webcast to learn more.
Batch System Management
With 24/7 processing the norm, it’s important to ensure batch operates efficiently such that adequate resources are available for the time-critical online systems. It’s not surprising to note that most enhancements to online systems add to the resource demand of the application. If you aren’t on top of your batch window, continuous change will inevitably lead to increasing response times which impact user satisfaction.
But when was the last time you went in and tuned batch? When do you expect to have time to do it? (Pause for laughter.) Automation is your ally here; look for a solution that will automate and optimize batch cycles. Set your business goals and priorities and let software keep batch from impacting your OLTP workloads. No one can set priorities faster, more efficiently or more accurately than software. And who would want to?
And what if you could also reduce your monthly license costs and even defer costly mainframe upgrades? Too often, your rolling four-hour average (R4HA) goes up because of batch. No operator can manually track and manage batch jobs in such a way as to keep the resource demand in check.
Be the DevOps hero by adding cost efficiency to your successes with a solution that manages and optimizes CPU demand improving your cost picture and performance.
With a goal of implementing DevOps successfully, automation is the only way you can achieve the development and deployment speed you desire while ensuring the performance and availability of your systems. As you evolve your processes, you’ll find more functions to automate, which will give you all of the DevOps “pluses” you seek, while making the job of the team much more interesting and productive.