全国航班停飞!让老牌航空公司损失50亿的,是一座堆积30年的“屎山”

据央视新闻客户端,当地时间 1 月 11 日 8 时 50 分,美国联邦航空管理局称,要求所有航空公司暂停执飞美国国内出发航班的命令已经取消。

本文为扩展迷原创文章,作者“牛大叔”,未经授权请勿转载。


据新华社报道,美国联邦航空局 11 日声称,由于空中任务通知系统出现故障,暂停所有国内航班起飞。


1

据央视新闻客户端,当地时间 1 月 11 日 8 时 50 分,美国联邦航空管理局称,要求所有航空公司暂停执飞美国国内出发航班的命令已经取消。


截止目前,造成航空系统故障的原因仍在进一步调查中。


2

停飞、延误、巨量旅客滞留……最近一段时间以来,美国的航空系统一直都没有消停过。


而身处动荡中的美国航空业,美国西南航空则是最近“受伤”最严重的一家航空公司。


3

1 月 7 日,美国西南航空发布了一份报告,报告内容显示,预计去年 4 季度总亏损接近 10 亿美元。


之所以西南航空在一个季度出现了如此巨额亏损,在于西南航空老旧过时的机组排班平台的 IT 故障,让西南航空陷入到了史上罕有的大瘫痪之中。


光在整个圣诞节期间,西南航空处于持续崩溃状态,每天近 80%的航班取消,就这还不包括晚点。


4

美国各地机场成堆的行李堆积如山,乘客排队长度极为夸张,在天寒地冻的航站楼外,人们一等就是大半天。一眼望去,全是准备乘坐西南航空航班的乘客们。


因为糟糕的调度能力,美国西南航空最近遭到了全美的口诛笔伐,美国交通部已经介入,而焦头烂额的西南航空则只好承诺赔偿“合理”费用。


在最近西南航空发布的报告中,西南航空也承认“西南航空调度失误,导致公司取消了连续十日上万个航班。由于航班被取消,且没有其他预定选择,成千上万的乘客和机组人员被困在美国各地的机场”。


                                                                   5

有西南航空的工作人员在网上透露,西南航空一直使用一套极端古老的后台系统,而这套老古董,必须得为此次航空大崩溃负全部的责任。


那这套“老古董”有多古老呢?据工作人员透露,西南航空的后台系统,从上世纪 90 年代就基本没有变过,现在服务器里跑的还有很多 30 年前的那些代码。


这些已过“而立之年”的程序代码,三十年来一直兢兢业业的跑在西南航空的后台。西南航空一直坚守的“预排期 + 手动记账”系统,在这次大崩溃中彻底陷入了停摆。


6

不是这些代码足够可靠,才让这个后台系统存在了 30 年,而是 30 年的的祖传代码像山一样压向“接盘程序员”的时候,任谁都会望洋兴叹。


这些年来眼看着这座具有 30 年历史的屎山正在摇摇欲坠,排班故障层出不穷,但是西南航空就是没有下定要重写后台、优化系统的决心。


终于这座拥有悠久历史的屎山代码在上个月轰然倒下,留下美国几万无家可归的乘客同时,也给西南航空砸出了一个折合 50 亿人民币亏损的大坑。


7

其实,几乎所有的科技公司都有各种历史悠久的“祖传代码”,越是规模越大、历史越长的公司,“屎山”代码的问题也就越严重。


比如,“屎山”这个典故,就是出自一位亚马逊工程师之口。对于“硅谷大厂”亚马逊的代码,这位工程师如此描述道:


“一座很大的屎山,一座你见过的最大的屎山,每次你想修正一个 Bug,都得爬到屎山的正中央去。”


8

几乎所有互联网大厂的程序员都会面临这样的窘境:


删除代码重构,工作量太大,一时半会儿根本完不成;


不删代码,看不懂前辈程序员们的源码到底是什么意思;


清理 Bug,发现原来好好跑着的功能突然不可用了;


不清理 Bug,那这些 Bug 会成为不定时的炸弹,之后 100%会引发严重的问题;


维护代码,只能用新 Bug 掩盖旧有 Bug;


不维护代码,随着技术升级,旧代码也会一点一点变成 Bug。


最终只能补丁摞补丁,保证不出严重技术事故的同时,让屎山越来越大。


至于这座山啥时候坍塌,这就是说不好的事情了,反正到时候“人跟代码有一个能跑就行了”。


屎山不拒细壤,方能就其高。屎山就这样一天天长大,终于令最后接手的程序员感叹:高山仰止,景行行止。


9

每一次代码调试都是前往屎山的道路,因为条条大路通屎山。


即使有人冒着巨大的风险,辛辛苦苦地重构了所有代码,用不了太久,重构后的代码又会变为:屎山 2.0


10

除了前面说到的亚马逊,同为全球一线大厂的微软、谷歌、 oracle 这样的大公司,他们的产品背后同样是一座座屎山。


据说 oracle 每改一个功能,全公司的服务器要全速测试几个月。


至于微软,从 win8 到 win10 再到 win11,哪一个版本都是 bug 重重,而为了减少层出不穷的 bug,新鲜靓丽的新版本界面背后,总有一个远古界面的控制面板。


11

至于游戏公司,历史上最著名的屎山来自于《 GTA5 》联机版本。


12

在各个论坛中,无数玩家追着游戏开发商 R 星公司疯狂吐槽:为什么都已经 7 年了,GTA5 联机版加载还是这么慢?!


兴冲冲地打开游戏,结果发现游戏动辄要加载十几分钟,让任何一个玩家都难以淡定。其实这个史诗级的加载速度背后有一个史诗级的屎山:


游戏中有一个循环了 19.8 亿次的 if 判断语句。


国内也有很多程序员在论坛分享他们遇到过的各种“祖传”代码,有人说自己维护的代码写于 20 世纪,


“最早的部分可能写于 1980 年代贝尔实验室。第一批维护升级做需求的人早就退休了,第二批也退休了,每一行代码动起来都胆战心惊。”


而在 visa 公司工作过的程序员就表示,visa 公司现在还在跑着部分 1965 年的代码,相对于这些半个多世纪前的代码,那些 10 年 20 年前的代码,简直弱爆了。


如今,对于“屎山”代码的处理方法,走入到了一个死胡同:


一方面吃过重构代码苦头的程序员们深切地认识到了:“代码能运行就不要尝试去改,哪怕是遇到屎山一样的代码”;另一方面,巍峨的屎山代码终究还是会有坍塌的一天。


13

如今,美国西南航空的这次重大调度事故用近 50 亿元损失的代价提醒着各大公司:


面对自己层出不穷的后台系统故障,像鸵鸟一样,把头埋进沙子里,并不会解决任何问题,出来混,“屎山”代码的技术债,终究还是要还的。

本站文章均为原创,版权归本站所有,如需转载或引用请注明出处如:“本文章转载自:

全国航班停飞!让老牌航空公司损失50亿的,是一座堆积30年的“屎山” - Extfans”

相关标签

上一篇:Black Menu for Google™插件,在线轻松管理谷歌服务

下一篇:Google AI Can Predict When Patients Will Die