托尼走进会议室悄悄坐下,看到人人一副大难临头的神情,乍着胆子小声引了一句罗斯福的名言:“最大的恐惧是恐惧本身(The greatest fear is fear itself)!”大家眨眨眼睛觉得托尼说得有理,没必要先自个儿把自个儿吓傻了,没准那报警的五个客户不过是老眼昏花,要么发财心切看走眼了呢!托尼接下去说:“这次问题出得蹊跷,如果五个客户不是在发昏胡说,那我觉得一定是和客户流量(load)有关,昨天下午反复测试都没有问题。而且不仅仅是流量,一定也和系统启用时间的长短有关系,比如今天早上高峰时期也没有问题,到下午两点的高峰因为系统运转时间长了,程序如果写得不好,资源回收不力,Java线层管理(thread management)出了问题,就可能造成在线用户资料窜层。”肖恩注意听着觉得有理,出的问题并不是那么深不可测,于是绝望的神情慢慢消褪下去,心思开始集中在如何力挽狂澜上。他说:“周末更新的软件一定有问题,要撤下来是肯定的,但是两点开始的高峰要在下午四点股市收盘后才回落,而且我们在晚上八点之前都无法名正言顺地停机撤软件。如何保证这段时间不再发生窜帐号事件??”
那天下午大家战战兢兢地等着明晃晃的达摩克利斯之剑(the sword of Damocles)“咔嚓”掉到脑袋上。过了下午四点,客户窜帐报告增加到九个,然后就没有再往上涨。好容易熬到晚上八点,肖恩组织人手立刻关闭客服网页,把周末施行的软件更新全部撤回,认真调试完毕以后再重新开张。格雷格也派出人手反复核对当天的每一笔金融交易,搜寻营私舞弊的迹象。晚上十点肖恩给麦克打了电话,汇报了公司客服网页回复正常。麦克电话中指出这个事件已经上报了总裁,明天就要开始调查,研究对策,决定公司是否需要自打耳光昭告天下,向二十万客户及其家属赔罪。肖恩疲惫地放下电话,极度沮丧之中肖恩又接通了格雷格的电话。格雷格同情地安慰了肖恩几句,末了反复叮嘱:“明天开始调查,千万记住,把所有的责任都推到那个印度女人身上!”
但是和IT服务台不一样,一个公司的软件编写如同高层建筑一样,有个基础积累的过程。初期埋伏下的问题往往一时半会儿看不出来。第一季度和第二季度的更新虽然表面上是暂时混过来了,但是每次更新时质量检查(Quality Assurance)部门只能测试界面进出(Input and Output)和客服新功能,而对于每一段程序内部的优化效率和运行时刻资源的分配,以及未来的程序可扩展性可堆积性,雇主可以说是一无所知。公司的安全检查官曾经多次提出软件外包存在巨大的安全隐患,万一程序里被埋进病毒木马定时炸弹,客户的私人信息和金融资产信息被偷窃,那么公司在形象和经济上的损失将是不可估量的。打个比方,外包软件就像在国外定制一辆车,外表金光闪闪,表面上能开能跑,音响空调都不缺,但是如果内部偷工减料、漏油漏电,甚至于车厢里装有窃听器偷窥镜头,这都不是短期内能够发觉的。
第二种方法是异地克隆法。依靠的是电脑硬件虚拟化(virtualization)技术和远程数据复制(WAN data storage and duplication)技术。表面上看起来有几百台电脑主机,其实这些中小型硬件都是虚拟的,背后真正只有一台大主机硬件。而远程数据复制只要把这一台大主机的记忆和库存实时克隆到异地一个同等型号和规模的大主机上即可。在灾难应变测试时只要让这头异地多丽羊(Dolly羊为人类成功克隆的第一头哺乳动物)睁眼下地能跑会跳就算大功告成了。