Netflix如何通过使用Virtual'Monkeys'随机拔下服务器来使其云变强
旧金山 - 不杀了我,让我更强大。所以尼采,柯南野蛮人和凯利克拉克森说。
现在Netflix云导演Ariel Tseitlin正在将这种哲学从其云世界中的自然限制。每天,他都释放了一支虚拟猴子在他公司的计算基础设施上,试图杀死它。每天,它幸存下来 - 它变得更强壮,更具弹性,更有抵抗力。到目前为止,它几乎不可批准。
结果,即使亚马逊的云系统的其他用户已经离线了,Netflix也在在线。
“他们的唯一目的是确保我们以一致和频繁的方式失败,以确保我们不会融入整体失败,”Tseitlin今天在CloudBeat 2013年在企业云上进行了CloudBeat 2013。
Netflix也许是云服务的最高版本的消费者,而且它肯定是最大的消费者。它使用Amazon Web服务来托管其流媒体业务,这将占据某种措施的措施占美国家庭的三分之一的数据。
Tseitlin使用一套软件,他扭曲了一个“猿猴军队”,在其虚拟数据中心进行了待遇和掠夺混乱。
每个“猴子”都是不同的事情:不仅仅是模拟失败,而且实际上在Netflix的生产环境中制造了问题。例如,“Chaos猴子”这样工作:每个工作日,随机时间在上午9点和下午5点之间。它随机扫描生产环境,滚动骰子,然后选择一些真正的生产实例来终止。
“设计前提是,所有的架构都是足够的,以重试,并开始以完全透明的方式重新服务于对客户的方式,”Tseitlin说。“你作为观众应该不知道送你电影的实例刚刚终止。”
为什么只在平日?如果有责任的工程师解决它们,则揭示基础设施的问题,如果真的出错了。通过揭示工程师呼叫时揭示这些问题,Netflix将自己拯救了必须在星期天凌晨3点解决它们的悲伤。
当然,只有有效,因为netflix已经有一个非常强大的云基础设施。Tseitlin在2008年经验丰富的公司经历的主要中断之后,Tseitlin表示,它仍然主要是一个逐个邮件,并在自己的数据中心运行它。起源于公司Oracle数据库的中断差不多一周才能纠正。
“如果我们有这样的停电,而我们是一家流媒体公司,这可能是对我们的存在威胁,”Tseitlin说。“这让我们思考我们需要做些什么来构建一个有弹性的服务。”
因此netflix开始了重建一切的项目,移动到更现代的架构,并将其系统移动到云中(使用亚马逊Web服务)。
为什么亚马逊?“我们知道我们不想建立它,”Tseitlin说。“我们在那里看看,亚马逊是我们所需要的唯一一个规模的亚马逊以及我们想要的特征宽度。”
作为项目的一部分,该公司在两种主要设计原则之后,公司建立了架构的弹性:隔离和冗余。隔离意味着一个组件中的故障无法延迟整个大厦,而冗余意味着在其失败的情况下通过替代方案备份每个组件。
它可能听起来很昂贵,而是建立两个(或更多)的一切,但Tseitlin说它真的有助于更合理地分配费用 - 并且它实际上会节省整体节省。Netflix可能会花费更多资金,但它通过避免最后一分钟的恐慌情况来节省资金。
“通过这样做,你没有使用聚合的更多资源,但是你分发它们的方式使您可以长期更加弹性,”Tseitlin说。
Netflix不仅使用Amazon Web服务,它还通过名为Netflix OSS的项目开辟了许多其他软件。TSEITLIN指出,目前为该项目的最佳贡献提供了100,000美元的优惠奖励。你到了9月15日,为了提出贡献,所以开发人员:获得编码。
也许您可以通过Netflix的虚拟数据中心使下一个混乱的猴子横冲直撞。