A Guidepost for a Collaborative Modernization Approach

Understand your short and long term cloud goals, and formulate a strategy to achieve them

The drivers for moving workloads to the cloud are well documented: Organizations need to simplify operations, reduce costs, and increase application agility to meet market demands. Additional motivations for moving workloads to the cloud include balancing the need to meet regulatory compliance requirements with the desire to greatly increase innovation, performance and scalability.

But the critical question for organizations to first answer is: What are the specific cloud destination options, and what is the recommended approach to get there? To be effective, organizations need a strategy that fully maximizes cloud benefits, including, but not limited to, leveraging a cloud-native landscape.

Legacy to Cloud Short and Long-Term Destination Options

The selected cloud destination will ultimately depend on the customer’s desired short and long-term goals. Modern Systems has the unique ability and experience to migrate legacy workloads to any cloud destination: Cloud Ready, Cloud Optimized or Cloud Native. The following graphic provides an overview of the three different cloud destination options.
Cloud destinations

Disposition Strategies Mapped to Cloud Destinations

The starting point of any modernization journey should be a comprehensive assessment – encompassing applications, operations and the supporting infrastructure. Assessment results should look to validate any pre-selected disposition strategies, and ultimately assist in defining the overall modernization approach. Depending on the long term goals – the approach often includes a combination of disposition strategies. For example, a long term goal of reengineering a large, complex mainframe monolith into cloud-native microservices can be broken into several incremental steps:

  • Convert applications to a cloud-native language such as Java or C# and run containerized in a Cloud Ready environment.
  • Refactor applications to obtain desired level of elasticity at the container level, running in a Cloud Optimized environment. In parallel, reengineer specific functionality identified during the assessment phase with Java-based microservices.
  • Continue to optimize the application, incrementally reengineering to microservices and progressing towards a Cloud Native environment, realizing that it may not be necessary to replace the entire monolith in the short or long term. It’s important for each application to be analyzed critically via an in-depth assessment in order to understand the reality that parts of the monolith might be better served remaining intact.

The following diagram illustrates each disposition strategy that can be used on the journey to the cloud. A description of each option is outlined in the text below the diagram.

Disposition Strategies
A proven, mature approach based on an environment that runs on distributed platforms and emulates the legacy operating environment. The emulation capability minimizes the amount of change that occurs when migrating legacy systems to a distributed platform. Source code is recompiled where possible, and customized to support the specific Rehost technology. Data is migrated – with the structure of some original data types retained, including Relational, VSAM, Sequential, GDGs, among others. Operational functionality provided by third party solutions such as job schedulers, print and output management, security, and systems management solutions are replaced in order to support the same processing capabilities as the original legacy environment
An Automated Conversion approach which retains functional equivalence while converting core legacy applications to fully maintainable, refactored object-oriented Java or C# code. Once the legacy application and database is converted, developers can extend application functionality directly without the need to navigate the original legacy code. Critical business logic from the legacy system is preserved, while enabling deeper integration with other Java or C# workloads and additional customization to meet evolving business requirements.

Various levels of refactoring can be applied during or following an Automated Conversion project. Code is analyzed during the assessment to determine application cloud-readiness and the required refactoring effort to obtain the desired level of elasticity (i.e. horizontal scalability (scale out/in) and vertical scalability (scale up/down)) required by the application workloads being migrated.

Because mainframe-based applications are stateful by nature, they require modifications in order to take advantage of the dynamic scaling abilities provided in a cloud optimized environment. If scaling is desired, the assessment phase will allow for identification of areas where state is being stored on the application tier, such as the use of shared memory (e.g. CICS TS Queues, TD Queues, CWA, TWA if applicable) in addition to anywhere the applications are reading/writing local files, logs, and configuration scripts. At this point Modern Systems can then provide customers with options that weigh the pros and cons for addressing each state-specific issue. Examples include leveraging a distributed cache to support state, and moving any local file access to a scalable shared file system.

Reengineering captures original application specifications, and then redesigns and develops the new solution using the latest application frameworks. In addition, reengineering incorporates any required new functionality, which is a common driver for selecting this approach. Reengineering delivers a completely customized solution that meets exact requirements, leveraging the latest application frameworks, architectures and practices such as cloud-native microservices and DevOps. The primary business outcome for reengineering is increased application agility to more quickly meet evolving market demands.
Share This