迁移不是一个动作,是六种策略的分配;把所有应用当成同一种来搬,是这类项目最常见的失败原因。
前面七节讲的是云【是什么、怎么卖、落在哪、怎么管】。这一节回到动手:手头已有的系统,怎么搬过去。 教材 6-8 的并列关键词只有一个【迁移】。
一、迁移的六种策略
教材只讲了一个词【迁移】。真动手时,它会被拆成六种做法,业内叫 6R:
- Rehost(重新托管):原样搬上云,代码几乎不动。俗称【lift and shift】。改动最小,最快。
- Replatform(平台重构):小改一下,换成托管服务(比如自建数据库换成云数据库)。改动小,收益实在。
- Refactor(重构):按云原生重写。改动最大,最贵,也最慢。
- Repurchase(重新采购):直接换成 SaaS,把老系统停掉。通用的功能(邮件、CRM、办公)最划算。
- Retire(退役):直接关掉。那些没人用的死系统。
- Retain(保留):先留在原地,暂时不搬。合规要求、刚上线、依赖特殊的那些。
关键认识:每一种都有它正当的位置。 百分之百重写是错的,百分之百原样搬也是错的。这是一个分配问题,不是选一个动词。
二、一份组合大概怎么分
真实项目里,一份 100 个应用的组合常见这么分(口径 A):Rehost 40 个、Replatform 25 个、Refactor 15 个、Repurchase 10 个、Retire 或 Retain 10 个。
给中小企业的口径(口径 B)也差不多:Rehost 35%~50%、Replatform 20%~30%、Repurchase 10%~15%、Refactor 5%~10%、Retire 5%~10%、Retain 5%~10%。
两个口径都在说同一件事:Rehost 占大头,Refactor 永远是少数。
为什么? 因为 Refactor 最贵、最慢、风险最高。主流做法是:先用 Rehost 把系统搬上云站稳,之后再把少数几个真正值得重写的挑出来做。
【全部重写一遍】的方案之所以危险:它把【迁移】和【现代化】两件事同时做,工期容易失控、预算容易翻倍,而且——搬之前你就没法验证云到底给你带来了什么。
三、Retire 为什么最容易被忽略
六种策略里,Retire 是唯一一个【不干活】的——而它恰恰最容易被跳过。
因为要发现哪些系统该退役,就得先老老实实做清点。 而清点是最枯燥的一步,很多项目为了赶进度直接跳过,结果把一堆死系统也搬上了云。
举个真实的量级:100 个应用里如果有 10 个是没人用的死系统,直接关掉就等于省下全部工作量的 10%。
这不是省钱,是省【命】——迁移最缺的从来不是预算,是人。 把人力从【搬一个没人用的系统】里省出来,投到核心业务上,这才是 Retire 的价值。
四、搬迁的工具与节奏
三家厂商各有自己的搬迁工具:AWS 的 Application Migration Service(MGN)、Azure Migrate、GCP 的 Migration Center。它们都能做自动发现、评估和复制,比自己写脚本可靠得多。
整个过程的节奏一般是五步:
- 摸家底:几周到几个月,这一步最容易被跳过,也最不该跳过
- 搭落地区:账号结构、网络、权限、安全基线——迁移前必须完成
- 分批搬:3 ~ 6 波,12 ~ 24 个月,按依赖关系分组
- 持续优化:搬完才刚开始——调规格、买预留、挪存储层
- 现代化:只对少数值得重写的应用做
整体 2 ~ 5 年。 凡是承诺【三个月全部上云】的,都要打个问号。
还有一个数字要记住:搬回本地的情况是存在的——IDC 欧洲 2026 说 14% 的欧洲企业搬回过一部分负载,Flexera 2025 说 21% 的云负载已经回迁。原因前两位是成本 42%、合规 38%。 另外,49% 的生产负载一直留在本地,从来没搬过。
所以【搬到云上】不是终点,【放到合适的地方】才是。
五、动手 Demo:六种策略怎么分
把一份 100 个应用的组合自己分配一遍——看看【不干活】的那一档,能省下多少。
plan = [("Rehost", 40), ("Replatform", 25), ("Refactor", 15),
("Repurchase", 10), ("Retire / Retain", 10)]
total = 0
for name, n in plan:
total += n
print(" %-16s %2d 个" % (name, n))
print(" 合计 %d 个" % total)
print()
print(" 假如 Retire 那一档里有 10 个是死系统:")
print(" 直接关掉 = 省下 10 个应用的迁移工作量 = 全部工作的 10%")
实跑输出:
--------------------------------------------------------------------
迁移的六种策略(6R)
--------------------------------------------------------------------
教材只讲了一个词【迁移】。真动手的时候,它会被拆成六种做法:
策略 做什么 改动量
------------------------------------------------------------
Rehost 原样搬上云(lift and shift) 几乎没有
Replatform 小改一下,换成托管服务 小
Refactor 重写成云原生 大
Repurchase 换成 SaaS 中
Retire 直接关掉 无
Retain 先留在原地 无
一份 100 个应用的组合,常见的分法(口径 A):
策略 个数 占比
-------------------------------------
Rehost 40 40%
Replatform 25 25%
Refactor 15 15%
Repurchase 10 10%
Retire / Retain 10 10%
合计正好 100 个。另一份给中小企业的口径长这样(口径 B):
Rehost 35 ~ 50%
Replatform 20 ~ 30%
Repurchase 10 ~ 15%
Refactor 5 ~ 10%
Retire 5 ~ 10%
Retain 5 ~ 10%
两个口径都在说同一件事:Rehost 占大头,Refactor 永远是少数。
凡是【全部重写一遍】的方案,工期和预算都会失控——这条有大量前车之鉴。
Retire 到底省多少:
100 个应用里,假如有 10 个是没人用的死系统。
直接关掉 = 省下 10 个应用的迁移工作量 = 全部工作的 10%
这不是省钱,是省【命】——迁移最缺的从来不是预算,是人。
搬回去的情况:
来源 说法
--------------------------------------------------------------------
IDC 欧洲 2026 14% 的企业搬回过一部分负载
Flexera 2025 21% 的云负载已经回迁
原因前两位:成本 42%、合规 38%。
另外 49% 的生产负载,一直留在本地,从来没搬过。
三家厂商各自的搬迁工具:
厂商 工具
--------------------------------------------------------
AWS Application Migration Service(MGN)
Azure Azure Migrate
GCP Migration Center / Migrate to VMs
大迁移的节奏,一般是这样的:
摸家底 几周到几个月(这一步最容易被跳过)
搭落地区 迁移前必须完成,否则后面全是补丁
分批搬 3 ~ 6 波,12 ~ 24 个月
持续优化 搬完才刚开始
现代化 只对少数几个值得重写的应用做
整体 2 ~ 5 年。凡是承诺【三个月全部上云】的,都要打个问号。
看前六行:Rehost 40%、Replatform 25%——前两项就占了 65%。这就是真实项目的形状:大头是【搬】,不是【重写】。 看最后两行:不干活的 Retire,能省下 10% 的工作量。而它的前提是先老老实实做清点——这是最枯燥、也最值钱的一步。 带走这一章的最后一句:迁移不是一次搬迁,是一次分配。 搬到云上不是目的,把每个系统放到它最合适的地方才是。这也是 6-3 讲【回迁】时那句话的另一面。
30 秒实验
- 数一下你手机里装了多久没打开过的 App——这就是个人版的 Retire。
- 想想你们公司的系统里,有几个是【没人说得清干什么用】的。
- 查一下你常用的网站的服务条款,看它有没有写明数据存放在哪个区域。
常见误区
- 错误:迁移就是【把程序搬过去】。——纠正:搬之前要先分类。 十个应用可能对应六种做法。用同一种做法处理全部,是这类项目最常见的失败原因。
- 错误:Refactor 最彻底,所以应该优先做。——纠正:它最贵、最慢、风险最高。 主流实践是先 Rehost 上云站稳,再把少数真正值得重写的挑出来。真实组合里 Refactor 通常只占 5%~15%。
- 错误:Rehost 没技术含量,是低端做法。——纠正:它有明确的价值——快。 数据中心要到期、合同要终止、或者要先离开本地再慢慢优化,Rehost 都是对的选择。 它不是低级,是【先站稳】。
自测三问(点开对答案)
1. 6R 分别是哪六个? —— **Rehost**(原样搬)、**Replatform**(小改)、**Refactor**(重写)、**Repurchase**(换成 SaaS)、**Retire**(关掉)、**Retain**(先留着)。 2. 为什么【全部重写一遍】是危险方案? —— 因为 **Refactor 最贵、最慢、最容易失控**,真实组合里通常只占 5%~15%。**把核心业务挑出来重写、其余先搬上云**,才是主流节奏。 3. 迁移整体大概要多久?为什么? —— **2~5 年**。要分 3~6 波、12~24 个月搬完,再加上前期的摸底和后期的优化。**任何承诺【三个月全部上云】的方案,都要打个问号。**- ☐ 下一节(7-1 是否使用数据库:会员管理、商品销售)
相关笔记
- 将现有系统迁移到云端的障碍 —— 上一章讲【搬不动的是什么】,这一节讲【怎么分配给六种做法】
- 云服务的两大类型 —— 搬到哪一类云上,是迁移的第一个决定
- 管理大量IT资源的机制 —— 上一节讲云怎么被管起来
- 从现有系统移植到云端 —— 同一件事的另一套讲法
- 导入过程的差异 —— 导入过程会因为系统不同而不同
- 优先考虑云服务的时代 —— 新系统为什么默认先想云
- 是否使用数据库 —— 下一章登场:系统建起来之后,内容与数据怎么管
- 以管理员身份连接Web服务器的方法 —— 从云上搬完,最后还是要有人进服务器看门
- 🕸️ Web技术原理 · 索引