1. The cloud readiness assessment: evaluate before migrating #
The fundamental step to understand the current state and define the migration strategy.
Application inventory audit #
Before any migration, an exhaustive audit of the application inventory is essential. It means analyzing each application in terms of business value, current operating cost (TCO), technical complexity, dependencies and criticality. This analysis lets you prioritize the applications to migrate and define the specific migration goals (cost reduction, better performance, greater agility).
Dependency analysis #
Applications are rarely isolated. You must identify all the technical links (databases, APIs, third-party systems, networks) between applications and the existing infrastructure. A detailed dependency map lets you anticipate impacts, avoid breaking critical flows and plan the migration consistently. Assessing the technical complexity of each application (language, architecture, database) is also crucial to choose the right strategy.
2. The 6 Rs: cloud migration strategies #
A framework for choosing the best approach to move applications.
Rehost (lift & shift) and replatform (lift, tinker & shift) #
- Rehost: also called "lift & shift", this strategy moves an application as is to the cloud, without major changes to its architecture. It is often the fastest way to start a migration, but it offers limited optimizations.
- Replatform: this approach involves minor changes to take advantage of cloud features. For example, migrating a self-managed database to a managed database service (RDS, Azure SQL Database). It offers a better balance between speed and optimization.
Refactor, repurchase, retire, retain #
- Refactor (re-architect): the most expensive and longest strategy, but also the most beneficial. It means rewriting or deeply changing the application's architecture to make it "cloud native" (microservices, containers, serverless).
- Repurchase: replace an existing application with a SaaS solution on the market (e.g. migrating from an on-premises CRM to Salesforce).
- Retire: identify applications that are no longer needed and decommission them, reducing costs and complexity.
- Retain: keep some applications on premises if migration is not justified (too costly, strict regulatory constraints, complex dependencies).
3. Key success factors for a cloud migration #
Beyond technology, human and organizational aspects are decisive.
The OpEx culture shift #
A cloud migration is not just a technical project; it is also a cultural transformation. Teams must adapt to the OpEx model (pay-as-you-go) and develop a culture of financial accountability (FinOps). Training teams in new cloud technologies, security best practices and cost optimization is essential to maximize the benefits of the migration.
Automation from day one #
One of the major pitfalls is reproducing "on-premises" practices in the cloud. Automation is the key to success. Adopting Infrastructure as Code (IaC) from day one lets you provision and manage cloud resources in a reproducible, consistent and fast way. This reduces manual errors, speeds up deployments and makes managing environments at scale easier.
4. Planning and running a migration project #
The structured steps to successfully transition to the cloud.
Key phases of a migration project #
A cloud migration project usually goes through several phases:
- Defining the strategy: choose the appropriate R for each application.
- Planning: establish a detailed roadmap, including dependencies, required resources and timelines.
- Migration: move the applications and data.
- Validation: rigorously test the applications in the new cloud environment.
- Optimization: adjust resources and configurations to improve performance and reduce costs.
It is often recommended to start with low-risk pilot projects to gain experience.
Measuring success and continuous optimization #
The success of a migration is not measured only at the end of the move, but over the long term. It is crucial to define clear key performance indicators (KPIs) (cost, performance, availability, agility) and track them after the migration. Optimization is a continuous process that requires technology monitoring, regular audits and constant adaptation of architectures to get the most out of cloud services.
My progress
Sign in to track your progress and take notes. Sign in
💬 Questions about this lesson
No questions yet: be the first to ask for help or share your configuration.
Recommended Articles
Cloud best practices: security, resilience, costs and operations
Cloud computing best practices: pillars of a well-architected design, IAM and least privilege, mu...
Introduction to FinOps: controlling your cloud bill
How to move from CapEx to OpEx while keeping financial control.
Stop moving to the Cloud, to micro-services...
I will certainly shock more than one person in this article, but don't hesitate to read to the en...
CaaS: state of the art and best practices
Container as a Service (CaaS) is a cloud computing model that lets companies manage and deploy ap...
Serverless computing: definition, FaaS and use cases
Serverless computing explained: Function as a Service (FaaS), how it works, advantages, limits (c...
Cloud deployment models: public, private, hybrid, community and multi-cloud
Understand cloud computing deployment models according to NIST: public, private, community and hy...
Operating Google Cloud: observability, security, infrastructure as code and costs
Operate Google Cloud: Cloud Monitoring, Cloud Logging and Cloud Trace (Google Cloud Observability...
Google Cloud best practices: organization, security, reliability and costs
Best practices for operating Google Cloud: organization and folders, projects per environment, IA...
IaaS, PaaS, SaaS: differences and examples of cloud service models
IaaS, PaaS, SaaS: what is the difference? Definitions, concrete examples (AWS, Azure, Google Clou...