【系统架构】遗留系统的技术栈迁移

什么是遗留系统(Legacy System)?根据维基百科的定义,遗留系统是一种旧的方法、旧的技术、旧的计算机系统或应用程序[1]。这一定义事实上并没有很好地揭露遗留系统的本质。我认为,遗留系统首先是一个还在运行和使用,但已步入软件生命周期衰老期的软件系统。它符合所谓的“奶牛规则”:奶牛逐渐衰老,最终无奶可挤;然而与此同时,饲养成本却在上升。这意味着遗留系统会逐渐随着时间的推移,不断地增加维护成本。

维护一个软件系统,就需要了解该软件系统的知识。若知识缺失,就意味着这会给维护人员带来极大的障碍和困难。从这个角度讲,所谓“遗留系统”,就是缺少了一部分重要知识,使得维护人员“知其然而不知其所以然”的软件系统。

若要让遗留系统焕发青春,最彻底的做法自然是推倒重来,但这样付出的代价太高;而且,即使对系统重新设计和开发,仍然免不了会重蹈遗留系统的覆辙。或者,可以对遗留系统进行重构,在不修改系统功能的情况下改善系统设计。只是这种重构常常是对系统进行重大扩展或修改的前奏,如无绝对必要,并不推荐这种偿还“技术债务(Technical Debt)”的方式。重构应与开发同时进行,而不应将其作为债务推迟到最后,以至于支付高昂的利息。最后,还有一种方式,则是对遗留系统进行技术栈迁移。

原文发布于微信公众号 - 逸言(YiYan_OneWord)

原文发表时间:2014-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯大数据的专栏

CSDN专访腾讯蒋杰:深度揭秘腾讯大数据平台

腾讯业务产品线众多,拥有海量的活跃用户,每天线上产生的数据超乎想象,必然会成为数据大户,为了保证公司各业务产品能够使用更丰富优质的数据服务,腾讯的大数据平台做...

2005
来自专栏云计算D1net

八大热门云端应用程序开发技巧中文详解

这些是当下最受欢迎的云应用程序开发话题。 一、借助不同类型的云应用程序整合产品 去年,许多读者浏览阅读了关于各种云应用程序开发话题的文章,这也许可以证明发生在云...

3097
来自专栏云计算D1net

云计算开源运动:厂商争先公开源代码

伴随着低门槛,未来的可移植性及业界巨头的支持等三大优势,开源云工具如雨后春笋般不断出现。 在一些云计算领域的大潮流的背后,开源工具扮演着很重要的角色,最近越来...

26810
来自专栏PPV课数据科学社区

干货|你距离被Facebook认可的数据分析师,还差点什么?

经常有小伙伴在各种渠道问我,数据分析师怎么入门?应该读什么书?如何能成为被大公司认可的数据分析师? Facebook 数据分析师邹昕曾分享过这样一张“数据分析核...

3208
来自专栏无原型不设计

Mockplus: 让小白产品经理上手就用的原型图设计工具

近5年来,PC软件和移动软件呈井喷趋势。任何软件应用,都离不开原型设计和原型设计工具。Mockplus应运而生,除用于移动开发,还可以制作PC、网页的原型,它帮...

3224
来自专栏人称T客

移动化研究中心:CIO必须关注的十大移动CRM推荐

伴随着BYOD的不断涌入企业,CRM成为企业移动化布署的首要任务,以管人和客户为主的移动外勤,移动客户关系管理系统开始如雨后春笋般涌现,有只注移动CRM解决方案...

2877
来自专栏云加新鲜事儿

释放技术的想象 :解码腾讯云软件架构与应用

19 周岁之际,腾讯为身为开发者的你准备了一场丰富技术盛宴,来自腾讯云与知乎的六位技术专家,围绕 SCF、云端容器化、X-P2P 直播加速、微信小程序等精彩...

2.4K0
来自专栏Java学习网

技术团队负责人应该具备怎样的能力

技术团队负责人应该具备怎样的能力 正好写2015年终总结,其实今年不太想写的,但是公司层面要求有个人总结要弄,写了个开始就情不自禁多写了一些,谈谈这方面的总结...

2826
来自专栏BestSDK

APP创业者必知的7个API供应平台,任何数据需求都能满足

编辑导语 我们都知道一句话“巧妇难为无米之炊”,数据源就是让数据产生价值中的那些大米。那大数据时代企业需要哪些数据呢?其实大部分数据源可以大致分为以下几类。 先...

2227
来自专栏ATYUN订阅号

再也不用愁反复写邮件了,AI机器人用一封邮件就可以搞定所有!

邮件沟通往往很麻烦,来来往往,尤其是涉及到你需要与多个人沟通协作的时候,一封又一封的邮件是很平常的一件事。每当这个时候就有让人抓狂的欲望。每个人的时间都是很宝贵...

2705

扫描关注云+社区