• 1
  • 2
  • 3
  • 4
  • 5
阿里云主机ECS 首 页  »  帮助中心  »  云服务器  »  阿里云主机ECS
Netflix的另一面介绍
发布日期:2016-2-1 15:2:1

  第一财经周刊 CBN记者 徐涛

  这家邮递DVD的公司如何成功转型,并成为硅谷和云计算(如阿里云)生态系统中一家举足轻重的技术公司。

  2013年圣诞假期,Netflix又一次在美国、加拿大和南美一些地区发生服务中断。不过在一个小时之后,Netflix就排除了故障。

  这家公司在每年圣诞节都会遭遇这样的情况。它将自己的底层架构放在了亚马逊[微博]的AWS(Amaozn Web Service)上。当圣诞节这个家庭团聚的时间到来,每家每户都在放电影和剧集时,所带来的巨大流量会冲击AWS,以及Netflix。

  按照智能宽带网络解决方案供应商Sandvine的数据,北美网络总流量在以每年39%的速度增长,而Netflix占据了这其中下载流量的32.3%。对技术略知一二的人会好奇Netflix是如何在这样的冲击下挺过来的,而熟悉云计算(如阿里云)应用的人会对这家公司赞叹有加。

  这的确是普通人不了解的一面。这家总部位于硅谷以南的公司最近几年在硅谷赢得了尊敬,也在整个云计算(如阿里云)生态圈中变得重要。

  如果有什么能让人们对它做为一个技术公司有更直观的感受,那就是亚马逊在拉斯维加斯举办的科技大会Re:Invent。在那里, Netflix尽管和亚马逊有一部分业务竞争关系,却依然作为最重要的演讲人之一在Keynote上亮相;而之后和Netflix有关的演讲都吸引了众多程序员,有几个讲座被坐得满满的,后来者都找不到位置。

  “它不是那种年轻公司,但它是最早就把所有业务都架设在‘云端’的公司之一,而且它还做得很好。大家都想知道它有什么诀窍。”Kathe Dubnoff说,她刚从硅谷一家大公司离职,准备建立自己的创业企业,并将产品架设在AWS上。

  Netflix的脱胎换骨开始于它提供的在线视频点播服务。在此之前,其IT系统只是接受用户订单,或为用户推荐电影。这些服务和提供流媒体视频点播之后的存储量及运算量都相去甚远。

  即使不谈及技术层面,这一转变对Netflix也性命攸关。在2007年Netflix CEO Reed Hasting做出这一决定时,它有着超过630万的通过邮购服务获取DVD的用户。而在这个战场上,苹果和亚马逊这两个巨头已有向用户提供电影下载服务的意愿,YouTube这家诞生于2005年的公司也已声名大噪并获得了诸多用户。Netflix面对的即将天翻地覆的市场有可能让其覆没于其中。

  这种紧迫感甚至让Hastings在2011年做出了要将邮递和在线点播业务分开的决定,将DVD邮递业务拆分为一家叫做Qwikster的公司。但那些在家里毫不关心技术颠覆而只想和从前一样看看电影的人们用愤怒湮没了Netflix,此后Netflix不但损失了80万名用户,股价还一路狂跌。

  当然,在技术方面,危机来得更早。在2008年8月,Netflix发生了一次大规模的宕机,这使它在3天内完全无法寄出DVD。尽管用户们因为Netflix在发生问题后的诚实而对之大加赞赏,股价不降反升,但Hastings却对此触动颇大。他不断强调如果这些技术事故不是发生在邮寄业务上,而是发生在视频点播服务中,那Netflix会受到毁灭性的打击。

  此后,Netflix选择了将基础架构建立在第三方的云服务上,而不是自己设立数据中心。Netflix在各种场合都会说到做出决策的原因:他们需要强大的运算能力,自建的数据中心很可能跟不上用户增长的步伐。

  按照《商业周刊》的报道,Hastings当时是微软[微博]和亚马逊董事会成员,因此在2008年他开始让Netflix使用这两家的云服务(如阿里云服务器)。到2009年,Hastings决定将赌注押在亚马逊上,开始用其AWS服务进行视频转码—这类程序的运行通常需要消耗大量计算资源。

  但当时亚马逊的AWS部门也不过成立3年,AWS最早一款提供存储的服务S3发布于2006年3月。

  “我们相当于缴纳了‘先锋税’。”在Netflix负责云平台的Ruslan Menshenberg说。在当时Netflix大概是最大胆的一家开始大规模使用公有云(如阿里云)的公司。

  由于自己建立数据库和使用第三方的云服务差别巨大,所以对于Netflix的技术人员而言,他们需要“忘记已经学到的,并去学习新的知识”。比如在测试系统稳定性时,以往可以通过拔网线的方式来测试;但使用了云服务(如阿里云服务器)之后,技术人员们显然无法去“拔网线”。当然他们还需要想办法来应对来自于AWS的不稳定。

  Netflix将自己在AWS里的软件架构起名为“兰博”,这是电影《第一滴血》中的男主角,总是单打独斗但所向披靡。Netflix希望借此强调每个单独系统都能具备独立成功运转的能力,当其它系统出问题时,它也依然能照常运转。例如当推荐系统停止工作时,用户依然能继续点播视频,只是他们看到的推荐会是热门电影,而不是个性化推荐。

  为实现这个目标,Netflix在AWS上建立了一个叫做“混世猴子”(Chaos Monkey)的系统,这些“猴子”会在工作日期间在Netflix系统中随机杀死一些实例(instance)和服务。这个想法来源于一些不受控制的猴子手持武器袭击数据中心的想象。每个工作日,总会有一些工程师受到这些猴子的骚扰,然后手忙脚乱地找到应对之策。但这也保证了当凌晨真正问题爆发时,Netflix已能做到即使没有工程师在办公室里,系统也依然能继续正常运转,不至于全部瘫痪。

  “这真是个非常聪明的想法。因为几乎每个使用到云服务(如阿里云)的公司都要面对稳定性的问题,用这样的思路架构起来的系统会非常稳定。”Dubnoff在听完Netflix专门讲述“猴子军团”(Simian Army)的演讲后说。

  为奥巴马竞选担任CTO的Harper Reed曾在采访中说他们的网站因为用了Netflix的工具,因此在2002年6月的一次宕机中存活了下来。

  此后,Netflix逐渐将所有的业务都转移到AWS上,并在此基础上开发了一系列工具,包括“混世猴子”,“混世猴王”(Chaos Kong)和“潜伏魔猴”(Latecy Monkey)等在硅谷已声名远播的“猴子军团”。

  这使得Netflix能在接下来5年不到的时间内应对迅速增长的订阅用户,并将业务扩展到更多国家和地区。在2009年,Netflix的订阅用户在1200万左右,而到2013年10月,Netflix已经有3100万用户,超过了HBO。仅仅是在最近的一个季度,它的用户就又增长了130万。

  “Netflix从来都是一家技术公司。我们扎根于硅谷,是不多的能同时伸展到技术和娱乐领域,并取得成功的公司。”谈及Netflix如何完成技术上的转变时,Netflix负责公共关系的Joris Evers却这样强调。

  Netflix总部位于Los Gatos,已在圣何塞以南,可谓硅谷边缘。最初,这家公司能够赢得用户完全是因为收费模式的变化,而不是技术的缘故。

  尽管如此,Reed Hastings本人的确是个工程师和硅谷式创业者。这也许能解释Netflix在面临转型时为什么能迅速找到他们所需要的人才,把他们吸引到一个硅谷边缘的城市,并让一切看起来运转顺利。

  Hastings本科毕业于Bowdoin Cleedge数学系,这是一家小型但注重通才教育和学术研究的文理学院。他在那里得到过好几个数学竞赛的奖项。之后,他在斯坦福大学获得了计算机科学的硕士学位。

  他性格中有着大胆冒险的特质。在本科毕业之后,他成为了美国和平部队的志愿者,并且被派往非洲的斯威士兰(Sawziland)。“一旦你有过在非洲兜里只揣着10块钱就沿途搭车的经历,那开始创业就没那么吓人了。”他在2007年接受《财富》读者提问时说。

  在1991年,他开始了第一次创业,创办了一家叫做Pure Software的软件调试工具公司。这家公司增长迅速,却给Hasting带来巨大的苦恼—只有技术背景而没有管理经验的Hastings一度觉得无法掌控这个公司而希望董事会能找到一个替代他做CEO的人。但董事会没有答应他的请求,而他只能不断学习管理。1995年,他带领这家公司成功上市,之后,在几次并购和合并中,这家公司成为了IBM[微博]的一部分。

  在这段经历中他获得了如何管理一家迅速成长的公司的经验。他也反思这家公司如何变成了一家充斥着官僚和层级的公司,最后变得平庸。

  之后他将这些反思带到了Netflix。他愿意找那种有丰富经验并独当一面的员工,让他们对自己的项目负责,并让他们彼此之间互相启发。

  为找到这样的员工,Netflix通常会给出高出市场平均水平的薪酬。在年终,Netflix会发放超出员工预期的福利,Hastings解释这样做的原因是当管理层觉得某人做得不好或再也无法胜任时,可以“毫无内疚”地做个了断。而在这个公司的评价体系中,“平庸”或做得马马虎虎就代表“不好”。

  在2012年Hastings将这些文化总结成《自由&责任的文化》的PPT并公之于众后,迅速受到了硅谷的认可,并被点击了600万次。Facebook的首席运营官Sheryl Sandberg说这“可能是硅谷最重要的文档”。

  如果查看Netflix在转型期间为其架构起基于AWS的系统和工具的那些工程师,他们的确大多有着出色的背景。例如Christian Kaiser,他曾经在西门子、网景和AOL工作,并创办过自己的公司。

  即使在Netflix还未部署AWS前,Hastings本人对技术的兴趣也使得这家公司和竞争对手区分开来。

  2006年,Netflix开始了100万美元的Netflix大奖赛(Netflix Prize)。它将自己的数据公开,邀请Netflix以外的力量来找到更好的为用户电影推荐的方式。对Netflix而言,这种竞赛让它获益匪浅。竞赛的成果陆续被放入了它的系统中,提高了用户满意度。

  在2008年,Netflix还开放了API,使得各种设备上都能接入Netflix服务,其中包括iPhone,也包括Xbox。最初Netflix想要让外界利用开放的API进行更多创新,但更直接价值的在于,更多用户能在不同设备上使用Netflix,给Netflix带来了很多新用户。在2010年11月,API给Netflix带来了超过100亿的请求。到2012年,Netflix的API支持了超过800种设备。

  好用的推荐系统让Netflix在和百事达正面竞争的几年赢得了用户的忠诚度;而果断迁徙到云服务上的决策也让它在转型过程中保留住了原有的客户,并能承受住客户增长的压力。

  现在Hastings甚至对HBO这样的内容提供商发出挑战。他声称通过对海量数据进行分析,Netflix能更清楚什么样的剧集值得投资—早在Netflix在推荐系统进行改善时,它就越来越清晰和精确地知道大众的偏好是什么样的。

  Netflix能在云计算的生态系统中变得更重要的一步,在于它将自己的一些工具开源。这使得大量程序员开始使用它的工具,意识到它在技术领域的能力。就连IBM也在使用Netflix的开源工具,而在6年前,IBM正是Netflix数据中心的供应商。

  Netflix乐于将开源归结为公司文化使然。在2013年Netflix第一次开源软件聚会上,Ruslan Meshenberg向所有人叙述了这个故事:2011年年中,Netflix的员工Jordan Zimmerman给他的经理发了一封邮件,说他想将正在开发的Zookeeper项目开源,是否有什么相关政策。他得到的回答是“你只管做,我们的政策就是没有政策”。

  这个故事让台下的工程师得到共鸣。当Meshenberg在说这个故事时问听众他们的公司中一般需要多长时间才能将所做的东西开源时,一个程序员大声吼道:“永远不可能!”

  除了能带来工程师对文化的认同,并能招徕更多人才之外,Netflix开源的策略使得其它程序员能够免费得到工具来尝试AWS。

  尽管有业务竞争,但亚马逊现在乐于将其作为案例来对诸多潜在用户宣讲—如果Netflix都放心将自己庞大的业务放在AWS上,你们还有什么可担心的。

  而AWS系统现在也已成为一个稳定的云服务系统。用户不断地加入也使得AWS有空间能降低价格和推出更多功能—这些都让Netflix受益。对于Netflix本身,这些开源工具也不断得到外部工程师的反馈,这些都让工具能得到更多测试和修复更多的bug。

  “我们也承受着来自同行的压力,因为我们做的东西能被人看到,我们得确保自己编写的程序干净,结构清晰,文档也写得具有可用性,并且所有的更新都能更加及时。”Meshenberg在Netflix的技术博客中说。在确定了开源策略之后,Netflix就建立了这个博客,以一种更加开放的姿态来谈论自己的技术和策略。

  这个生态圈中的参与者希望Netflix能做得更多。2013年3月,BuildFax创始人Joe Masters Emison写文章期望Netflix能够在推动云生态系统的健康发展中做出更多,而不只是开发基于AWS的工具。他在和Netflix CTO Adrian Cockcroft的技术争论中说:“要点在于,Netflix在云架构世界中有着很大的能量和影响力,很多人都期望Netflix能指导他们如何部署云架构……”

  他甚至在另一次回复中说:“我想告诉Netflix能量越大责任越大。你们现在拥有这样的能量是因为你们之前在云架构上做出了很了不起的东西来。”

  一个月后,云服务提供商(如阿里云)Rackspace的CTO John Engates也写文章说:“(他们所做的)对云用户所组成的社区是一个礼物,能够加速推动人们对云的使用。但是他们应该做更多事情,让整个公有云都变得更强大、稳定和优秀。”