知道分子的这个事例事实也经常遇到过。只是谁都没有提出来当成一回事
在自己的机器上,各种不同版本的PHP一直存在着,或许,相对稳定的也就apache和mysql吧?每次要升级前都看着changelog,但即使这样,也会有或多或少的问题发生,然而,在公司的版本库里,测试机里等等中早就存在着不同版本的PHP,只是可能从来就没有注意过罢了。
升还是不升这是个问题,但如果真的版本不对了,出现的问题也就稀奇古怪了,所以,保证版本号一致还是有着非常重要的作用(如果为了新特性需要升级,那就通知所有的人一起升,最终仅保留一台两台有明显记号的,旧版本的服务器专门用来调试,开发人员有虚拟机的也通通升级到统一的版本号里,一切为了稳定 )
下面是知识分子的内容:这个版本太新了
以前偶尔听到同事 A 问同事 B,某软件出新版本了,我们要不要升级?同事 B 果断地回答,这个版本太新了,我们还是别急着升级吧。同事 A 深以为然,刚出来的版本就升级,万一出个故障谁负责?何况现在这个软件跑得好好的,没事最好别折腾。后来 A、B 两人都忘了这件事,也就没有了下文。
再后来,同事 C 在另一处需要用到该软件,去官方网站上下载了“最新稳定版”(也就是前面那个“太新了”的版本),用着没问题。又过了一段时间,这个软件又出新版本,同事 D 问同事 E,我们要不要升级?同事 E 说,这个版本太新了,你懂的。于是同事 D 拈花微笑,信受奉行。
如此循环往复,同样一个软件,在开发/测试/生产环境里运行着无数个“太新了”的不同版本。
先不谈管理成本,“这个版本太新了”是否构成不升级的理由,颇值得解析一番。为什么要出新版本?不外乎安全漏洞 修补、bug 修正、新功能三者(或混合)。安全漏洞显然是要尽早尽快修补的,明知有安全漏洞而不及时修补,无异于后门洞开等待爆菊,有受虐倾向。整体或所调用部分相关 的 bug 也是要修补的,紧急程度视 bug 可能造成的损失大小而定。新功能则要看未来是否会用到,才决定要不要升级。
“这个版本太新了”之所以被接受,其中也有一定的合理成分。“太新了”指的是新版本没有经过完整的兼容性、稳定性和性能测试,也许会对现有应用造成影响。这个意思永远是对的,或者不客气地说,就是一句废话。任何一个新版本软件都一样,不去做测试你怎么知道有没有影响?
同一个软件,不同的版本,随意分布在多个环境中,这无疑增加了管理的复杂度,当然也有人认为,这体现了“个性 化”。复杂度也好,“个性化”也罢,都是效率的大敌。标准化的高效运维,应该是同一个软件、同一个版本,并且有统一机制进行追踪、测试、升级,保证安全漏 洞、bug 得到及时修补,新功能尽在掌握。