There are multiple options for transforming mainframe and midrange application and data landscapes. For organizations embarking on this journey, two key questions arise almost immediately: what options are available; and which is the ‘right’ one. Microsoft has been advising companies for over a decade, based on key drivers of change: cost, skills, and agility.
Gartner describes 7 Options to Modernize Legacy Systems, colloquially known as the ‘7Rs’ of modernization. To simplify the decision-making process, Microsoft has settled upon four key patterns to unlock and accelerate the transformation of legacy applications and data.
IMS to Azure is based on Raincode IMSql and is complemented by the entire Raincode product suite, including compilers for COBOL, PL/I and ASM 370, as well as JCL and CICS emulators. Together with the world-class capabilities from Microsoft Cloud, these products enable customers to migrate from siloed and expensive mainframes to a lower cost, reliable and scalable cloud platform, as part of an incremental modernization approach.
- Migrate applications and data to cloud with little or no change, retaining all source code, data models and interfaces, including legacy processes to host and deliver the environment.
- Transform applications and data to cloud, converting to contemporary languages and data repositories with cloud-native processes, yet retaining identical functions and interfaces.
- Reimagine the applications and data from scratch, to reflect new business processes. Potentially, shift to a packaged or SaaS portfolio for delivering new business capability.
- Extend existing applications and data, retaining and augmenting existing mainframe or midrange environments in place, with cloud native processes, technologies, and capability.
The Migrate Pattern
The Migrate pattern, sometimes referred to as ‘Lift-and-Shift’, ‘Re-hosting’ or ‘Replatforming’ – and occasionally as ‘Mainframe-as-a-Service’ – involves moving applications and data with minimal change. The philosophy of this approach is to protect all aspects of the IP in the source code and data models, preserving identical functions and interfaces to service consumers, whilst moving from on-premises infrastructure to cloud.
Microsoft offers a range of Migrate solutions, including like-for-like hardware migration; VM-based environment emulation; and cross-compilation into container-based frameworks to fully exploit cloud-native architectures. Microsoft has multiple reference architectures for the Migrate pattern.
Organizations who adopt this pattern are typically seeking a faster, lower-risk migration, owing to the fewer number of changes and therefore lower level of testing requirements. Skills are often a secondary concern in these scenarios, as knowledge of the legacy applications and data is still required post-migration.
The Transform Pattern
The Transform pattern, pattern involves tool-based re-factoring to contemporary languages and data repositories. The principle of this approach to is to derive new applications and data services from existing source code and data models. Once again, identical functions and interfaces are retained, whilst delivering the new services in cloud.
The use of tooling enables millions of lines of code to be converted in matter of hours, typically producing Java, C# and occasionally Python, for specific data-manipulation use-cases. Historically, these tools performed line-by-line conversions, producing low-quality code. However, today’s looking is far more sophisticated, building functional models to produce high-quality code that is easily maintained and extended. The very latest tooling incorporates AI learning models to de-compose monolithic applications into loosely coupled microservices architectures.
Code conversion is just one aspect of the tooling, with a significant focus placed migrating the data to cloud-scale data repositories that combine on-line transaction processing with analytical queries. In parallel, tooling is inherently designed to automate the testing process to ensure like-for-like function with the new code, data, and associated system utilities.
Microsoft has multiple reference architectures for the Transform pattern.
Organizations who adopt the Transform pattern are focused on moving away from all aspects of their legacy environments, including the skills and processes necessary to manage and release new functions and exploit data. While this approach typically incurs a longer timeframe and cost, recent advances in these tools now offsets most of these concerns and this is a fast-growing pattern.
The Reimagine Pattern
As new business processes arise, the retirement of obsolete services is essential for removing the legacy debt that would otherwise accumulate over time, and the Reimagine Pattern encapsulates this approach. Under these circumstances, the existing applications are no longer fit-for-purpose and will be entirely replaced from scratch, to fulfil the new business requirements.
Two key approaches are taken here: either creation of new bespoke applications, or adoption of commercial off-the-shelf packages that are subsequently tailored to fit. Microsoft provides a variety of options in this space, ranging from solution accelerators within the Cloud Adoption Framework, to an extensive portfolio of Microsoft and Microsoft-certified third-Party SaaS offerings in the Azure Marketplace.
Typically, the organizations who adopt this pattern are combining their technology and platform transformation together with their business process transformation. As such, the cost and timeframe for these initiatives is governed by the specific business timelines, rather than speed of technology change.
The Extend Pattern
The Extend pattern involves retaining the core mainframe or midrange services and augmenting with cloud services. The guiding principle is to combine the traditional strengths of these systems on-premises, with the agility and responsiveness of cloud, as part of a hybrid cloud architecture. Production workloads remain in place, while the overall service is enhanced and optimised.
There are several ways Microsoft extends and accelerates legacy services, including:
- Accelerating application delivery. Legacy tooling, system constraints and waterfall application delivery supress agility. These can be addressed by adopting industry-leading DevOps practices, delivering test/dev in cloud, or accelerating with low-code solutions.
- Application integration. Simplifying access to core business logic is critical for building hybrid applications. Exploiting REST APIs and other abstraction techniques accelerates cloud-native developers’ ability to create new services, with no prior knowledge of the underlying service.
- Data insight and exploitation. Data siloes prevent effective data-driven decision making and this is addressed with a range of approaches, including: ETL/ ELT for post-event analysis; data virtualization, real-time data visualization or streaming with event-driven architectures.
- Optimizing Back-up & Archive. Creating a fail-safe recovery for critical data is essential but has remained largely unchanged since its inception. Exploiting the global reach of cloud for archiving reduces cost whilst improving infrastructure, performance, and resilience.
In organizations for whom mainframe or midrange platform continue to be strategic, the Extend pattern paves the way to a hybrid cloud portfolio, that addresses the skills, agility, and cost concerns inherent to any legacy environment.
Which is the 'right' pattern?
This is the crux of the discussion for many organizations. While each of these transformation patterns satisfies different business requirements, the answer is more nuanced.
Organizations with a smaller footprint, and just a few applications, can often apply a single transformation pattern to address all their requirements. In contrast, organizations with a larger footprint and hundreds or thousands of applications, multiple transformation patterns are the key.
The largest of these platforms are massively multi-tenanted, hosting thousands of applications. Each application will likely have a subtly different technology stack, support one or more business units and have a discrete lifecycle. In such cases, Microsoft works closely with organizations, grouping the portfolio according to business requirements to ensure the right pattern for each application.
Through our 15+ heritage of transforming mainframe and midrange applications and data, Microsoft has developed and refined these patterns to accelerate these journeys to cloud, whilst mitigating the risk and complexity of doing so. If you would like to learn more about these patterns, or our approach, please contact us at: mainframetransformed@microsoft.com.