开放源码软件ABC

E 代表技术栈的有效期

在我们的开源软件 ABC系列中,我们讨论了从合规性到文档的方方面面。今天,我们要讨论一个大问题:E 代表生命周期结束 (EOL)

如果您从事技术工作,您一定听说过这个词。但它到底是什么意思,为什么对你的业务有影响?让我们来分析一下。

软件寿命终止 (EOL) 意味着什么?

当开源维护者宣布某个项目已达到生命末期时,这意味着他们不再发布更新、修复或安全补丁。该项目并没有 "死亡"--你仍然可以运行它,但它的时间被冻结了。

这样的例子随处可见:

  • AngularJS将于 2022 年正式退出历史舞台。
  • Python 2在称霸近二十年后日落西山。
  • 即使是像jQueryLodash这样广泛使用的库,最终也会被淘汰。

为什么会出现这种情况?有时社区会转向更新的框架。有时,维护者根本没有时间或资源继续维护。

公司为何继续运行过期软件

这里有一个棘手的问题:EOL 并不意味着停止工作。许多公司继续运行 EOL 软件,因为

  • 迁移既昂贵又耗时。
  • 旧系统仍然 "有效"。
  • 替换工具并不涵盖所有功能。

但是,运行过期软件就像驾驶一辆没有保险的汽车--今天可能还好,但一旦发生事故,就会酿成大祸。

运行报废软件的风险

  1. 安全漏洞
    没有补丁 = 没有保护。新的 CVE 会被发现,但没有人会修复它们。这样,您的应用程序就会受到攻击。
  2. 合规问题
    GDPRPCI DSSSOC 2等框架需要积极维护。运行不支持的软件会引起审计人员和法律团队的警惕。
  3. 兼容性分解
    科技生态系统不断发展。浏览器在发展,操作系统在更新,依赖关系在变化。您的 EOL 软件无法适应,直到有一天它崩溃了。

软件到期时该怎么办

第 1 步:不要惊慌,但也不要忽视它。
"车内怪声 "只会越来越大。

第 2 步:评估替代方案。
替代方案是什么?是否有更新的、受支持的框架或库?

步骤 3:制定迁移计划。

  • 地图依赖关系
  • 彻底测试
  • 在打开开关之前对开发人员进行培训

步骤 4:如果不能立即迁移,则要管理风险。

  • 将 EOL 系统与关键工作负载隔离开来
  • 加强监测
  • 考虑可提供安全补丁的第三方支持提供商

大局观:万物皆有报时

硬道理:在技术领域,没有什么是永恒的。每一种框架、语言和程序库最终都会寿终正寝。问题不在于"是否",而在于 "何时"。

聪明的组织通过以下方式做好准备

  • 定期审核开放源码软件依赖关系
  • 确定迁移时间表的优先次序
  • 与 HeroDevs 等供应商合作,在无法立即迁移时提供永无止境的支持

最终收获

EOL 不仅仅是旧软件的问题。它关系到变革的准备程度。

如果你在生产中运行不支持的开放源码软件,你不仅会落后,还会面临风险。但是,通过正确的规划、风险管理和支持组合,您可以在保证系统安全同时,按计划向前推进。

下一个系列?F 代表叉子(不,不是吃饭用的那种)。

在此之前,请保持代码整洁,打好依赖补丁,并制定切实可行的迁移计划。

用人工智能进行总结
主持人
泰勒-科贝特
很多公司都在运行 ELL 软件,因为迁移既昂贵又复杂。但运行 EOL 软件,那就是在玩火。