When migrating applications to the cloud, Enterprise Architecture has become essential for determining the best cloud migration strategy. It also helps re-architecting applications with an architecture that leverages the services provided by cloud platforms such as Google Cloud, AWS, and Microsoft Azure.
There are many ways to identify application candidates for migration, but one that seems to be gaining traction is described in an AWS blog post where cloud migration strategy can be categorized into six types:
This strategy simply consists of moving one application to the cloud without re-architecting the application or developing new cloud-native capabilities. This strategy is often employed in large migration scenarios. The application can still be re-architected once the application has been moved to the cloud.
Applications are not fully re-architected but take advantage of some cloud optimizations. For example, database instances can be migrated to a database-as-a-service to reduce licensing costs.
This strategy consists of purchasing a SaaS application like Salesforce or Office 365, and replace the existing on-prem application.
The application is refactored - or re-architected - by leveraging cloud-native features.
In this scenario, applications will benefit from a performance improvement but also agility and business continuity enhancements by moving from a monolithic architecture to a service-oriented architecture.
Organizations use this option for strategic applications that will be used in the long term. It also enables them to add new features or scale the application for more users.
Instead of being migrated to the cloud, an application can be retired due to a low business value or a low business criticality.
The application just stays on-premises with no change.
As Enterprise architects manage a portfolio of applications, they can follow the three steps described below to help them migrate their applications to the cloud.
By mapping technologies to applications and applications to business capabilities, enterprise architects get a complete understanding of all application dependencies, whether an application is supported by an obsolete technology or an application supports a critical business capability.
This mapping helps enterprise architects to identify dependencies or data exchanges that could prevent an application from being migrated to the cloud. It also provides a precise view of the complexity of the on-premise application architecture to assess the difficulty of migrating an application.
Additionally, using surveys of business and IT stakeholders, each application is ranked based on its business value and technology efficiency. This gives IT leaders another insight into which strategy to apply.
On the one hand, if an application has a low business value and a low technical efficiency, an application can be retired. If an application has a low business value but a high technical efficiency, the application can be retained on-premises.
On the other hand, an application with a high business value can be prioritized to be moved to the cloud. Depending on the complexity of the technical architecture, the application can be either refactored (i.e. re-architected), simply rehosted (“lift and shift”) or re-platformed (“lift-tinker-and-shift”).
If the “Refactor” strategy has been defined for a particular application, solution architects can re-architect the application for the cloud using cloud services that replace the technologies that were once used in on-premises installations. During the migration process, solution architects can identify the best path to migrate an application and reuse it to later migrate similar applications to the cloud.
Another key concern is the exposure of sensitive data during migration. By having a clear understanding of the sensitive data managed by applications, architects can reduce the risks associated with migration.
Additionally, an application that has been migrated still needs to comply with regulatory requirements. Thus, architects must incorporate any relevant regulatory requirements when designing the new cloud application. It is also worth mentioning that in some cases, architects will need to rethink the customer journeys and business processes associated with the application.
Once the application is moved to the cloud, solution architects can optimize its architecture using available cloud services, especially if the chosen strategy was to rehost or replatform.
For cost reasons or other reasons, applications can be hosted on different cloud platforms. That’s why it is important to manage a multi-cloud architecture. For example, we can think that one service is hosted by one cloud provider while another service is provided by another cloud platform.
The migration process should be smooth, and Enterprise Architects have a serious role to play to help.