Mainframe Databases are a first-class citizen of DevOps

Co-Authored by John Benbow (Sr Manager — Database Mngt)

Sujay Solomon
Modern Mainframe

--

Databases such as Db2 for z/OS, IMS and Broadcom’s Datacom and IDMS are the foundation of how application data is stored and processed on the mainframe supporting both online and batch processing. These databases participate in greater than 30 billion transactions being run on the mainframes across the world every day enabling over 90% of the world’s financial transactions. Substantial progress has been made in enabling the mainframe to participate in the enterprise DevOps process. Given the criticality of mainframe databases to enterprises being successful they need to be a part of every enterprise’s DevOps strategy.

To enable mainframe databases to be part of large enterprise DevOps Strategies, Broadcom has enhanced its tooling to ensure Application Developers and DBAs can realize the benefits of the DevOps shift-left approach.

We’ll provide an overview here of what has been achieved so far then focus on each of these areas in subsequent blogs to give you a clear idea of what we have provided to enable you on your DevOps journey.

As you’re probably aware, Broadcom has an “Embrace Open” approach. Opening up your Enterprises mainframes enables access to data and management of systems via contemporary development tools such as Visual Studio Code (VS Code), CI/CD orchestration tools such as Jenkins and source management tools such as Git.

Mainframe databases such as Db2, IMS, Datacom and IDMS need to be a part of this evolution to enable developers to quickly get access to the database resources they need to develop and deploy applications in a DevOps pipeline.

Shift-Left & Automate Database Operations

Research from DevOps Research and Assessment (DORA) indicates that high-performing teams can complete work without detailed coordination and communication with people outside the team. Database tasks need to shift left in order to be more streamlined and eliminate any potential blockers. Open interfaces like Zowe CLI commands and RESTful APIs can accelerate the shift-left of these DBA functions through automation.

For example, shifting left enables developers to self-provision environments, accelerating development and freeing up resources from routine tasks like instantiating development environments. Ultimately, this can lead to faster changes, and shorter cycle times in getting application changes to “Production”, so enterprises can realize their benefits and improve business outcomes.

Integrating mainframe database operations into the DevOps pipeline and ensuring its integration has an efficient outcome also means your organization has a greater opportunity to exploit the power of the mainframe in your enterprise applications. For example, enabling new and existing applications that were using less powerful and scalable databases the opportunity to exploit the power of z/OS database systems such as Db2, IMS, Datacom and IDMS.

Version Control Database Changes

K. Scott Allen, who was a founding author at Pluralsight on the topic of databases and software development in general, considers “always version your database” as one of his 3 rules of database work. This is nothing revolutionary considering he wrote this back in 2008, but database artifacts on the mainframe are often unversioned even today. It’s time we took action to follow this best practice.

Database artifacts such as standalone SQL statements and database object definitions (DDLs) are an integral part of the business logic of the application. As such, they should be versioned, managed and access-controlled in the same way that application code generally is via SCM tools like Endevor & Git. This enables us to back out bad changes easily and in a more structured fashion from higher level environments like “Production” when necessary.

Application Testing & Assertions

Application testing requires access to high-quality data. Oftentimes, data will need to be duplicated from higher-level environments to dev environments. Enabling this via Zowe CLI commands can further shift-left test data access to the team. We will talk about this in a future blog and provide examples of how you might load and unload data into your Development and Test phases of your SDLC.

Automating functional testing is another area of focus with proven benefits such as cycle time reduction, reduction in human error, cost savings, earlier detection of bugs, thoroughness, and even information security. Mainframe applications often undergo lengthy, thorough manual testing even for minor changes before they’re considered for production. Automation can help speed this up, especially if assertions can be performed on the output residing in databases.

SRE Enablement & SLA Ownership

Application teams have traditionally owned the responsibility of SLA for their respective apps. However, they’ve been siloed from IT teams when correcting SLA misses or doing root cause analysis. Site Reliability Engineers (SREs) can help break down these barriers and even proactively assist application teams with improving the resiliency and performance of their applications.

Monitoring applications is a key aspect of the DevOps pipeline and supports your SRE with planning for SLAs as well as helping application teams firefight when the need arises. In a future blog, we will talk about how we are exposing database operational metrics via REST to enable you to visualize data in open platforms such as Grafana using Prometheus as a data repository and how specific data could also be monitored programmatically and integrated back into a pipeline. Data can also be fed to log consolidation and analytic stacks such as ELK via Prometheus.

Application Developer Experience

Developers are the heart and soul of your valuable business applications. A delightful user experience for them while working with databases is essential to their performance and job satisfaction. At Broadcom, we’ve invested into bringing support for databases like IDMS into the VS Code platform through our Code4z set of extensions. Within VS Code and its integrated terminal, our Zowe CLI commands for IDMS and Db2 Tools can empower developers to automate more of their repetitive tasks. Zowe CLI commands and the RESTful interfaces Broadcom provides can also be used in other self-service portals or tools that you may use at your site.

There are further areas to consider to ensure mainframe database systems are a DevOps enabler, but these should get you started. We, at the Broadcom Mainframe Software Division, are focused on and invested in enabling our customers to seamlessly integrate our powerful Db2 and IMS Tools, Datacom and IDMS database systems into these environments to support sophisticated database management in enterprise-grade DevOps environments.

We look forward to partnering with you on this journey. Please register to participate in a Design Thinking Workshop with us using this link.

Thank you for taking the time to read this blog.

Hope you are well and staying safe!

--

--