Many enterprises are moving their mainframe workloads to the cloud to take advantage of factors such as cost reduction, increased agility, technical debt deduction, digital strategy support, mainframe legacy skills gap, and data analytics. Mainframe workloads are more challenging to migrate than x86-based workloads, because legacy mainframe applications are often developed and deployed in a tightly coupled manner. For example, a mainframe application might include programs that are used by a number of subsystems or are directly called by other applications. In these cases, changes made to the underlying programs also affect the associated subsystems and applications.
For legacy applications, Amazon Web Services (AWS) recommends an incremental approach, where the migration is planned in waves, as a best practice. This approach helps reduce risk, because you select and prioritize applications that are closely related to be migrated together. However, this approach sometimes isn’t as straightforward for mainframe migrations as they are for x86-based migrations, especially because the mainframe application code can be temporal coupled (invoked synchronously) or deployment coupled (using linked modules). Migrating the coupled application code affects dependent applications and therefore carries some risks. To reduce such risks, you can decouple the mainframe application code without impacting dependent applications. This guide explains some of the commonly used patterns to decouple mainframe application code for migration.
The guide is for IT and business executives, architects and business analysts, migration and technical leads, development teams, program and project managers, product owners, and operations and infrastructure managers who are planning to migrate and modernize their mainframe applications in the AWS Cloud.