Netflix 完成云迁移

  • Kent Weare
  • 谢丽

2016 年 3 月 24 日

话题:AWS架构

近日,Netflix 通过公司博客宣布他们历时 7 年多的云之旅最终完成。Netflix 云之旅最早开始于 2008 一次重大的数据库损坏事件之后,那次事件影响了他们向订阅者分发实体 DVD 的能力。

数据库损坏事件促使 Netflix 改变了他们看待其架构的方式。他们由垂直可扩展的单点故障转向了云上水平可扩展的分布式系统。

Yury Izrailevsky 是云和平台工程部的副总裁。他介绍了 Netflix 为什么选择 Amazon Web Services 作为他们的云提供商:“我们选择 Amazon Web Services(AWS)作为我们的云提供商是因为它为我们提供了最大的规模和最广泛的服务和特性集合。”

Netflix 云之旅非常漫长。最初,他们的重点是所有部署在云上的、面向客户的服务。这让 Netflix 可以利用 Amazon 遍布世界各地的区域,为 130 个国家的客户提供服务。一旦面向客户的服务迁移到了云上,Netflix 此后的重点是计费系统和员工数据管理。最后剩下的是供流媒体服务使用的服务,2016 年 1 月,Netflix 关闭了他们数据中心里的这部分服务。

从 2007 年 12 月到 2015 年 12 月,Netflix 增长了超过 1000 倍。Izrailevsky 将 Netflix 招徕和支撑新客户的能力归因于使用了云。“由我们自己的数据中心支撑这种快速增长会非常困难;我们根本无法这么快上架服务器。云的弹性让我们能够在几分钟内增加成千上万的虚拟服务器以及数以 PB 计的存储,让这样一种扩展成为可能。”

云不仅为 Netflix 提供了可扩展性,还为提高了他们的可用性数值。最初,Netflix经历了一些“艰难的时刻”,但他们看到了此后的改善,Netflix 距离他们给自己设定的正常运行时间 99.99% 的目标更近了。通过从传统上不可靠的组件中构建出高可靠性的服务,Netflix 提升了他们的可用性。他们通过使用冗余云组件达成了这一目标。

为了测试和验证他们的冗余策略,Netflix 使用Simian Army实现了常规生产测试。其中部分策略包括使用 Chaos Monkey,后者会定期施加可能导致组件失败的条件。它确保及早并经常地暴露任何失败点,那样,工程师团队就可以通过受控的练习来解决问题,而不是在计划外停机事件中发现它们。

虽然向云迁移花费了 Netflix 七年多的时间,但他们的迁移有条不紊,没有出现策略的变化。Netflix 觉得,为了真正受益于云,他们需要改变系统,利用基于云的组件,而不是将数据中心的缺点带到云上。Izrailevsky 进一步解释说:“我们选择云原生方法,重建了我们几乎所有的技术,并从根本上改变了我们运营公司的方式。从架构上讲,我们从一个单体应用迁移到了数以百计的微服务,并使用 NoSQL 数据库反规范化了我们的数据模型。”

查看英文原文:Netflix Cloud Migration Complete

立即免费注册 AWS 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

AWS架构