开放源码软件ABC
E 代表技术栈的有效期
在我们的开源软件 ABC系列中,我们讨论了从合规性到文档的方方面面。今天,我们要讨论一个大问题:E 代表生命周期结束 (EOL)。
如果您从事技术工作,您一定听说过这个词。但它到底是什么意思,为什么对你的业务有影响?让我们来分析一下。
软件寿命终止 (EOL) 意味着什么?
当开源维护者宣布某个项目已达到生命末期时,这意味着他们不再发布更新、修复或安全补丁。该项目并没有 "死亡"--你仍然可以运行它,但它的时间被冻结了。
这样的例子随处可见:
- AngularJS将于 2022 年正式退出历史舞台。
- Python 2在称霸近二十年后日落西山。
- 即使是像jQuery和Lodash这样广泛使用的库,最终也会被淘汰。
为什么会出现这种情况?有时社区会转向更新的框架。有时,维护者根本没有时间或资源继续维护。
公司为何继续运行过期软件
这里有一个棘手的问题:EOL 并不意味着停止工作。许多公司继续运行 EOL 软件,因为
- 迁移既昂贵又耗时。
- 旧系统仍然 "有效"。
- 替换工具并不涵盖所有功能。
但是,运行过期软件就像驾驶一辆没有保险的汽车--今天可能还好,但一旦发生事故,就会酿成大祸。
运行报废软件的风险
- 安全漏洞
没有补丁 = 没有保护。新的 CVE 会被发现,但没有人会修复它们。这样,您的应用程序就会受到攻击。 - 合规问题
GDPR、PCI DSS 和SOC 2等框架需要积极维护。运行不支持的软件会引起审计人员和法律团队的警惕。 - 兼容性分解
科技生态系统不断发展。浏览器在发展,操作系统在更新,依赖关系在变化。您的 EOL 软件无法适应,直到有一天它崩溃了。
软件到期时该怎么办
第 1 步:不要惊慌,但也不要忽视它。
"车内怪声 "只会越来越大。
第 2 步:评估替代方案。
替代方案是什么?是否有更新的、受支持的框架或库?
步骤 3:制定迁移计划。
- 地图依赖关系
- 彻底测试
- 在打开开关之前对开发人员进行培训
步骤 4:如果不能立即迁移,则要管理风险。
- 将 EOL 系统与关键工作负载隔离开来
- 加强监测
- 考虑可提供安全补丁的第三方支持提供商
大局观:万物皆有报时
硬道理:在技术领域,没有什么是永恒的。每一种框架、语言和程序库最终都会寿终正寝。问题不在于"是否",而在于 "何时"。
聪明的组织通过以下方式做好准备
- 定期审核开放源码软件依赖关系
- 确定迁移时间表的优先次序
- 与 HeroDevs 等供应商合作,在无法立即迁移时提供永无止境的支持
最终收获
EOL 不仅仅是旧软件的问题。它关系到变革的准备程度。
如果你在生产中运行不支持的开放源码软件,你不仅会落后,还会面临风险。但是,通过正确的规划、风险管理和支持组合,您可以在保证系统安全的同时,按计划向前推进。
下一个系列?F 代表叉子(不,不是吃饭用的那种)。
在此之前,请保持代码整洁,打好依赖补丁,并制定切实可行的迁移计划。