公司如何管理工具、框架等的软件版本?

公司如何管理工具、框架等的软件版本?

如果一家公司使用许多不同的软件,是否有办法自动化版本跟踪 - 比较公司正在使用的当前版本和最新发布的版本,并可能根据特定版本的生命周期/支持的结束采取行动?

当我说软件时,这可能包括诸如 Python 解释器、Kubernetes 版本(AKS)、Redis 缓存、关系数据库(Postgres 版本)之类的东西。

理想情况下,我不必手动跟踪所有这些的版本,至少可以比较我正在使用的内容与可用的内容。之后,我可以根据升级的准备时间自动生成工单。

公司如何管理这一点?任何指导都值得赞赏。

答案1

您可能需要缩小您的标准。以 Python 为例,使用 REL 8 作为操作系统,则发行版中包含版本 3.6、3.8 和 3.11。但是,许多额外的模块仅包含在 3.6 中,您必须运行才能在pip3 install其他版本下使用它们。而且,考虑到您可能在任何给定服务器上安装了多个版本的 Python,您将如何跟踪哪个应用程序使用了哪个版本?

然后,您就会问自己是否要下载并编译 3.12 版,然后手动在每台服务器上安装所有必要的模块。如果是这样,那么当 3.13 版发布时,您是否愿意做同样的事情?

如果您坚持使用最新和最好的版本,那么您修改代码以应对弃用或删除的功能的时间表是什么?公司是否有预算资金在今年重新开发该应用程序,并且知道当前版本在未来四年内仍受支持?

答案2

有几种第三方安全审计工具可以检查你部署的软件是否使用安全版本 - 然而

  1. 在使用来自修复被反向移植的仓库的软件包时,它们经常会报告误报(例如 RHEL 和 Debian 模型)

  2. 他们可能无法跟踪使用默认包机制之外部署的软件

您的操作系统使用的打包系统是您的起点。确保它已配置为自动报告或应用更新,并坚持使用打包软件,除非您真的、真的需要从其他地方获取软件(如果是这种情况,请考虑添加您自己的打包和存储库作为分发机制)。

相关内容