遗留系统现代化有 4 条路:原样迁移到云上;把代码转换到现代平台;围绕您提取出的业务规则重建;或用成品软件替换,只保留数据。决定选择的是 4 个问题:您的规则是否为公司特有?问题出在系统运行的位置,还是系统本身?还有谁懂它的代码?员工能承受多大的变化?亚马逊把这些路线归纳为 7 种策略,微软归纳为 8 种,两者都逐个系统做决定。

在第 4 部分,您提取了系统的业务规则,并由流程负责人确认。正是这些规则让下面的对比成为可能:没有它们,您就不知道每条路会让您失去哪些系统行为。

用大白话讲四条路

技术名词很多,但可以归结为任何管理者都能理解的 4 个决定。下表对它们进行对比,括号里是您会从供应商那里听到的名称:

路线何时适用保留什么有何风险需要谁参与
原样迁移(Rehost)系统稳定、能完成工作,问题出在服务器或数据中心全部:代码、规则和工作方式把老问题带到新地方IT 部门以及负责安全和数据的人
转换代码(Replatform 或 Refactor)规则没问题,但编程语言或平台已停止支持,或许可费用成了负担规则和系统行为,运行在现代语言或平台上隐藏的转换错误,只在少见情况下才暴露开发人员,以及负责测试结果的流程负责人
围绕规则重建(Rebuild)规则为贵公司特有、构成差异化,而旧系统已容纳不下您的需求已确认的规则和数据;代码全部重写耗时最长,也最需要管理层做决定管理层、流程负责人和开发团队共同参与
用成品软件替换(Replace)您在这一领域的工作与他人相似,例如人力资源或一般会计只有数据员工要改变工作方式去适应产品,产品不支持的规则会丢失管理层和每天使用它的员工

源代码就是编写系统的程序文本。如果您手里没有,或者已经没人看得懂,转换这条路就会更难;亚马逊的策略指南把“没人知道如何维护或源代码不可用的应用”列为推动重新设计的情形之一。

AI 转换工具适用于哪里

AWS Transform 这类工具主要用在第二条路:读取旧代码并转换到现代平台,例如把旧的 .NET Framework 应用迁移到可在 Linux 上运行的现代版本。亚马逊称该工具能将 Windows、大型机和 VMware 应用的现代化速度提升至多 5 倍;这是亚马逊对自家服务的说法,并非保证的结果。根据其定价页面,该服务按代理分钟计费,每分钟 0.035 美元,用户空闲时间不收费。

但工具不会替您选路。当转换是正确决定时,它能加快转换;如果更好的答案是用成品软件替换,它帮助不大。还要注意,区域页面没有列出任何中东区域,并提醒您的数据可能在其他区域处理;而据沙特通讯社报道,亚马逊已宣布将于 2026 年 12 月在沙特推出云区域。如果您的代码中含有客户数据,开始前请先核实数据将在哪里处理。

什么决定成本和工期

我们不会给出数字,因为不了解您的系统就给出的任何数字都只是猜测。以下因素会在任何一条路上推高或降低成本和工期:

  • 规模与交织程度:屏幕、报表以及与之相连的其他系统数量,正如您在第 3 部分的盘点中看到的。
  • 规则的清晰度:每条已确认的规则都能节省时间,每条未知规则都意味着一次迟来且昂贵的发现。
  • 数据质量:无论走哪条路,重复或不完整的数据都需要在迁移前清理。
  • 员工需要改变多少:原样迁移对用户毫无改变;替换几乎改变一切,需要培训。
  • 还有谁懂这个系统:一位了解系统来龙去脉的员工能省下数周的摸索。

关于步骤顺序,两份官方资料给出了建议。亚马逊的指南把重新架构描述为最复杂、成本最高的策略,并建议大型迁移先迁移、迁移完成后再做现代化。微软的 Cloud Adoption Framework 指出,只有在您确信工作负载至少两年保持现状时,原样迁移才合适;否则最好直接现代化,避免重复劳动。迁移本身的步骤,我们在上云实用指南中已有介绍。

常被遗忘的两个选项:保留和退役

并非每个遗留系统都需要现在就现代化。亚马逊和微软的清单都以两个不需要完整项目投入的选项开头:

  • 退役:有些系统实际上已无人使用。亚马逊举的例子是过去 90 天内没有任何入站连接的应用,或处理器和内存使用率低于 5% 的应用。归档数据后将其关闭,可以减少维护工作和安全风险。
  • 保留:系统稳定、能完成工作,近期没有改变的理由;或者系统与一台无可替代的工厂设备绑定。此时的决定是保留它、持续观察、以后再议。

如果您倾向于用成品 ERP 替换,请先按照如何选择 ERP 一文中的标准比较成品与定制方案,并从已确认的规则清单出发:产品不支持的每条规则,要么变成昂贵的二次开发,要么变成手工操作。

Origami 的观点

我们不从技术入手,而是从规则入手:这个系统里哪些业务规则让贵公司与众不同,哪些是大家共有的?与众不同的部分值得用心重建或转换;共有的部分,一款与您其他系统良好集成的成品软件就可能做得很好。所以决定往往是组合式的:一个系统替换,另一个转换,第三个保持原样。

我们在真正能节省时间的地方使用 AI 工具,比如阅读、转换和测试代码,但路线选择仍由管理层在看清每个选项保留什么、失去什么之后作出。如果您想了解我们的工作方式,请查看我们的服务。

本周练习:每个系统一个决定

回到您的系统清单,为每个系统增加两列:它的规则是贵公司特有的还是通用的?问题出在哪里:运行的位置还是系统本身?然后写下初步路线:

系统规则特有还是通用?问题在位置还是系统?初步路线
示例:定价系统特有系统本身转换或重建
示例:休假管理通用系统本身用成品软件替换
示例:旧档案库无人使用无所谓归档数据后退役

以上只是示例,您的表格会有所不同。关键是每个系统的路线都要有书面理由,并在您询价之前由流程负责人审阅。

下期预告

您已为每个系统选定了路线。项目中风险最大的一天还在后面:切换日。在第 6 部分,我们将讲解如何通过对比两个系统在同一批真实交易上的输出,来测试 AI 编写或转换的代码;如何在规定期间内让新旧系统并行运行;以及何时需要回退方案。

资料来源