############################### 11.0.7 Cloud Migration Strategy ############################### Moving to the cloud is a journey, not a destination. Let's explore smart migration strategies that build on your container expertise. =========================== The 6 Rs of Cloud Migration =========================== .. note:: Moving to the cloud is a process that involves planning, preparation, and execution. It can be a complex and challenging undertaking, but it offers many benefits, including scalability, flexibility, cost savings, and ease of use. **Migration Approaches Overview:** .. code-block:: text The 6 Rs Migration Strategy: Rehost (Lift and Shift) Replatform (Lift, Tinker, and Shift) Refactor (Re-architect) Retire (Turn off) Retain (Keep as is) Repurchase (Buy new) ========================== 1. Rehost (Lift and Shift) ========================== **What it means:** Move applications to cloud with minimal changes .. code-block:: text Traditional Approach: ┌─────────────────────────────────────┐ │ Physical Server │ │ ├─ Windows Server 2019 │ │ ├─ IIS Web Server │ │ ├─ .NET Application │ │ └─ SQL Server Database │ └─────────────────────────────────────┘ │ (Rehost) ▼ ┌─────────────────────────────────────┐ │ Cloud Virtual Machine │ │ ├─ Windows Server 2019 │ │ ├─ IIS Web Server │ │ ├─ .NET Application │ │ └─ SQL Server Database │ └─────────────────────────────────────┘ **Container-First Rehost:** .. code-block:: bash # Smart rehost using containers # 1. Containerize your existing application FROM mcr.microsoft.com/dotnet/aspnet:6.0 WORKDIR /app COPY published-app/ . ENTRYPOINT ["dotnet", "MyApp.dll"] # 2. Deploy to cloud Kubernetes kubectl apply -f - <