3. 迁移策略与6R框架

6R框架是Google Cloud迁移方法论中用于“为每个应用选择迁移方式”的核心决策工具。它把迁移策略分为六类:Rehost(重新托管)、Replatform(平台重构)、Refactor(重构/重新架构)、Repurchase(重新采购)、Retire(退役)、Retain(保留)。理解6R的关键不是背定义,而是知道在什么条件下选哪一个,以及选择之后对成本、工期、风险和后续现代化空间意味着什么。

六个策略的本质差异

Rehost(重新托管,常称“平移”):把应用原样搬到云端虚拟机,操作系统、中间件、应用代码基本不变。典型做法是用Migrate to Virtual Machines把VMware虚拟机直接复制到Compute Engine。优点是快、风险低、适合大规模批量迁移;缺点是只拿到基础设施弹性,拿不到云原生红利,长期运维成本可能偏高。适用场景:数据中心租约到期、需要快速退出机房、应用即将被替换但短期不能停、缺乏源码或原厂支持的老系统。

Replatform(平台重构,常称“平移并优化”):保留应用核心代码,但把部分组件换成托管服务。例如把自建MySQL换成Cloud SQL,把自建Redis换成Memorystore,把本地文件存储换成Cloud Storage,把Tomcat集群换成Cloud Run。它不重写业务逻辑,只替换“运行底座”。收益是减少运维、提升可用性;代价是需要做兼容性验证和连接串、驱动、备份策略的调整。适用场景:应用仍要长期使用、团队运维负担重、数据库或中间件是主要痛点。

Refactor(重构/重新架构):为云环境重新设计应用,通常涉及拆分单体、容器化、改为微服务、使用Pub/Sub做异步解耦、用BigQuery替换自建数据仓库。收益最大,能获得弹性伸缩、按需付费、快速迭代;但工期最长、成本最高、风险最大。适用场景:业务增长快、单体已成为瓶颈、需要高频发布、有明确现代化路线图且团队具备云原生能力。

Repurchase(重新采购):放弃自建,改用SaaS替代,例如把自建CRM换成Salesforce,把自建邮件系统换成Google Workspace。它本质是“换产品”而非“搬系统”。适用场景:自建系统维护成本高、SaaS功能已覆盖需求、数据迁移和集成可控。

Retire(退役):确认无人使用或功能已被替代,直接下线。迁移前做应用盘点时,常能发现10%~20%的“僵尸应用”。退役是最省钱、最省事的策略,但必须先确认无业务依赖、无合规留存要求。

Retain(保留):暂时不迁,留在原环境或留在本地。原因可能是强依赖专用硬件、数据主权限制、刚完成重大升级、或迁移收益不明显。保留不是失败,而是有意识的暂缓,通常需要设定复查时间点。

6R迁移策略决策地图:从应用特征到策略选择 先判断“是否保留/退役”,再判断“改造深度”,最后落到具体策略 应用盘点与业务评估 业务价值 · 技术债 · 依赖关系 是否仍被业务使用? 有无合规留存要求? 否 Retire 退役下线 暂不迁 Retain 保留待复查 是 是否愿意改变应用形态? 改造深度:代码 / 组件 / 产品 不改代码 Rehost 原样搬到 Compute Engine 快 · 低风险 · 批量迁移 换托管组件 Replatform Cloud SQL · Memorystore · GCS 保留业务逻辑,替换运行底座 换产品 Repurchase 改用 SaaS 替代自建 CRM · 邮件 · 协作 重写架构 Refactor(重构/重新架构) 单体拆分 · 容器化 · 微服务 · Pub/Sub 解耦 · BigQuery 收益最大 · 工期最长 · 风险最高 改造深度 Rehost Replatform Repurchase Refactor

决策方法:从应用画像到策略落点

实际项目中,6R不是凭感觉选,而是按一套可复用的判断顺序推进。建议按以下四步走。

第一步:先做应用盘点,建立应用画像。对每个应用记录:业务负责人、用户量、月活、SLA要求、技术栈、依赖的中间件和数据库、是否有源码、是否有原厂支持、合规与数据驻留要求、最近一次重大升级时间。这些字段直接决定后续判断。例如“无源码、无原厂支持、用户量低”往往指向Retire或Retain;“有源码、单体、数据库是瓶颈”往往指向Replatform。

第二步:先排除Retire和Retain。这两类不消耗迁移资源,却常被忽略。判断Retire的条件是:无活跃用户、功能已被其他系统覆盖、无合规留存要求。判断Retain的条件是:强依赖专用硬件、数据主权不允许出境、刚完成重大升级、迁移收益低于成本。把这两类先摘出去,能显著缩小需要真正迁移的应用范围。

第三步:在Rehost、Replatform、Refactor、Repurchase之间做取舍。核心看三个维度:改造意愿、改造能力、时间窗口。时间窗口紧、团队云经验少,优先Rehost;数据库或中间件是主要痛点、团队能做兼容性验证,优先Replatform;业务增长快、单体已成瓶颈、有明确现代化路线图,才考虑Refactor;自建系统维护成本高且SaaS已覆盖需求,考虑Repurchase。

第四步:为每个应用设定目标与复查点。策略不是一次定终身。Rehost的应用可以在迁移后6~12个月再评估是否Replatform;Retain的应用应设定复查时间,例如每半年重新评估一次。把策略、负责人、目标时间、复查时间写进迁移台账,才能让6R从概念变成可执行计划。

一个可参考的决策示例

假设某零售企业有四个应用需要处理,示例参数如下(属于教学假设,非实测数据):

应用关键特征推荐策略理由
门店POS后台无源码、原厂已停止支持、用户量低Retire功能已被新POS覆盖,无留存要求
核心订单系统单体Java、自建MySQL、月活高、有源码Replatform数据库是瓶颈,先换Cloud SQL降低运维
内部报表平台自建数据仓库、查询慢、增长快Refactor改用BigQuery,重构数据链路
自建邮件系统维护成本高、功能通用Repurchase改用Google Workspace
生产控制网关依赖专用硬件、数据不出厂Retain暂留本地,半年后复查
决策时不要追求“所有应用都用最先进的策略”。6R的价值在于匹配:用最低的改造成本拿到可接受的收益。Rehost和Replatform往往能覆盖大部分应用,Refactor应集中在少数高价值、高增长的系统上。
常见误区:把Rehost当成“临时方案”而轻视它。对于数据中心退出、并购整合、灾备建设等场景,Rehost是达成时间目标的关键手段。另一个误区是忽略Retire,导致把已经无人使用的系统也纳入迁移范围,白白消耗预算和工期。

策略选择与后续现代化的衔接

6R不是终点,而是现代化路径的起点。Rehost之后可以逐步Replatform,Replatform之后可以针对核心模块Refactor。建议在迁移台账中为每个应用记录“当前策略”和“目标策略”,例如:订单系统当前Replatform,目标12个月后对促销模块Refactor。这样迁移就不是一次性项目,而是持续现代化的第一步。

最后,6R的落地依赖两个动作:一是把每个应用都明确归入某一类,不允许“待定”长期存在;二是为每类策略定义验收标准。Rehost的验收是应用在Compute Engine上可正常访问、备份与监控就绪;Replatform的验收是托管服务连接正常、性能不低于原环境;Refactor的验收是新架构通过功能与压力测试;Repurchase的验收是数据迁移完整、用户可正常使用;Retire的验收是数据已归档、依赖已解除;Retain的验收是复查时间已登记。把策略和验收标准绑定,6R才真正可执行、可追踪。