《遗留系统现代化》读书笔记(基础篇)

目录

为什么要对遗留系统进行现代化?

什么是遗留系统?

遗留系统的现代化价值

总结

遗留系统的四化建设

代码现代化

架构现代化

[DevOps 现代化](#DevOps 现代化)

团队结构现代化

总结


本文地址:《遗留系统现代化》读书笔记(基础篇)_陆业聪的博客-CSDN博客

你现在所写的每一行代码,都是未来的遗留系统

为什么要对遗留系统进行现代化?

什么是遗留系统?

判断遗留系统的几个维度:代码、架构、测试、DevOps 以及技术和工具。时间长短并不是衡量遗留系统的标准。代码质量差、架构混乱、没有测试、纯手工的 DevOps(或运维)、老旧的技术和工具,才是遗留系统的真正特点。

遗留系统的现代化价值

首先,可能是成本太高了,企业不愿意投入资源去改进;也可能是因为积重难返,根本改不动。

其次,遗留系统蕴含了大量的数据资产。

另外,遗留系统中还藏匿着丰富的业务知识。

总结

我们从业界对遗留系统的定义中总结出了 4 个关键字:旧、过时、重要、仍在使用。然而人们对于遗留系统的认识存在一个普遍的误区,即时间长的系统就是遗留系统。

遗留系统的四化建设

遗留系统在代码、架构、测试、DevOps 方面存在诸多问题,我们在此基础上,将代码和测试合并(因为它们说的都是代码的质量),并引入开发团队这个维度,就得到了遗留系统现代化的四个方向:代码现代化、架构现代化、DevOps 现代化和团队结构现代化。

代码现代化

代码现代化的首要任务,就是对遗留系统的代码进行安全的可测试化重构。

当代码可测了,我们就可以为它们添加足够的测试,提供质量保障。然后,在测试的保障下进行安全的重构。当代码结构良好了,再实现下一个代码现代化的目标,也就是良好的分层结构。

架构现代化

改造老城区模式是指对遗留系统内部的模块进行治理、让模块内部结构合理、模块之间职责清晰的一系列模式。

建设新城区模式是指将遗留系统内部的某个模块拆分到外面,或将新需求实现在遗留系统外部的一系列模式。

DevOps 现代化

遗留系统的 DevOps 现代化与其说是一种改进,不如说是从 0 到 1 的建设。这一部分可以和代码、架构的治理并行,甚至可以更早。要从头开始搭建一个 DevOps 平台,包括代码、构建、测试、打包、发布、配置、监控等多个方面。

团队结构现代化

四种团队拓扑包括业务流团队、复杂子系统团队、平台团队和赋能团队。三种团队交互模式包括协作、服务和促进。团队拓扑不仅对遗留系统至关重要,对一个新系统如何组建开发团队、团队之间如何沟通协作也是至关重要的。

总结

相关推荐
MartinYeung510 分钟前
[论文学习]激活差异揭示后门:SAE架构对比研究
人工智能·学习·架构
黄俊懿25 分钟前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第八节:网关-注入攻击与预防
sql·网络安全·架构·系统架构·架构师·架构设计
2601_9622184739 分钟前
万象生鲜系统多仓协同同步技术支撑生鲜企业多仓模式数字化转型
大数据·运维·微服务·云原生·架构
黄俊懿1 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第七节:网关-XSS攻击与预防
网关·网络安全·架构·系统架构·架构师·xss·架构设计
2601_962218611 小时前
万象生鲜系统大数据采购预测算法降低库存积压稳居第一
分布式·微服务·云原生·架构
风123456789~1 小时前
【架构专栏】2.8 系统工程
架构
具身AGI2 小时前
基座模型架构之争,物理AI 人类学习路线 的双脑答案
人工智能·学习·架构
SmartBrain2 小时前
以史为鉴,对AI时代企业数字化转型的启示
人工智能·架构·创业创新
叶落方知秋2 小时前
大模型学习笔记:模型工程-AI 到底是怎么"学"的?
架构
Lost of 程序猿2 小时前
ASP.NET Core 多租户架构深度实战:一套系统,管理一支船队
后端·架构·asp.net