【转载】2000多个Bug!这个系统让银行瘫痪、13亿人账户出错、最终损失超过28亿

2000多个bug,这样一个千疮百孔的系统,被用在了一家有13亿用户的银行里。

这是去年TSB银行系统迁移大事故的报告结果,出自Slaughter and May律所。

Bug连篇、测试没做好、IT服务商无能,这一切的一切,导致了灾难级后果。

当系统启用的时候,用户们纷纷发现自己的钱不见了、花一两块扣掉几千、账户被别人登录……

银行为了启用这个系统,投入了2500人年的成本;而事后为了补锅,也花费了高达28亿的资金。

系统迁移捅了13亿用户的娄子

故事,是从一桩“离婚再嫁”的案子开始的。

离婚再嫁的主角,是英国银行TSB。

2015年,TSB银行结束了与劳埃德银行(Lloyds Bank)长达20年的“婚姻”,从他们合并的集团中拆分出来,并卖身给了新欢、西班牙公司萨瓦德尔(Sabadell)集团,收购价17亿英镑,按当时的汇率大概是158亿人民币。

然而,过去的20年,世界变了太多,银行业也进步了太多。20年的“婚姻”留给TSB银行的,还有和“前夫”剪不断理还乱的IT系统。

TSB银行540万客户的数十亿记录,都还留在“前夫”劳埃德银行的系统里,而且因为缘分已断,不能白嫖人家的系统,每年还要给前夫交1亿英镑(大约9.3亿人民币)的费用。

这就好像肉身虽然已经和“新欢”在一起,但支付宝和微信账号还是跟“前夫”共用一套,而且还要给“前夫”付账号租金,自然令人不爽。

于是,在筹备了许久之后,2018年,他们终于要行动了:把“前夫”IT系统里的客户信息记录,迁移到“新欢”专门为TSB银行准备的新系统里。

他们把迁移的日子,定在了4月22日星期日的晚上,先把银行的IT系统离线,迁移完之后再上线,恢复客户访问自己银行账户的权限。

为了这场迁移,他们已经投入了超过2500人年的人力成本,西班牙“新欢”集团的CEO在前一年的圣诞节就大声放话:这是全欧洲史无前例的大项目,我们投入了1000多名专业人才,将极大地促进我们在英国的增长。

不过,虽然大佬们在台上豪言壮语,实际上负责迁移的员工们心里却慌得一逼。这个迁移项目本来要筹备18个月,结果时间超了,预算也超了,事情难办的很。

Flag果然不能立太早,打脸的结果很快就来了。

迁移结束,客户的访问权限,他们以为万无一失,但就在20分钟后,收到了问题报告:

有的客户发现自己的钱不见了;

有的客户花了一点小钱,账户里却记录成了花费数千美元;

有的客户登录上去之后,发现不是自己的账户,而是看到了别人的银行账户。

13亿客户的账户记录都出了问题,于是,他们把TSB银行骂成狗,金融监管机构们则连夜找银行喝茶。

而此后的几个星期,银行都在拼命的恢复系统,但数以百万计的客户们已经人心惶惶,拼命的把自己存在TSB银行的钱取出来。

TSB银行,被自己捅的篓子扔进了地狱模式。

而问题的根源,在于测试。

英国金融监管机构金融行为监管局(FCA)首席执行官Andrew Bailey在事故几周后对外公开表示,造成系统混乱的很大原因在于缺少测试,而TSB银行请来救急的IBM专家也发现,TSB银行没有采用严格的上线标准。

而且由于地球上的金融体系都是相连的,事故所造成的错误被永久的保留在了金融体系里,不可逆转。

这起弥天大祸,也让TSB银行赔了很多钱。为了赔偿客户、解决系统出问题后浑水摸鱼的交易、找第三方帮忙总共花了3.302亿英镑,按当时汇率算大约28.4亿人民币。

而TSB的乙方、IT提供商Sabis也因为这起事故收到了1.53亿英镑(超过13亿人民币)的赔偿账单。

而受此影响,TSB银行当年亏损了1.054亿英镑(9.2亿人民币),CEO Paul Pester引咎辞职。

业绩这么差,银行的经营也难以为继,今年11月底TSB关闭了英国86个分行,至少400个工作岗位也因此消失。

银行系统很复杂

信息化时代,银行的IT系统也变得越来越复杂。

六十年前,人们只能选择在柜台存取现金,普通客户并没有机会直接接触计算机系统。当时,银行虽然也启用了巨型计算机,但它们只会在一天或一周交易结束的时候对纸质数据进行汇总。

也就是说,银行的IT系统仅由银行员工使用,银行与客户在柜台上的交互用的还是纸质工具。

这种情况在1967年发生了改变。

这一年,世界上第一台自动柜员机(ATM)在英国诞生,并被安装到伦敦北部的巴克莱银行Enfield分行。从此,银行和客户交互的方式发生重大变革。

ITRS Group首席执行官盖伊·沃伦(Guy Warren)解释说:

直到真正的ATM和在线银行业务出现,公众才可以直接访问银行的IT系统。

这还仅仅是个开始。

全球互联的时代,互联网和移动银行的发展进一步拉近了客户和银行IT系统之间的距离,而这样的系统,也越来越成为银行赖以运营的关键所在。

或许你会觉得,登个支付宝/微信,亮出付款码,让小钱钱在银行跟银行之间发生小小的流动,并没有什么难度。但事实上,每一次信息的加载和刷新背后,都发生了复杂的数据移动——

每一次动作可能关联到许多个单独的系统,所有这些系统都必须彼此交互,并与核心大型计算机连通。系统要现在后端复制数据,将现金从一个账户转移到另一个账户,保持同步更新。

而这样的运算量,还要乘以数十亿倍。

根据世界银行的数据,现在,全球至少有69%的成年人都拥有银行账户。人们每一天都在通过银行账户支付账单、贷款还款、订阅各种服务……并且,这些活动常常是跨行,甚至跨国进行的。

一家银行内部的多个IT系统(移动银行、ATM等),不仅需要彼此交互,甚至还必须跟其他国家的银行建立联系。比如我在国内办了一张visa信用卡,在美国也要能消费才行。

迁移问题很麻烦

TSB正是栽在了这样的高度复杂性上。

IBM在为TSB编写的报告中指出:新应用程序的组合,对先进微服务的应用和双活数据中心的使用,导致了TSB生产中的复合风险。

如何正确地处理银行IT系统迁移中出现的问题,对于任何一个银行来说,都是不小的挑战。

其中,大量的事前规划和测试工作是不可避免的。

像汇丰银行这样的跨国银行,具有高度复杂、相互关联的系统,这些系统会定期进行测试、迁移和更新。

即使在这方面如此经验丰富,汇丰银行的前IT主管兰开斯特仍坦承:诀窍就是让员工在这件事上付出更多的时间。

他还指出,TSB的IT系统迁移是一件很复杂的事:

我不确定他们是不是真的意识到了这件事的复杂程度。他们甚至没有完全想好要怎么去测试系统。

FCA首席执行官Andrew Bailey则表示:

TSB的这一事故反映出他们缺少强大的回归测试。

注:回归测试是软件测试的一种,旨在检验软件原有功能在修改后是否保持完整

而最新的事故报告也引起了hacker news上网友们的热烈讨论。

有网友表示,如果TSB能选择小规模多次迁移,而不是在某一天进行大爆炸式迁移,那这种严重的事故可能就不会发生。

花几周/几个月的时间在生产过程中进行检查,以确保旧数据库和新数据库返回的结构相同。最终,将数据都转移到新数据库中,并在一段时间之后再关闭旧的数据库。这样做效果是比较好的。

而对测试不足导致了银行系统瘫痪的这一调查结论,有人吐槽说:

作为测试工程师,我一点也不意外。花费更多的时间、投入更多的人员来打造更好的测试架构,对于很多公司来说都是“可以节省的成本”。

经理们总是在设定的上线日期前问:“测试咋能花那么多时间?!”真要出事了他们又开始甩锅了。

也有网友严厉批评道:TSB的问题不应该说是测试不足,而是在多个层面上都测试不足,并且缺少可恢复的备份。

也有人指出,避免出错最简单的办法就是减少变化。

问题在于,无论是银行还是其他领域的公司,业务都是在不断进化的。

根据FCA发布的数据,从2017年到2018年,英国金融服务部门报告的技术中断增加了187%。

盖伊·沃伦就认为:系统停机不会消失。问题在于,可接受的度在哪里?

你怎么看呢?

参考链接:

https://news.ycombinator.com/item?id=21870089
https://www.tsb.co.uk/news-releases/slaughter-and-may/
https://www.tsb.co.uk/news-releases/slaughter-and-may/slaughter-and-may-report.pdf
https://increment.com/testing/what-broke-the-bank/
https://www.ft.com/content/d1f37ab2-0eb8-11ea-a225-db2f231cfeae

【转载】Linux操作系统简单说

说到操作系统,就不得不提起Linux,它自90年代中期以来就一直盛行,并且已经拥有非常多的铁杆粉丝。对于了解它的人,都知道Linux对我们是至关重要的,它涵盖了我们生活的方方面面,我们的手机,汽车,冰箱都依赖于它,可以不夸张地说如果没有Linux我们许多人的生活都难以继续。

我刚开始学习linux操作系统的时候内心真的很激动,毕竟感觉自己只要学会了就会获得各种技能一样了。当然,对于还不是那么了解的人,也请不要担心,希望下面我的话能让你更深的了解Linux系统。

11.png

Linux是什么?

Linux是最受欢迎和最常用也是最安全的开源操作系统。作为操作系统,Linux相当于是计算机上所有其他软件下面的一个软件,负责接收来自这些程序的请求并将这些请求传输到计算机的硬件。简单点说操作系统就是连接计算机软件和硬件的桥梁,如果没有操作系统,我们就没法使用软件了。不管你是不是知道,你都可能已经在用Linux了。据调查,网上有近一半的网页都是由运行Linux命令的服务器生成的。无论是对于公司还是个人,用Linux作为服务器都是安全的,除了有提供商业支持的Canonical,SUSE和Red Hat等公司之外,还有大量用户的支持。

在很多方面,Linux与我们之前使用过的其他操作系统都很类似,比如Windows,OS X或iOS。跟其他操作系统一样,Linux也具有图形界面,我们习惯在其他操作系统上使用的软件在Linux也能找到相同功能的。在很多情况下,开发这些软件的人可能已经开发了我们在其他系统上使用的相同软件的Linux版本。如果您可以使用计算机或其他电子设备,则可以使用Linux。

Linux内核是目前在企业服务器领域使用最流行的操作系统,应用比较广泛,目前智能化设备都是采取Linux内核做低端应用程序,通过一些开源的框架应用结合在一起开发并部署应用程序,、自动化运维系统等都是跑在Linux服务器上面,Windows操作系统也有,但是非常少,功能非常少,出故障率比较高,并且Windows操作系统对硬件要求比较高,而Linux对硬件要求比较低,这些都能体现Linux的优势。 Linux命令大全:https://www.linuxcool.com/

Linux的优势是什么?

目前Linux系统越来越受到公司企业和个人用户的喜欢,之后就出现大批的学习爱好者或是企业批量培训开始学习Linux系统或者是参加一些Linux系统培训学校。Linux系统为什么能够发展为目前为之最受大众喜爱并广受关注的系统之一呢?究其原因主要还是它的免费,最重要的是系统的开源性,随时随地即可获取程序的原代码,这一点的重要性对于程序开发人员来说可想而知。

如果你有上面任何一个问题,并希望摆脱数据丢失的可能性,Linux可能就是你理想的操作系统了。Linux现如今可谓是世界最可靠最安全的计算机系统之一,将可靠性与零成本相结合,你就拥有了桌面平台的完美解决方案。没错,就是零成本,你可以将Linux系统安装在任意数量的计算机上,并且无须为此支付一分钱用于软件或者是服务器许可(包括众所周知的昂贵的Microsoft客户端访问许可证 – CAL)。

下面来了解一下Linux服务器的成本,与Windows Server 2012相比。仅Windows Server 2012软件是已经高达1200美元的价格,然而这并不包括CAL,和你有可能需要运行的其他软件的许可证(例如邮件服务器,Web服务器,数据库等)。与之不同的是如果你使用Linux服务器,它都是免费且易于安装的。,安装一个完整的Web服务器(包括数据库服务器),只需点击几下或输入几个命令即可,非常便捷。

无论是桌面还是服务器,如果零成本不足以让你心动,那么只要你使用它就可以使操作系统正常工作无故障肯定获取你的芳心。我个人使用Linux近十年,从未出现过恶意的软件,恶意的病毒或随机计算机减速的问题,你能感受到的就是Linux的稳定性。仅在内核更新时会重启服务器,Linux服务器在没有重新启动的情况下使用数年都是很常见的。这就是它的稳定性和可靠性。

如果你正在寻找最可靠,最安全的桌面和服务器系统,那么你可以选择一个Linux发行版。使用Linux,可以确保你的系统安全稳定,并且减少服务器的故障。

感谢腾讯,在linux上也可以有在线视频软件了!

腾讯在10月份推出了QQ for linux的新版本,要知道自上一个版本发布已经好几年了,这次重新推出这个新的linux版本,也被大家解读为腾讯支持国产系统了。

而在近日,腾讯又有了新动作了,又推出了一个linux版本的软件,那就是腾讯视频,目前提供deb和rpm包下载,版本为1.0.10。

对于腾讯的这一举动,不知道大家是怎么理解的,我认为一是说明目前国产系统得到了一些厂商的重视了,毕竟目前的国产系统基本上都是基于linux修改而来的,linux版是可以在国产系统中使用的。

二是说明国产系统目前的用户数应该是多了起来,吸引到了这些应用厂商的关注,所以才推出应用软件来,你觉得呢?

另外我相信只要腾讯这些大企业,多推出一些linux版的软件,支持国产系统,相信国产系统的生态完善起来就快多了。