在我们的组织中,我们的 IT 部门定期将操作系统补丁推送到我们的项目生产服务器(Ubuntu-18.04 LTS 和 Ubuntu-20.04 LTS),因此我们的应用程序(Docker、Kubernetes、MYSQL、系统内核等)会自动升级到最新版本和少数应用程序显示与服务相关的错误。这会导致运行应用程序出现很多问题,并影响我们的生产。我们需要花费大量时间来解决由于自动修补而出现的问题。
与我们IT部门多次讨论停止打补丁,但他们说不能停止自动更新,会导致安全漏洞问题。
生产环境推荐我们的IT自动打补丁方式吗?请让我知道其他公司是如何处理的?
关于此事的一些想法/建议将会有所帮助。
提前致谢。
答案1
将更新/修补的包(实际上是自定义应用程序代码的依赖项)推送到生产环境而不首先在非生产环境中进行测试是很糟糕的。这与将您自己的自定义应用程序代码(或依赖项,如库/类/模块)中的更改推送到生产环境而不首先在非生产环境中进行测试一样糟糕。
安全补丁很重要,但正常运行时间和满足客户服务级别协议 (SLA) 的能力也很重要。您可以打补丁并且非常安全,但如果您因为补丁不断破坏您的服务而失去所有客户,那么每个人都会遭受损失。
您的组织需要制定一个折衷方案,使补丁级别在合理的时间内保持稳定(不变)(以便客户的 SLA 不受影响),然后将操作系统补丁放入正常的非生产测试环境中序列作为您的应用程序代码:开发、QA、集成、暂存等,并与经过测试可与操作系统补丁配合使用的应用程序代码一起应用于生产。