前置知识: 云计算

云迁移 6R 策略

6 min中级

6R 迁移策略:Rehost/Replatform/Repurchase/Refactor/Retire/Retain 的决策、执行与 TCO 评估。

前置知识与学习目标

「要不要上云、怎么上云」不是一个问题,而是每个应用各自的问题: 存量系统里既有三年没动过的遗留单体,也有本该下线却没人敢删的僵尸 服务。6R 策略(源自 AWS 迁移框架,业界通用的扩展版本还有 7R——多了 Relocate)给每个应用一个迁移「处方」。

完成本文后,你应当能够:为单个应用判断适用哪个 R;估算迁移的 TCO 与 风险;理解数据迁移与切换验证这两个最难环节。

1. 六个 R 全景

策略一句话改动量典型周期适合
Rehost 重新托管原样搬(lift & shift)几乎为零天-周快速下机房
Replatform 平台替换小改造换托管件低周想吃托管红利
Repurchase 重新购买换 SaaS 产品中(数据迁移)周-月商品化能力
Refactor 重构深度改造上云原生高月-年核心且长生命周期
Retire 退役下线不再需要--僵尸应用
Retain 保留留在原地零-合规/临退休

关键认知:成熟企业的迁移组合是 6R 的混合,而不是全量某一种。 行业普查的常见分布大致是:Rehost 与 Retain 占大头,Refactor 只留给 少数高价值应用——「先整体 Rehost 落地,再按需渐进优化(Replatform/ Refactor)」是风险可控的主流路径。

2. 六个 R 逐个拆解

2.1 Rehost:搬机器,不改代码

把物理机/虚拟机的镜像直接搬到云上(VM 导入工具,如 AWS Application Migration Service、Azure Migrate)。价值在快速结束机房合同;代价是 带着旧架构的缺点上云,前期往往「成本不降反升」。适合大量同质化的 存量系统。

2.2 Replatform:小手术换托管件

改动小但吃到托管红利:自建 MySQL 换 RDS、自建 MQ 换托管队列、 Tomcat 挂到容器平台。代码基本不动,主要是换掉运维重的中间件。 性价比最高的策略之一,适合多数中型应用。

2.3 Repurchase:不迁移,改采购

自建的邮件/CRM/工单系统,改用 SaaS(Salesforce、飞书、Workday)。 迁移的实质变成数据搬家 + 集成改造。判断标准:这个能力是不是 商品化的?商品化的东西自建就是负债。

2.4 Refactor:为云重新设计

把单体改造为微服务、改造为云原生架构,吃弹性伸缩、按量计费、 高可用的全部红利。成本与风险都最高,只值得投给:生命周期长、 业务波动大(弹性收益高)、且属于核心竞争力的应用。通常不是 「迁移前重构」,而是「先 Rehost 上云,再按业务节奏重构」。

2.5 Retire:发现的 10-20% 可以直接删

迁移评估的意外收获:盘点后发现有两位数百分比的应用其实没人用了 (业务下线了但系统还在跑)。直接退役,省下的预算补贴其他迁移。

2.6 Retain:光明正大地不动

因合规(数据必须留在本地)、许可证锁定、即将退役等原因暂不上云。 保留也是决策——把它写进迁移计划并定期复审,而不是无人负责地遗忘。

3. 迁移评估:决定每个应用走哪条 R

3.1 应用画像(评估维度)

维度关键问题指向
业务价值还有多少活跃用户/交易?低 -> Retire
技术栈中间件是否可替换为托管?可 -> Replatform
架构耦合与其他系统的接口数量高耦合 -> 先 Retain/Rehost
数据引力数据量与迁移窗口TB 级 -> 在线复制方案
合规约束数据能否出本地/出境不能 -> Retain/托管私有云
生命周期还有几年寿命?< 2 年 -> Rehost 或 Retain

3.2 TCO:别只比较电费

迁移 TCO 至少要含:计算存储网络费用、迁移工具与专线费、双跑期费用 (新旧环境并行 1-3 个月)、人力投入、上云后的运维组织变化、以及 预留/节省计划的采购策略。只拿「服务器电费 vs 云账单」比较会得出 「上云更贵」或「上云巨省钱」两个都错的结论。稳态负载的长期 TCO 未必低于自建(见 030-PublicCloudPrivateCloudHybridCloud),弹性负载 才有数量级优势。

3.3 风险评估

  • 技术风险:OS/中间件版本过老,云平台不再支持 -> 升级先行;
  • 数据风险:迁移窗口内的一致性(双写/停写);
  • 组织风险:运维团队技能转型,配合迁移安排培训。

4. 迁移执行:三个最难环节

4.1 分批迁移(Wave 规划)

Wave 1(试点):低风险、独立的应用,验证流程与工具
Wave 2(主体):按业务域分批,每批保留回退窗口
Wave 3(攻坚):强耦合核心系统,待依赖迁完后进行

依赖关系决定批次顺序:先迁「被依赖少的」,核心系统放最后。每个 Wave 都要设定明确的成功标准(性能基线、错误率、回退触发条件)。

4.2 数据迁移:最后一公里决定成败

方案原理适用
离线搬运停机导出导入/物理设备小数据量、可停机
在线复制CDC 持续同步(如 DMS)大数据量、小停机窗口
双写过渡新旧库同时写再校验高一致性要求(复杂度高)

数据库迁移的标准姿势是 CDC(变更数据捕获):先全量复制,再持续追 增量,切换时只需分钟级停写。大文件用离线设备(如 Snowball 类), 避免走公网既慢又贵。

4.3 切换验证与回退

灰度切流(DNS 权重/LB 权重 1% -> 10% -> 50% -> 100%)
  → 每档观测核心指标:错误率、延迟、业务转化
  → 定义回退触发线(如错误率 > 1% 持续 5 分钟)
  → 回退预案演练过至少一次(没有演练过的回退方案等于没有)

切换窗口选择业务低峰,保留旧环境完整运行至少 1-2 周再下线—— 这是你唯一的后悔药。

小结

  • 初学者要点:6R 是按应用逐个选的「处方集」;多数企业的现实组合是 Rehost 为主 + Retire/Retain 收尾 + 少数 Refactor;评估看业务价值、 耦合度、合规与生命周期四个硬约束;执行上分 Wave 试点先行、数据 用 CDC 在线复制、灰度切流 + 演练过的回退预案。
  • 进阶注意:Rehost 的常见后续是「成本不降反升」,要在上云后跟进 Right-sizing 与托管化改造(见 240-CloudCostOptimization);TCO 必须 含双跑期与人力,弹性负载才谈得上数量级节省;核心系统的 Refactor 最好按业务节奏分阶段做,避免「大爆炸式重构 + 搬家」双重风险叠加。