为节省8亿做系统迁移,13亿记录出错,最终赔了29亿

早前,英国TSB银行筹划了良久的迁移方案失败,13亿客户记录出错,事后各类赔偿总计花费约29亿元人民币。时隔一年,这家银行终于想明白原因是缺乏严格的测试。

每年8亿元多高额“赡养费”

2018年,英国TSB银行陷入了一场“离婚丑闻”风波。尽管这家银行2015年就与劳埃德银行集团(Lloyds Banking Group)分道扬镳了(两家银行最初于1995年合并),但TSB银行还一直沿用着从劳埃德银行集团匆忙复刻过来的IT系统,并以这种方式和“前任”之间保持着剪不断,理还乱的关系。更悲剧的是,TSB每年还要向劳埃德银行支付1亿英镑的“赡养费”(在撰写本文时相当于1.27亿美元,约8.9亿人民币)。

没人愿意离了婚还要再给前任“赡养费”。为此,2018年4月22日下午6点,心有不甘的TSB制定了一项筹划了数月的方案:**将540万客户的数十亿客户记录迁移到西班牙萨巴德尔银行(Banco Sabadell)的IT系统上。**萨巴德尔银行于2015年3月斥资17亿欧元(合22亿美元,154亿人民币)收购了TSB银行。

西班牙萨巴德尔银行董事长Josep Oliu在2017年圣诞节前两周,在巴塞罗那金融区卡塔隆尼亚宫(Palau de Congressos de Catalunya)举行的1800人公司会议上宣布了这一迁移计划。2000年,萨德瓦尔银行开发了一个新版本的Proteo系统,该系统被重新命名为Proteo4UK,专门用于TSB项目的迁移。

萨德瓦尔银行CEO Jaime Guardiola Romojaro向巴塞罗那人吹嘘说,“公司对这个项目投入大量人力,Proteo4UK的一体化整合是欧洲前所未有的大项目,1000多名专业人员参与其中,”他继续说。“这将极大地促进我们在英国的发展。”

心有不甘决定迁移

TSB最终将迁移日期定在了4月22日(周日晚上),正值仲春时分,万物欣欣向荣。由于Proteo4UK项目的实施,以及要将客户记录从一个系统转移到另一个系统,所以银行先是让正在使用中的IT系统在周末的大部分时间处于离线状态。想在周日晚上“神不知鬼不觉”地完成迁移后再上线,恢复客户访问自己银行账户的权限。

然而,尽管Oliu和Guardiola Romojaro已经在圣诞节前的公司大会上摆出了胸有成竹的姿态,但那些奋斗在TSB迁移工作前线的员工们仍然惴惴不安。这个项目原计需要耗时18个月完成,但由于超出预算而一拖再拖。毕竟,将整个公司的记录从一个系统转移到另一个系统绝非一件容易事。

一时间,草木皆兵。

忙中出错“捅了大娄子”

20分钟后,TSB重新开放账户访问权限,就在他们以为迁移已经顺利完成时,随后就收到了第一批问题报告。

有人攒了一辈子的钱凭空消失了
有人花了点小钱账户里却少了数千元
还有些人登陆账户一看发现并不是自己的账户,而是别人的账户

当晚9点,TSB官员们告知英国金融监管机构——金融市场监管局(FCA),出大事了!但FCA早就意识到:TSB已经捅了大篓子,消费者们都愤恨不已。当晚11点30分左右,FCA和另一家英国金融监管机构审慎监管局(PRA)也打来电话。当他们深夜与TSB官员们召开电话会议时——实际上已经是4月23日凌晨了,他们还是没弄清楚到底发生了什么?

虽然当时他们并不清楚到底发生了什么,但是还是进行了系统修复。此后,银行花了数周来修复IT系统,在此期间数百万人无法取款。虽然这件事还需要一些时间来消化,但是我们现在知道13亿个客户记录在迁移过程中出错了。距离TSB经历的“黑色周末”已经过去一年多的时间,专家们认为他们找到了数据出错的根本原因:缺乏严格的测试

银行系统很复杂

很少客户能了解到,当他们登陆网上银行账户仅为了下载和刷新信息时产生的数据变动到底有多复杂。登陆时将通过一组服务器数据传输;当发生交易时,系统在后台端基础设施上覆制这些数据,随后会进行复杂的操作——将现金从一个账户转移到另一个账户,以支付账单、还款和订阅各种服务。

如今,这个复杂的过程还要乘以几十亿倍。在Bill & Melinda Gates基金会的协助下,世界银行汇编出了一组数据:目前全世界69%的成年人拥有银行账户。每个账户都要支付账单;有些人在偿还贷款;更多人订阅Netflix或Youkou Toudou。更重要的是,他们的账户是跨行甚至跨国的。

一家银行的多个内部IT系统——手机银行、自动取款机等需要的不仅仅是交互。也需要与玻利维亚、危地马拉或巴西的银行相互合作。在中国的取款机中要能取出美国签发的信用卡中的现金。毕竟金钱无国界,但是这个过程所要求的计算是极为复杂的。

“接触银行IT系统的方式越来越多,”ITRS集团高管Warren表示。这些系统一般不会过时,但新病毒却层出不穷。

事实上,TSB的系统并不擅长自我修复。银行团队在面对重大宕机时也很难应对。而真正“击溃”TSB IT系统的也正是系统的复杂性。据IBM在危机早期为TSB编写的一份报告称,“新应用程序的组合、应用先进的微服务以及使用active-active数据中心导致了生产中的复合风险。“

像汇丰银行等一些全球性银行的系统都是高复杂、互联的,因此都会进行定期检测、迁移和更新。“汇丰银行一直在定期检测和更新系统,”汇丰前IT主管Lancaster表示。他认为汇丰银行在运营IT系统方面堪称行业典范:敬业奉献、细致耐心,值得其他银行学习。Lancaster称,“在迁移前,谋定而后动,充足的准备和大量的测试必不可少的。”

迁移之路困难重重

这么复杂的银行系统,之于小银行,尤其是没有迁移经验的银行来说,做好迁移并不容易。

“TSB的迁移非常复杂,”Lancaster说道。“我不确定他们是否认识到了迁移的复杂程度。我有种强烈的感觉,他们其实并不知道如何进行测试。”

FCA CEO Andrew Bailey称,网络中断数周后,英国议会咨询委员会就这一问题展开了调查,证实了他的猜测。或许是糟糕的代码导致了TSB最初的问题,但由于全球金融网络是相互连通的,因此这种错误将是永久性的、不可逆转的。银行IT架构其他地方也不断出现各种意想不到的bug。客户收到的信息要么驴唇不对马嘴,要么所问非所答。

“在我看来,这意味着缺乏稳健的回归测试,因为这些银行系统与很多外部系统相连,比如支付系统和信息系统,”Bailey对国会议员说道。

TSB一时陷入了困局,手足无措。

“我们采用的技术背后的复杂程度难以想象,这种复杂性以多种方呈现出来,”IT专家Ryan Rubin(曾在EY工作过,现任Cyberian Defence总经理)说道。“正如我们所见,这种复杂性会导致宕机或产生更严重的问题。”

Warren解释说,英国的银行通常会制定“四个9”可用性目标,这意味着他们的服务在99.99%的时间里对公众开放。在实际中,这意味着IT系统一天中的所有时段都可用,就像网上银行一样,每年仅可以离线52分钟。“三个9”——99.9%可用性——听起来并没有什么不同,但细算起来相当于一年宕机时间会超过8小时。“对于一家(英国)银行来说,要做到‘四个9’才行,‘三个9’可不够,”Warren说道。

是否真的多做多错?

每当公司对其IT基础设施进行更改时,都有出错的风险。减少不必要的变更能避免很多问题,如果一定要进行变更,那么则要进行严格的测试。然而,IBM在处理TSB宕机中并没有突出强调这一要点。

肯特大学网络安全授课教授&银行和保险公司顾问Shujun Li称,每个升级和补丁实际上都是风险管理,尤其在处理数亿美金‘客户价值’资金时更是如此。“你需要制定一个能很好控制风险的程序,”他说道。“你也要知道一旦出了问题,金钱和声望上将付出怎样的代价。”

周密的计划能够降低宕机的风险,这一点显然TSB没有考虑到。“故障仍在持续,但是用于解决这些问题剩余的成本逐渐减少,”Rubin说道。随着网络供应商和云解决方案的崛起,存储备份成本越来越低。“这些拱手奉上的便利可以帮助银行在面对危局时更好地管控风险且‘死’得不那么难看。”

不过,对一些机构来说,灾难发时备份的成本还是过高。Warren认为一些银行在处理IT弹性问题上过于谨慎。“你不能想着把这种突发状况做进预算里,”他解释说,“这就像一种金融投资:要么收益,要么投资打水漂。他们应该在这上面多一些投入。”

吝啬对IT系统的支出最终会带来更严重的损失。TSB公布2018年亏损1.054亿英镑(合1.34亿美元),而2017年盈利1.627亿英镑(合2.06亿美元)。迁移后留下的“祸根”,包括补偿客户支出、纠正欺诈性交易(宕机过程中的一团乱麻)以及聘请外部团队帮助解决问题的支出,总计3.302亿英镑(4.19亿美元)。对于造成的严重后果,银行IT供应商Sabis需要赔付1.53亿英镑(1.94亿美元)。

也许避免宕机最简单的方法就是尽量不对系统做任何更改。然而,正如Lancaster所说,“每家银行、每个建房互助协会、每家公司都希望通过自身改变来为客户和企业打造更优质的产品和服务。”他说:“新系统和新功能总是令人神往,因为只有不断更新才能让产品和服务更具竞争力。”Lancaster表示:“两难的是,当处于推出新产品的巨大压力下时,还有多少精力来维持公司运转。”

据FCA公布的数据显示,从2017年到2018年,英国金融服务行业报出的技术故障增长了187%。毫无疑问,变更管理失误是造成宕机的最根本原因。银行尤其需要一刻不停歇地运行,并几乎随时都需要交出即时交易报告。如果客户的钱处于“游走”状态,他们就会焦虑,如果把让他们的钱与他们“天人永隔”,那就会把他们逼疯。

事后思考——权责明确

在TSB发生宕机几个月后,英国金融监管机构和英国央行发布了一份关于运营弹性的论文。“文中试图告诫金融机构:目前已经造成了如此严重的后果,如果还不反思好好管理自己的系统,这是不是太不应该了?”Lancaster解释说。

这篇论文还提出了一个未来可能会实施的策略——让个人对公司IT系统出现的问题负责。Warren说:“当个人承担责任时,一旦出现问题,那个人就可能会面临破产或被送进监狱,这就会使问题发生根本性变化,人们对它的关注程度也大不一样。”“你需要非常认真地对待它,因为这关系到你的个人财富和人身自由。”

自TSB事件后,Rubin 说,“整个事件已经告一段落,但针对这个事件的反思还应继续。高管们不能继续忽视或吝啬对技术的投资了。”

“我认为系统宕机不会就此终止,”Warren说道。相反,人们需要思考的是:“对于宕机的接受程度是多少?”

作者简介:
Chris Stokel-Walker,英国BBC、《Wired UK》、Bloomberg和《The Economist》特约记者。他于2019年出版了《YouTubers》一书。

原文链接:
https://increment.com/testing/what-broke-the-bank/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章