分类: BSD
2007-11-21 17:35:36
“稳定压倒一切”是技术人员对不懂技术的老板蒙混过关的主要借口之一。
这一点上,我认识的一家电信公司的老外就很老实,我问他们为什么用6.1而不是6.2,他们的答复是他们所作的改动在6.1上面进行过详细的测试,而测试一轮需要的周期是2个月,他们的新产品在1周之内就要上市,所以暂时不能升级到6.2。
有些人认为升级会带来问题。确实,从系统运营的角度,出现问题必然是从‘变化’而产生的,有句话叫做,把石头放在那里,没人动它,过几年石头还在那里,还是那个样子。
但是遗憾的是,一个系统并不是石头,周围的环境也不是静止的。一个对外提供服务的系统,你不能在任何时候指望没有人对它实施攻击;一台在线提供服务的设备,你不能在任何时候假定它的硬件不会在下一秒由于老化而出现故障;一个公司,更不能够在任何时候假定竞争对手会躺在那里,做龟兔赛跑中的那只躺在地上的兔子。
总有人愿意给别人灌输那样一种错觉:老系统总会比新系统稳定。大错特错!作为一个严肃的系统管理员,对新版本操作系统所应采取的态度应该是‘谨慎 ’而不是‘因循守旧’——新版本发布过程中和推出之后对其进行小范围测试、逐步上线,这是谨慎;而等到一个版本已经结束支持了才开始在线上系统上部署,这种行为与自己挖个陷阱然后跳进去没有什么本质区别——旧的版本无法提供新硬件的支持,可能有一些严重的可靠性问题,可能性能欠佳,更重要的是旧版本可能没有安全更新的支持。
常见的拒绝新版本的借口包括:
- 新版本的编译器上不能编译我们的软件了
事实:这是因为这个软件写的有问题。一个在几个月甚至几年前连编译警告都懒得修的人,怎么可能写出没有问题的软件?又如何能相信他们有能力维护这些代码?谁能保证在出现问题的时候他们能够迅速定位并修正它们?
- 这个厂商提供的二进制版本的软件没有提供对高版本操作系统的支持
事实:这个软件已经不再维护了——即使这个软件里面有漏洞,它的厂商也不会管。没有理由继续使用这样的软件。
- 旧版本没出问题,动了可能会导致问题
事实:当由于某些不可抗原因(如硬件损坏、安全漏洞等)导致必须升级时,这位仁兄会立即抓耳挠腮地四处找办法。抱怨为什么硬盘物理损坏时丢失了一些重要数据的人,我的第一句答复往往是:你的备份呢?同理,当出现必须升级而手头没有源代码/能够适应新版本的版本/遇到其他困难的人,我们也要问他,您早干嘛去了?
- 旧版本我们有很多经验,新版本可能不太稳定。
事实:这也许是一个正当的理由,但很多情况下这仍然是借口。如果开发一个版本需要用4个月的时间,有什么理由在2年之后仍然说这个版本我们还不知道它是否稳定呢?
- 新版本运行XXX应用慢。
事实:这类问题从来就不会是不可解决的。如果开发人员(OS或应用)拿到了相关的用例,找到并修正问题并不需要太多的时间。
这些观点可能有人同意,也有人不同意。但是总之,我认为大家要相信科学,因为奇迹并不总会在‘关键时刻’到来,千万不要把幸运当作必然的规律。
稳定压倒一切这句话,恰恰说的是应该及时了解最新技术、为升级做好各种准备,而不是一直使用旧版直到有一天突然发现只剩下自己一个人暗自叫苦。