Strategy for modernizing applications in the AWS Cloud - AWS Prescriptive Guidance

Strategy for modernizing applications in the AWS Cloud

Vijay Thumma, Amazon Web Services (AWS)

December 2020 (document history)

A successful application modernization strategy starts with the business need in mind, and then focuses on technologies. As the journey to the cloud gathers pace, organizations have been looking for ways to accelerate cloud adoption and for a prescriptive approach to application modernization. Amazon Web Services (AWS) approaches application modernization by dividing the modernization roadmap into discrete increments that focus on three phases: assess, modernize, and manage. This article discusses the strategy for assessing and modernizing applications, and is based on the AWS Professional Services team's years of experience helping enterprise AWS customers in their cloud adoption and application modernization projects.

This strategy is for IT and business executives, program and project managers, product owners, and operations and infrastructure managers who are planning to modernize their applications in the AWS Cloud. It explains how to identify mission-critical applications, how to evaluate different modernization approaches (such as refactor, rearchitect, or rewrite), and how applications would benefit from improved scalability, performance, security, and reliability.

The strategy is part of a content series that covers the application modernization approach recommended by AWS. The series also includes:

Overview

Modernizing your applications helps you reduce costs, gain efficiencies, and make the most of your existing investments. It involves a multi-dimensional approach to adopt and use new technology, to deliver portfolio, application, and infrastructure value faster, and to position your organization to scale at an optimal price. After you optimize your applications, you must operate in that new, modernized model without disruption to simplify your business operations, architecture, and overall engineering practices.

Migrating applications to AWS by using the rehosting (lift and shift) approach doesn’t automatically give you the benefits of the elasticity, resiliency, ease of deployment and management, and flexibility that AWS offers. Nor does it automatically modernize your culture and processes to enable high-performing software development. Modernization means taking your application environment in the form that it’s in today (most likely, legacy and monolithic) and transforming it into something that is more agile, elastic, and highly available. In doing so, you can transform your business into a modern enterprise.

To optimize your cloud adoption and migration, you must first assess and evaluate your enterprise for readiness. After you assess the readiness of your organization, you can:

  • Select one or two applications.

  • Modernize those applications so that you can maintain, extend, deploy, and manage them in a way that meets the current and future needs of your business.

  • Establish a foundation for modernization at scale through the hands-on experience you gained in the previous two steps. In this phase, you can create a complete modernization solution by determining the supporting infrastructure, application middleware, middleware services (such as databases, queuing software, integration software, and other technologies), and other components.

The iterative approach to application modernization discussed in this article can be divided into three high-level phases: assess, modernize, and manage. These phases are discussed in more detail later in this article.

Phases of the application modernization process