acm-header
登录

ACM通信

Kode恶性

我拔掉了什么?


用手将未连接的电缆举到天花板

图片来源:Juice Flair

回到顶部亲爱的KV,

我相信到现在为止,您已经了解了最近的大型系统故障(参见https://bit.ly/3DtSSDt- - - - - -艾德。),我想知道你是否能分享一下你的想法,为什么如此大的一家公司——以拥有如此多的聪明人而闻名——却在基础设施方面惨败。我可能抛出了一个垒球问题,但这些大规模和普遍的失败是如何发生的?

一边做爆米花一边等待你的回复

回到顶部

亲爱的爆米花,

有些人会说,在经历了如此巨大的失败之后,对任何一家公司进行抨击都是不公平的,当人们或公司陷入困境时,对他们进行抨击是不友好的。KV当然不是其中之一。

和世界上其他地方的人一样,当我看到这个世界上最富有的公司之一似乎用配置错误搬起石头砸自己的脚时,我感到很好笑。有些人在恐惧中看着,是的,KV在娱乐中看着。不用说,我只知道我在新闻和各种“feed”上读到的东西,但一些失败似乎已经得到了良好的外部记录。

这里的教训比简单的“不要那样做”更广泛,在最近的这次事件之前,有很多公司对自己做了类似的事情。造成这一切如此灾难性的真正根本原因不只是推行了糟糕的配置;真正的原因与几乎所有现代计算基础设施有关,它与蛋糕有关。

现代计算不再只在一台或甚至一组小型计算机上完成,而是在分布在全球的数千台机器上进行。这种基础设施的建设方式,无论是在逻辑上还是在物理上,通常都像一个蛋糕,但上面的糖霜并不那么甜。事实上,在最好的情况下,不仅糖霜是苦的,而且层与层之间的糖霜往往会变质。此外,每一层蛋糕都是由不同的厨师烘焙而成,然后在蛋糕表面的腐臭糖霜上涂抹。哦,厨师们不交流,因为那样会侵犯蛋糕的分层或其他东西。

在最近的这次灾难中,pièce de résistance是一个新手级别的错误,它似乎把所有东西都连接到同一个网络上,以至于一个单一的故障不仅使外部可见的站点瘫痪,还使其内部工具瘫痪,甚至使人员被锁在会议室和数据中心之外。据推测,重启系统的唯一方法是使用角度磨床来接近锁定机架中的设备。

两个相互交织的问题使得这次失败比它原本应该发生的要严重得多。第一个问题是,当其中一个结冰层变质时,系统之间的耦合没有得到充分的预先考虑。另一个是把所有的层放在一个蛋糕上。

把所有的层放在一个蛋糕上简直是愚蠢的,说实话,这可能是更令人震惊的发现。KV想不出有谁会故意将任何物理基础设施的控制网络与提供猫图片的网络放在同一个网络上。在构建所有分布式系统时,必须牢记关注点分离的概念,这可能会导致制作多个蛋糕而不是一个。

另一个失败——没有跟踪蛋糕是如何分层的——是太常见了。现代系统的设计似乎更少,更像是随着时间的推移而增加的系统和功能。考虑到科技行业的人换工作的频率,保持对蛋糕制作过程的清晰、制度化的了解是一项不容小觑的练习。文档和代码一样,如果不维护就会腐烂,这是构建大型系统的最大风险。把公司内多个部门的人——包括DevOps、NetOps、BizOps、SecOps、fooops——或任何流行的团体名称——聚集在一起的季度系统评审,可能是确保糖衣没有掉下来、厨师们都知道他们的层应该放在哪里的最好方法之一。

这些类型的失败总是沟通的失败:首先是人的层面,然后,最终是技术层面。

KV

ACM队列的q戳相关文章
queue.acm.org

大而不倒
Kode恶性
https://queue.acm.org/detail.cfm?id=2693195

自动化软件故障报告
布伦丹·墨菲
https://queue.acm.org/detail.cfm?id=1036498

弹性工程:学会接受失败
GameDay演习案例研究
https://queue.acm.org/detail.cfm?id=2371297

回到顶部

作者

乔治·v·内维尔·尼尔kv@acm.org)是Neville-Neil Consulting的东主及ACM队列编辑委员会。他从事网络和操作系统代码方面的工作,教授各种与编程相关的课程,并鼓励您的评论、俏皮话和与他相关的代码片段通信列。


版权归作者所有。
向所有者/作者请求(重新)发布权限

数字图书馆是由计算机协会出版的。版权所有©2022 ACM, Inc.


没有找到条目

登录全面访问
忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map