Fastly云服务故障给CDN和网站恢复带来的教训

236 阅读6分钟

6月8日星期二上午,内容数据网络(CDN)供应商Fastly的云服务企业发生故障,许多网站瘫痪。

受影响的网站包括亚马逊、Hulu、《纽约时报》、CNN、《卫报》、彭博新闻社、《金融时报》和The Verge。同样受到影响的还有Reddit、Pinterest和Twitch平台。

在Fastly博客中,该公司工程和基础设施高级副总裁尼克-罗克韦尔在文章中说,错误是由该公司自己的开发人员在软件更新中错误引入的,这个错误是在客户修改CDN配置时触发的,这是一个常规程序。

"我们在一分钟内检测到了中断,然后确定并隔离了原因,并禁用了该配置。在49分钟内,我们95%的网络都在正常运行,"罗克韦尔表示,他很抱歉。"这次中断是广泛而严重的,我们对我们的客户和每一个依赖他们的人所受到的影响真的很抱歉。"

损害半径很广,引起了恐慌,直到中断的原因被了解,服务开始恢复。

软件更新中的错误导致的级联故障

具有许多依赖性的复杂的云端系统会带来风险,特别是当事情出错时。"你可能最终会出现这些级联故障,"卡内基梅隆大学软件研究所的博士生克里斯托弗-梅克尔乔恩在来自Vox的描述中说。"它们很难调试。他们的压力很大,很难解决。而且,当你考虑做出这种改变时,它们可能很难在早期被发现,因为系统是如此复杂,它们涉及如此多的移动部件。"

Meiklejohn说,像Fastly这样的CDN,其庞大的系统可能涉及部署在世界各地的数千台服务器,如果在核心软件中引入错误,就更有可能出现大范围的停电现象。Fastly的质量控制流程漏掉了这个错误,这让该公司很尴尬。"我们会弄清楚为什么在我们的软件质量保证和测试过程中没有发现这个错误,"洛克威尔在他的帖子中说。

Vox账户将Fastly的故障比作2011年的故障,当时亚马逊的云计算系统Elastic Block Store崩溃,导致Reddit、Quora和Foursquare下线。事件发生后,亚马逊表示,其一名工程师无意中造成了一个技术问题,该问题在其系统中传播并导致了故障。

在《金融时报》的一篇报道中,Fastly的中断被称为 "互联网易变性的实物课"。 该报道的作者说:"这次故障提醒我们,所有新的软件程序中都埋藏着'错误'。也许有一天,人工智能将能够预测并修复一个软件可能失败的所有情况"。

CDNs将内容移到离用户更近的地方,这提高了响应时间,CDN服务包括网络缓存、请求路由和服务器负载平衡,以减少负载时间并提高网站性能,根据来自g2的账户反馈,它指导用户选择软件和服务 。

使用CDN的公司包括在线视频流供应商和电子商务公司,他们的服务因性能不佳而受到不利影响。CDN服务通常与 网站托管服务一起使用 ,以优化内容交付速度。

客户在采用哪种CDN方面有很多选择。G2在其账户中列出了100多个CDN。Fastly进入了前10名,其中还包括Cloudflare、CloudFront、KeyCDN、Microsoft Azure CDN和Google Cloud CDN。

拥有多个CDN的公司能够转移工作负荷

根据网络情报公司 ThousandEyes的报告, 一些Fastly客户能够通过将工作负载转移到其他供应商来最大限度地减少故障的影响 。CDN提供分布式本地交付,例如,没有它,流媒体服务将无法提供高质量的数字体验。

今天,大多数CDN提供先进的安全功能,能够阻止常见的恶意流量,以及大规模的拒绝服务攻击。根据ThousandEyes的账户,从根本上说,CDN的执行两个功能:从其边缘节点向终端用户提供内容,并从网站原点获取动态内容在边缘提供。

许多受欢迎的大流量网站使用一个以上的CDN供应商向用户提供内容,主要是为了冗余,但也是为了优化性能。例如,这是通过在多个CDN之间负载平衡用户请求来实现的。

"ThousandEyes产品营销总监Angelique Medina表示:"网站或应用程序所有者如何选择架构其内容交付,可以决定像Fastly所经历的故障的影响严重程度 。她指出:"Fastly的一些客户有弹性的交付架构,或者他们能够采取行动减轻事件的影响,从而为他们的用户带来非常不同的结果。"

该公司详细研究了四家公司的经验。纽约时报和Reddit各自使用Fastly的服务作为其主要域名的销售CDN,但这两家公司有不同的经历。从UTC 9:50(美国东部时间上午5:50)开始,Reddit在全球范围内出现故障;大约一个小时后,服务恢复。

纽约时报在联系中暂时将用户重定向到该网站托管在谷歌云平台上的原点服务器,减少了用户的服务停机时间。停机的开始与Reddit的经历相似,但在停机40分钟后,服务 "明显增加",远在Fastly实施修复之前。到UTC时间10:50,没有Fastly服务器在《纽约时报》的传输路径上。

在Fastly实施修复后,就在10:50UTC之前,《纽约时报》的用户被重新定向到Fastly服务器上。到11:30 UTC,该网站恢复到故障前的状态。

亚马逊使用三个CDN来提供其网站,在每个CDN之间进行负载平衡,以向其用户提供尽可能好的体验。亚马逊有自己的CDN服务Cloudfront,这是其AWS产品的一部分。亚马逊还使用Akamai和Fastly来托管其网站。

一个CDN有利位置的例子显示,它的目标是亚马逊的网站,并在UTC 8:00之后被引导到Fastly服务器。几分钟后,它被引导到一个Akamai服务器,不到10分钟后,它又被切换到一个亚马逊服务器。"梅迪纳说:"这种在多个CDN服务中主动分配用户的做法是亚马逊正常运营的一部分。

亚马逊最终将用户引导到由其自己的CDN和其他CDN托管的网站组件,如Akamai和EdgeCast。到UTC时间10:40左右,大多数亚马逊用户的网站加载问题已经得到解决。

原文链接:www.aitrends.com/infrastruct…