如何确定遗留系统现代化战略
遗留应用程序通常具有表面上不明显的相互依赖关系。您不应该从最旧的程序开始并向前推进来实施现代化。
相反,从能够独立运行且不会因更改而影响其他程序的程序开始。一种新兴的工具类别称为 企业复杂性分析 可以通过深入研究代码并找到这些依赖项来提供帮助。虽然这些工具价格昂贵,但对于拥有大量遗留产品组合的公司来说,它们往往物有所值。
升级旧系统也不是非此即彼的命题。Gartner 定义了七种不同的 现代化类型最基本的方法就是封装数据和函数,使其通过 API 作为服务提供——这个过程根本不需要接触代码。
更多涉及的选项包括:
- 将应用程序重新部署到云基础架构,无需任何更改(“提升和转移”)
- 将其迁移到新的运行平台(例如软件容器)
- 重组现有代码以进行优化
- 更换或重建
即使是最基本的方法也可以帮助企业找到更大的可扩展性并访问云中的新功能。
遗产现代化的 5 个候选方案
对于升级您的旧系统,没有一刀切的策略。具体注意事项将根据软件类型而定。
以下是五个最常见的现代化示例以及支持更新的建议策略。
1. 过时的系统
过时的系统是组织在大型机和 COBOL 时代从头构建的系统。这些是最难现代化的应用程序,这样做甚至可能不是一个好主意。
如果系统运行良好,并且不会给组织带来负担,那么最好不要管它。相反,在寻找更现代的打包替代方案时,收集数据和函数以 API 形式公开可能会很有用。
2. 商用服务器上的应用
虚拟化运行 Linux、Windows 或 Unix 的基于 X86 的硬件可以帮助您的组织根据需要扩展资源并优化可用硬件的使用。
虚拟化将典型数据中心环境中的服务器利用率从不到 20% 提高到 70% 以上。
您还可以将虚拟化应用程序转移到云中。所有主要的公共云提供商都支持最流行的虚拟化平台。
另一种方法是将应用程序封装在 Docker 等软件容器中。容器将应用程序及其依赖组件(如系统库和设置)包装在一个包中。这可以共享并存储在存储库中。
在虚拟化和容器场景中,应用程序功能都不会受到影响。但您可以在环境和分配的资源方面获得更大的灵活性。
3. 业务流程
虽然业务流程不是软件,但它们通常包含在涉及工作流自动化和文档管理的应用程序中。
如果出现以下情况,则这可能是一种负担:
- 流程从未优化
- 业务已发生变化
- 技术使得改进它们成为可能
业务流程分析是一种有助于检查现有流程以寻找新效率的方法。有许多工具可用于自动执行这项工作。用户可以使用拖放工具可视化业务流程,或自动接收有关如何改进业务流程的建议。
机器人过程自动化 (RPA) 属于一种快速增长的工具类别,称为超自动化。这些工具用于自动执行日常人工任务,例如从打印文档中输入数据。
其他形式的超自动化包括:
- 低代码应用程序开发
- 事件代理
- 文档捕获软件
- 进程发现
- 预测决策模型
所有这些都有助于简化和自动化流程。
4. API 集成
这种集成以可被其他软件使用的方式公开应用程序服务和数据。
例如,现有应用程序中的信用卡审批流程可以封装并公开为 API。有许多工具可用来使用 API 改造老化的应用程序,让您能够随着时间的推移逐步实现现代化。这是一种在编写或安装更现代化的软件的同时延长旧软件寿命的简单方法。
5.企业服务总线(ESB)
ESB 协调应用程序之间的服务交换。它允许应用程序根据简单规则订阅消息,并提供一种分发服务的标准方法。
ESB 已经存在很长时间了,但随着云计算改变了我们构建软件的方式,这个概念也重新焕发了活力。
现代云应用程序由松散耦合的软件功能组成,这些功能是即时组装的。ESB 使开发人员能够通过插入新服务来增强和扩展功能。
例如,他们可以使用云服务构建新的用户界面,并连接到传统的后端系统通过 API 进行处理。
打包应用程序
客户端-服务器软件在 1990 世纪 XNUMX 年代风靡一时。但现在通过云提供的软件即服务 (SaaS) 已超越了客户端-服务器软件的流行程度。
如果你已经投入资源基于旧平台构建应用程序,那么这将是一个问题。尤其是因为许多应用程序,例如 Lotus Notes的,使用专有文件系统和脚本语言。
在客户关系管理等整合程度较高的市场中,大多数收购公司都努力为客户提供旧应用程序的迁移路径。
但在放弃客户端-服务器软件之前,请先查看类似的云原生应用程序是否具有更好的功能。如果旧数据位于符合 SQL 标准的数据库中,则数据迁移应该不是问题。
如果客户端-服务器应用程序经过大量定制或使用专有开发工具构建,该怎么办?最好寻求专业集成商的帮助,或者承担重担,从头开始重建这些功能。
由于大多数主流应用程序现在都可在云中使用,因此可以通过使用 API 重新编码以前的修改以将其与核心应用程序分离来解决此问题。然后,企业可以从基础包的增强功能中受益并维护其定制。
云端的 DevOps
敏捷开发技术 DevOps 是构建云应用程序的首选。这并不意味着瀑布模型等传统方法没有价值。但自上而下的结构和僵化的流程不利于快速的功能演进。
DevOps 鼓励:
- 开发人员和业务用户之间的密切合作
- 通过每日代码发布进行快速迭代
- 持续反馈
- 广泛使用服务
开发人员可以提供自己的基础设施并通过容器交付软件以实现可移植性。
不要被遗留的枷锁所束缚。企业应用程序现代化选项正在激增,成本也在下降。现在是重新审视您的软件组合并使其进入云计算时代的最佳时机。