Cloud migration — Strategies and applicability
This blog describes the various cloud migration strategies and cases where each strategy is useful
Stephen Orban’s blog on 6 strategies for migrating applications to cloud is the most definitive description of the various approaches that an enterprise can adopt for migration. In this blog, we talk about the pros, cons, applicability and the “how-to” that is associated with each of these strategies.
Rehost (or Lift and Shift)
This strategy is used to redeploy applications as-is to a cloud infrastructure and change the application’s infrastructure configuration.
Pros
- Short migration path (a few weeks to a few months)
- Suitable for bulk/data center migrations
- Immediate cost savings compared to on-premises infrastructure
Cons
- Doesn’t utilize cloud native features such as elasticity
Applicability
- When time is a constraint (see drivers for cloud migration)
- Legacy apps that cannot be immediately modernized
- No AppDev and DevOps capability or bandwidth
Approaches
- Backup and Restore VM and Data
- Fresh Install (recreate VMs and migrate data)
- Live Migration (using tools like CloudEndure)
Replatform
This strategy is used when applications or selective components of an application are migrated to a cloud’s compatible PaaS services (such as managed Databases such as RDS or CloudSQL, or PaaS services such as AWS Elastic Beanstalk, etc.), without any changes to the application code.
Pros
- Applications can quickly start to see benefits of cloud managed components without a full refactoring/re-architecting cycle
- Quick migration path (a few weeks to a few months)
- Reduces operational load on the SysOps teams
Cons
- Usually an intermediate stage before a full refactoring exercise
- Applications may not be ready for web-scale elasticity till a full refactoring exercise
- Possible early lock-in with PaaS services. May be difficult to migrate out of them
Applicability
- Suitable for fairly decoupled n-tier applications
- When time is a constraint (see my blog, drivers for cloud migration)
Approaches
- Move one or more applicable tiers to PaaS services, while rehosting (lift-and-shift) the remaining components.
Refactor
This approach is used when an enterprise is undergoing a digital transformation. During this exercise, enterprises usually refactor (or re-architect, rebuilt) existing solutions or rewrite applications from scratch, to take full advantage of a modern PaaS or serverless cloud architectures and cloud services. This exercise requires a full development cycle and optionally, adoption of DevOps culture before an application can be migrated to cloud.
Pros
- Achieves the best of both worlds in terms of cloud architecture and DevOps best practices
- Automation focused with Infrastructure-as-Code principles
Cons
- The longest path to migration
- Often dependent on successful adoption of DevOps practices
- Possible lock-in with PaaS services. Customers looking at container solutions to workaround these problems
Applicability
- When the focus is on modernizing an application based on new business flows.
- When there is a focus on adoption of a DevOps culture.
- New (greenfield) applications
Approaches
- Full development lifecycle, often accompanied by adoption of DevOps culture
- Full data modeling and migration
Replace
This strategy is used when an enterprise chooses to replace in-house software with an equivalent SaaS service.
Pros
- Move from an in-house to a fully managed solution
- Future feature updates and data migration is handled by SaaS vendor
- OPEX based (often, per user) billing models
- No development teams required for app modernization (data management teams required for data migration to SaaS platform)
Cons
- Possible data mapping and export issues
- Migrations for large enterprises can involve longer timeframes. Maintaining data consistency in this hybrid scenario can be a challenge.
- Vendor lock-in once migrated
Applicability
- In-house or licensed legacy software where industry leading SaaS platforms provide a managed and cost effective option and provide most or all of the required functionality.
- For e.g. — MS Exchange deployments are often replaced with Office 365. In-house SFA and CRM tools can be replaced with platforms like SalesForce.
Approaches
- Identify and map data schemas and plan phased data migration
Retire
This happens often when there are multiple versions of legacy software running on-premises and older versions are either being or have been phased out but still hosted. A migration readiness assessment can help identify such applications.
Pros
- Consolidated infrastructure footprint in the cloud
Cons
- None
Applicability
- Older versions of applications that are no longer in use.
Approaches
- Decommission application and backup and data for compliance if needed.
This blog is part of our ongoing cloud series. To find out how GlobalLogic can help in your cloud migration journey, please reach out to us at cloud@globallogic.com.