我最近开始pipe理一个小型创业公司。 就像大多数小型创业公司一样,我认为,当我们认为没有问题时,我们一直在做我们想做的事情。 人们非常小心,事情都很好。 我们也能很快的解决客户非常感谢的事情。
然而,昨天我们遇到了一个问题,一个pipe理员自己决定更改服务器名称并更新软件以使其更符合事实。 开发人员被通知,但名称的变化杀了我们的消息队列系统,反过来基本上closures了几个小时。 由此,出现了一系列级联故障,而托pipe消息队列的虚拟机实际上必须被杀死,并创build了一个新的虚拟机。 没有人高兴。
这应该先在非生产环境中进行validation。
我想知道在业务关键时期生产中允许进行哪些维护? 有些我会想象多less?
只要不影响业务系统,维护可以随时完成。
对于导致严重失败的问题,问题不在于无法完成,要么是您没有通知变更stream程,要么pipe理员没有遵循。 名称改变的事实没有传达给负责服务正常运行时间的人员。 如果pipe理员是服务所有者(并且很可能在一个小企业中),那么他的angular色的适合性需要进行检查,因为这是他的工作,以确定任何影响他的服务的变化的影响。
testing环境是好的,但除非严格维护,否则不会certificate每个问题。 虽然testingtesting中的变化是最好的做法,但它不能替代退出计划(也应该testing)。
最后要学的另一个教训是,开发者不是pipe理员。 我怀疑,正如你所说“开发者被通知”。 我敢打赌,他们没有被问及“如果机器名称改变会发生什么?”。 我至less会从开发者那里得到一封电子邮件,说明改变机器名称对应用程序没有任何影响。
您从错误中学习,并采取步骤分析环境变化的影响,然后再做出决定。
文档在这里有很长的路要走,但也要试着评估为什么这种改变会产生如此广泛的影响。 有没有在应用程序中硬编码的东西? 系统的function还有待改进吗?
一个主机名的变化不是一件小事,但不是一件应该完全打破你的东西。