我最近开始管理一家小型初创公司。我想,和大多数小型初创公司一样,我们在生产过程中一直在做我们想做的事情,只要我们认为没问题。人们都很小心,事情进展得很顺利。我们也能够很快解决问题,客户对此非常感激。
然而昨天我们遇到了一个问题,一位管理员自行决定更改服务器名称并更新软件,以使其更符合实际情况。开发人员收到了通知,但名称更改导致我们的消息队列系统停止运行,从而导致我们停工数小时。由此引发了一系列连锁故障,托管消息队列的虚拟机实际上必须被关闭并创建新的虚拟机。没有人感到高兴。
这应该首先在非生产环境中进行验证。
我想知道在业务关键时期允许在生产中进行哪些维护?我猜是一些,但具体要多少?
答案1
只要不影响业务系统,维护可以随时进行。
就您提到的导致严重故障的问题而言,问题不在于无法完成,而在于您没有收到变更流程的通知,或者管理员没有遵循流程。名称变更的事实并未传达给负责服务正常运行的人员。如果管理员是服务所有者(在小型企业中,这种情况非常可能),那么需要检查他是否适合担任该角色,因为他的工作是确定任何影响其服务的变更的影响。
测试环境很好,但除非严格维护,否则无法证明所有问题。虽然测试更改无疑是最佳实践,但它不能替代后备计划(也应进行测试)。
最后,这里要吸取的另一个教训是开发人员不是管理员。我怀疑正如你所说“开发人员已收到通知”。我敢打赌他们没有被问到“如果机器名称更改会发生什么?”。我至少会收到一封来自开发人员的电子邮件,说明更改机器名称不会对应用程序产生影响。
答案2
您从错误中吸取教训,并在进行环境变化之前采取措施分析其影响。
文档记录在这里起到了很大的作用,但也要尝试评估为什么这种类型的更改会产生如此广泛的影响。应用程序中是否有硬编码的内容?系统功能是否还有改进的空间?
更改主机名不是一件小事,但也不会让您陷入彻底的崩溃。