By Michael Fontanetta, Senior Director and Distinguished Technologist, Platform Engineering, Ensono
Mainframe and cloud environments are like a pair of neighboring but disconnected countries. While each is strong and productive in its own right, a more communicative, collaborative alliance and pooling of resources would hugely benefit both. But their lack of shared language, laws and culture, and in the case of mainframe, the shrinking number of native speakers, can make forming such an alliance difficult.
The key to overcoming that barrier is essentially relocating the citizenry of the mainframe—its data—to a safe neutral territory. Moving mainframe data off a legacy server, where its outdated code is comprehensible and manageable only by a select few, and onto an open-source database where it can be understood by many, makes it infinitely more valuable. Cloud developers can fluidly integrate it into new apps and tools. Non-technical users can tap it for everyday business functions and analysis. Teams looking to bring on new developer talent have a broader pool to pull from. It changes the game completely.
The very things that make the mainframe so secure and resilient can also make this migration an extremely challenging task. The proprietary data formats and unique structures specifically optimized for efficient processing and storage within the mainframe environment present a significant challenge for modern IT teams, who often lack the necessary expertise in these systems. And the inherent incompatibility of mainframe structures with modern systems makes adapting this data for use in contemporary databases a complex task requiring considerable effort for effective transformation and integration.
The mainframe’s second-to-none security is also a roadblock when it comes to efficient data migration. Through tools like z/OS Connect, DVM or CICS Web Services, an Application Programming Interface (API) can be created for cloud apps to access the data in place for real-time insights. But given the complexity of the legacy code, it can be a risky undertaking that puts business-critical programs in a vulnerable spot and must be weighed against the potential rewards. In addition, the measures built around the mainframe to protect its sensitive data and ensure high availability necessitate additional time-consuming steps to get that process set up and functional.
Python is the lingua franca that bridges the gaps between these disparate technological states, facilitates the smooth transfer of information across their digital borders, and transforms their peaceful coexistence into a dynamic powerhouse partnership—a unified state known as The Modern, Cloud-Connected Mainframe. (See also, “A new way to conquer the great data divide,” Summer 2023.)
The pivotal role of Python
Thanks to its simplicity, versatility, and the broad range of applications it supports, Python has emerged as the go-to programming language for many data professionals, and an indispensable asset in creating a seamless bi-directional connection between legacy mainframe systems and modern cloud platforms. It provides a robust platform for interfacing with mainframes, handling different data formats, and performing complex data transformations.
Python also has a rich ecosystem of libraries and tools such as Pandas and NumPy, which are particularly useful for data transformation tasks and offer a wide range of functionalities from basic data manipulation to advanced statistical analysis. And its capabilities extend beyond just data extraction—it also allows for the implementation of functions to fetch data from mainframe tables or files, functions which can be used to format and prepare data for direct access by databases or other data storage systems.
In other words, Python takes the lengthy, complicated, tedious and specialized process of data preparation and migration and makes it exponentially faster and easier. This allows more of your people to manage data, in far less time, without any degradation of data security or stability.
Streamlined, simplified, right-sized mainframe transformation in action
So, what does this process look like in the real world? Step one is to understand the client’s true business need and match it with the right approach. Real-time accessibility is often considered a must these days. And as previously mentioned, it is possible to tap mainframe data for live updates via an API, but it is also complicated, lengthy and risky. It’s more often the case that a business outcome assumed to depend on real-time information can be easily achieved with less frequent updates, say several times a day or week.
This is where that “citizen relocation” scenario comes into play—and where Python really shines.
At the core of this approach is System Management Facility (SMF) data generated by the z/OS operating system. This data is a gold mine, telling a provider everything about how the system is running, from basic operations to more detailed activities. It helps SIs understand and organize clients’ system setups, manage software updates, bill clients accurately, meet service promises, plan for future needs, automate tasks and provide consistent support.
Handling all this information requires a standard way of collecting and managing it. At the heart of this strategy is the Mainframe Metrics Warehouse (MFMW), a separate storage repository for this data that uses a PostgreSQL database. This data is moved directly from the mainframe system to the MFMW, using a Python script to simplify and accelerate the process. This approach saves a lot of time, reduces complexity, and creates a standard way of supporting clients that gives them the access they need on the schedule the outcome requires, without introducing unnecessary business or operational risk.
The benefits of this simpler, more consistent data transfer process are delivered straight to clients. Staff are freed up to spend more time on data analysis and automation improvements. Support methods can be updated and improved more easily, with better service and a fully optimized modern, cloud-connected mainframe system. And Python makes it all possible.
Pose a question to our Mavens today!
Submitting a question to Ask a Maven is quick and easy. Just send us an email at askamaven@themavenreport.com. Include your question and let us know how you’d like to be identified (provide your name, company and/or industry) or if you’d prefer to remain anonymous.
Our Mavens personally review and consider each reader submission. If yours is featured in an upcoming issue, you’ll receive a special Maven gift—our way of saying thanks for asking a Maven.