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

目录

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

什么是遗留系统?

遗留系统的现代化价值

总结

遗留系统的四化建设

代码现代化

架构现代化

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

团队结构现代化

总结


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

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

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

什么是遗留系统?

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

遗留系统的现代化价值

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

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

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

总结

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

遗留系统的四化建设

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

代码现代化

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

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

架构现代化

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

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

DevOps 现代化

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

团队结构现代化

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

总结

相关推荐
heimeiyingwang9 小时前
【架构实战】Netty高性能网络编程:IO模型与内存池
架构
解局易否结局13 小时前
ArkUI MVI 架构实战:单向数据流设计模式在 HarmonyOS NEXT 中的深度实践
华为·设计模式·架构·harmonyos
L-影14 小时前
单体与微服务区别
微服务·云原生·架构
运维大师15 小时前
【K8S 运维实战】01-K8s架构深度剖析
运维·架构·kubernetes
XUHUOJUN15 小时前
Azure Stack Hub 容量规划指南(上篇:Microsoft 软件层 + 架构原理)
架构·azure stack
seacracker15 小时前
HPC存储I/O抖动无解?PowerFS基于CRDT弱一致架构,彻底实现前台零抖动
架构·分布式存储·powerfs·hpc存储·i/o零抖动
解局易否结局16 小时前
ArkTS 设计模式与架构进阶:构建可维护的 HarmonyOS 应用
华为·设计模式·架构·harmonyos
Swift社区17 小时前
AI 为什么越来越像微服务?
人工智能·微服务·架构
ai_coder_ai18 小时前
基于架构的软件设计方法
架构
AA陈超18 小时前
006 T03 — 蓝图操作指南
c++·游戏·架构·ue5·github·虚幻引擎