Cloud migration vs modernization – What are the nuances?
Cloud migration vs modernization involves relocating existing applications to the cloud versus updating them to leverage cloud-native capabilities. Cloud migration involves moving applications and data to the cloud often with minimal changes to their architecture. Transferring data, applications, and workloads from one cloud provider to another is possible too, termed as cloud to cloud migration. Cloud migration projects usually aim to leverage cloud infrastructure for benefits such as scalability, flexibility and reduced on-prem maintenance.
Cloud Application Modernization, on the other hand, focuses on transforming applications to fully exploit cloud-native features and architectures. This may involve restructuring, refactoring, or rebuilding applications to optimize performance, scalability, and agility in the cloud environment. While migration is frequently about relocation, modernization entails a deeper transformation and often embraces cloud-native paradigms such as microservices and serverless computing.
The choice between cloud migration vs modernization depends on factors like cost, complexity, and long-term strategic goals. Understanding what is cloud migration, the process of moving data and applications to the cloud, and what is cloud modernization, the practice of updating and optimizing applications for the cloud, is essential for making an informed decision.
Amazon AWS has some good material available to help those formulating cloud migration strategies that can solidify how much modernization those planning such projects may want to integrate. For anyone looking to undertake a cloud migration project the AWS “6Rs” is a super framework within which to develop a strategy. The AWS “6Rs” have in recent times become the “7Rs” (Inflation! It gets everywhere!).
The original 6Rs were:
- Retain
- Retire
- Rehost
- Replatform
- Repurchase
- Refactor / Rearchitect
My colleague Arun, wrote a very detailed guide to the original 6 Rs that remains relevant, see: Define your cloud migration strategy with the AWS 6 Rs.
In recent years those original 6Rs have been joined by a 7th:
- Relocate
The Gartner 5Rs of Application Migration to the Cloud
Before the AWS 6Rs, in the earlier days of cloud computing, there were the Gartner 5Rs (Rehost, Refactor, Revise, Rebuild, or Replace), published in 2010. See: Migrating Applications to the Cloud: Rehost, Refactor, Revise, Rebuild, or Replace? (gartner.com)
Let’s explore how the 7Rs apply to both cloud migration and modernization!
Rehost (Lift and Shift)
Rehosting involves moving applications to the cloud without significant changes to their architecture or functionality. It essentially replicates the existing environment in the cloud and lifts servers and applications from the on-premises infrastructure and shifts them to a cloud infrastructure. Many organizations adopt this strategy as it carries the least amount of risk. Extensive changes are not required in the applications or infrastructure with this strategy. Right-sizing cloud infrastructure and VMs is often an important part of a lift-n-shift strategy. Some insights on how to right-size VMs are covered in – Choosing Azure Instances for Microsoft AVD.
There may be an element of modernization involved if rehosting also involves optimizing infrastructure on AWS for better performance and cost-effectiveness, although the core application remains unchanged.
Newer cloud products may in fact lift and shift from on-premises infrastructure to on-premises cloud infrastructure – see: Hybrid Cloud Strategies – AWS Launches Dedicated Local Zones with Singapore Government as First Customer | eG Innovations. In these scenarios, evaluating the benefits of modernization may be beneficial.
Replatform
Replatforming involves making minor adjustments to the application architecture to take advantage of cloud-native features without fundamentally changing its core functionality. Also known as “Lift, Shift and Tweak”, this strategy is a slight variation from rehosting.
Replatforming for modernization on AWS might include migrating databases to managed services like Amazon Relational Database Service (RDS) or optimizing storage using Amazon S3, while maintaining most of the application’s codebase intact. The core architecture of the application remains the same, but a portion of the application or the entire application is adapted to exploit new cloud features.
We have a detailed article on planning an on-premises to cloud service database migration pertaining to migrating on-prem MS SQL Server to Azure SQL – see: Planning and Baselining a Migration to Azure SQL | eG Innovations.
An example given by AWS is of a large media organization who migrated a large number of web servers from on-premises to AWS cloud infrastructure but in the process also moved from using Oracle WebLogic servers to Apache Tomcat in order to benefit from lower licensing costs.
Refactor / Rearchitecting
This strategy involves converting a legacy monolithic application into a new, highly decoupled, and cloud-native architecture. Refactoring is much more complicated than other cloud migration approaches because it requires application code changes and must be tested carefully to avoid regressions in functionality. While refactoring is a resource-intensive and time-consuming process, the benefits are manifold: your applications will run smoother and have a higher degree of availability, have reduced management overhead, and save costs. Refactoring can be a high-yielding investment once your applications are running on the cloud. This is a hard-core modernization strategy.
Refactoring involves restructuring or rewriting parts of the application to better fit cloud-native architectures, such as microservices or serverless. In modernization efforts, refactoring on AWS could include breaking down monolithic applications into microservices deployed using AWS Lambda or ECS, enabling greater scalability and flexibility.
Of course, refactoring applications commonly also occurs outside of cloud migration, with AppDev teams optimizing the applications they develop. Generally, the types of rearchitecture and code changes needed to take full advantage of the potential benefits of cloud need some sort of unified planning across both infrastructure and application landscapes.
Refactoring can involve deep code-level changes to take advantages of modern coding language enhancements and constructs such as Java Lambda Expressions, see for a deep engineering dive into this type of strategy: Demystifying Java Lambda Expressions | eG Innovations.
Repurchase
This strategy is also called “Drop and Shop”. An organization can eliminate significant migration efforts by moving to commercial off-the-shelf (COTS) products from third-party vendors. These could be purchased directly as software as a service (SaaS) or via the cloud provider’s marketplace. An example of this is moving from an on-premises email server to AWS Simple Email Service (SES). Another example is moving the organization’s CRM to Salesforce.
While repurchasing is a less common modernization strategy, repurchasing could involve migrating to AWS services such as Amazon WorkSpaces for desktop virtualization or Amazon Connect for contact center solutions.
Retire
Often, along the cloud migration path, it becomes clear that some applications are no longer useful or offering value. Retiring involves decommissioning applications or components that are no longer needed. Rather than move them to the cloud their use is stopped.
Retiring legacy systems is a sensible modernization strategy which will free up resources, allowing organizations to focus on more strategic initiatives and core technologies. No actual effort is invested in modernizing these systems.
Retain
Retaining involves keeping certain applications or components on-premises or in their current environment. Retaining may be a strategic decision for certain legacy systems that are not suitable for migration or modernization on AWS due to regulatory or technical constraints. Retaining is essentially the antithesis of modernization.
Even retaining only a small number of on-prem systems leads organizations with a dilemma as in-cloud native monitoring solutions will not cover their legacy or required on-prem systems. This is where monitoring tools, such as eG Enterprise, designed for hybrid cloud scenarios excel.
Relocate (The New Kid on the Block!). What is Relocating as a Cloud Migration Strategy?
The obvious first question is – What is the difference between relocating and rehosting? Relocation is basically rehosting, but specifically designed to enable you to create a virtual copy of your datacenter in the cloud. It is intrinsically entwined with specific cloud services and models that AWS offer, designed to help business transfer entire datacenters from on-prem technologies (usually virtualized ones such as VMware) into the AWS cloud. You can transfer a large number of servers, comprising one or more applications, at a given time from on-premises platform to a cloud version of the platform. You can also use the relocate strategy to move instances or objects to a different virtual private cloud (VPC), AWS Region, or AWS account. For example, you can use this strategy to transfer servers in bulk from VMware software-defined data center (SSDC) to VMware Cloud on AWS, or you can transfer an Amazon Relational Database Service (Amazon RDS) DB instance to another VPC or AWS account.
Amazon are of course very keen to help customers relocate vast swathes of virtualized infrastructure to the AWS Cloud and have provided services such as AWS WorkSpaces Core to help encourage Virtualization vendors such as VMware and Citrix to facilitate this. Citrix very recently announced a preview of support for Citrix DaaS on AWS WorkSpaces Core, see: Now in preview: Citrix DaaS for Amazon WorkSpaces Core – Citrix Blogs.
Obviously within this type of cloud migration there is usually very little thought given to app modernization and strategies such as refactoring are out of scope.
5 Key Differences between Cloud Migration Strategy and Cloud Modernization Strategy
While cloud migration focuses on moving applications to the cloud, modernization involves optimizing and transforming those applications to leverage the benefits of cloud-native architectures and services offered by cloud providers. To formulate an appropriate cloud migration strategy and determine how much (if any) modernization is needed, think about why you want to move to cloud and what you are trying to achieve in doing so.
To clarify your migration projects goals and remit, it may help think about these 5 key differentiators and perspectives and how they apply to your cloud migration plans:
- Scope: Cloud migration focuses on transferring existing applications or systems to the cloud, while cloud modernization services involve redesigning and optimizing applications for cloud-native environments. Do you believe you have performance bottlenecks that modernization would remove?
- Objectives: Migration aims to replicate existing functionalities in the cloud, whereas modernization aims to leverage cloud-native features for improved performance, scalability, and efficiency.
- Approach: Migration often involves lift-and-shift techniques, moving applications as-is to the cloud, while modernization involves refactoring, rearchitecting, or rebuilding applications to take advantage of cloud services. Do you have the in-house skills to take on refactoring type projects? Do you mainly use 3rd party apps where you have little input into application architecture?
- Legacy Systems: Migration deals primarily with legacy systems and their straightforward movement to the cloud, while modernization addresses legacy systems by transforming them into more agile and scalable architectures. How clunky are your applications and services?
- Long-term Strategy: Migration is often a short-term solution for moving workloads to the cloud, while modernization is a long-term strategy aimed at continuous improvement and innovation leveraging cloud technologies. Perhaps you have a pressing need to move to cloud and significant application refactoring would block the primary goal of your project.
In summary, modernization is not always a must-have but for some will offer considerable benefits. To make informed decisions based on data, you need good monitoring capabilities in place to baseline success before migration and to monitor the impact of your strategy. Some further information on baselining cloud migration projects is provided, here: Cloud Migration Best Practices – Top 10 Steps and some factors you will need to consider are available, here: White Paper | Top 10 Requirements for Performance Monitoring of Cloud Applications and Infrastructures (eginnovations.com).
eG Enterprise is an Observability solution for Modern IT. Monitor digital workspaces,
web applications, SaaS services, cloud and containers from a single pane of glass.
Related Information:
- Explore the Top AWS Services with Use Cases
- Define your cloud migration strategy with the AWS 6 Rs
- AWS Cloud Case Study: Troubleshooting Application Performance
- 6 Strategies for Migrating Applications to the Cloud | AWS Cloud Enterprise Strategy Blog (amazon.com)
- Public, Private, And Hybrid Cloud Monitoring Tools
- Application Performance Management (APM) Solutions
- White Paper | Top 10 Requirements for Performance Monitoring of Cloud Applications and Infrastructures