前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟花和尚学系统设计:明星公司之Netflix(下篇)

跟花和尚学系统设计:明星公司之Netflix(下篇)

作者头像
包子面试培训
发布2018-04-19 10:39:15
1.1K0
发布2018-04-19 10:39:15
举报
文章被收录于专栏:包子铺里聊IT包子铺里聊IT

谁是花和尚?

花和尚是一个定居西雅图的程序员,拥有多年系统设计和开发经验。喜欢研究和总结System Design, 并传授给大家。花和尚在MITBBS一篇 "我的System Design总结" 文章获得超过8万访问量,并被多家网站和博客转载。

前言

下篇扯一扯Netflix和AWS的紧密关系以及Netflix的各种周边和八卦。

Netflix and AWS

Netflix并不是最早的AWS customer,但却是最重要的AWS customer之一。毕竟超过1/3的traffic经过netflix,其中绝大部分还要经过AWS。其流量之大超乎想象。

说起Netflix migrate到AWS这件事还要追溯到2008年8月,在一个夜黑风高的夜晚,Netflix创始人Reed Hastings走在Los Gatos Creek Trail上独自冥想,突然一道流星划过天际,Reed头上灯泡一亮...

画风不对。我们重新讲一遍。

2008年8月发生了一件事情,Netflix的database被corrupted,导致长达三天的时间,没有任何用户可以接收到来自Netflix的租赁DVD。我们都知道,对于一个互联网公司,时间就是金钱,即使是2008年主要还靠DVD为生的Netflix。

Netflix的engineering team痛定思痛,在想:怎么样才能建立起完美可靠的架构?而防止此类事故不再发生?

他们做了一个后来看起来无比正确的决定:架构外包。

作为一个大公司,作为一个心高气傲的Engineering团队,在当时没有继续选择搭建自主的infrastructure,而是退而选择了AWS,这点不仅需要勇气,也需要智慧。

回想当年,笔者2008年还在国内,还记得在那些年国内互联网业界对云计算的态度基本上是嗤之以鼻的,认为是绣花枕头,华而不实,系统还是要自己搭。这个观点对错现在看当然是错的,但当年的AWS稳定性而言跟现在必然是差着数量级的。

当年的AWS刚刚起步,拥有的产品远不如现在丰富,只有EC2,S3等旗舰产品。在把Scalability的任务交给AWS的同时,Netflix需要很多tools去保证网站的availability,防止failover等等。以及专门为AWS service实现的优化和管理工具。正因为如此,很多Netflix OSS才应运而生。

举个例子,比如上文讲解到的Asgard项目始于2010年,为了防止manual deployment 引起的human error,Netflix设计了这个AWS auto-deployment tool。现在该项目已经在github上拥有超过2100个stars。直到2014年,AWS才跟进推出了类似的tool:AWS CodeDeploy。

现在的Netflix和当年比已经成长了太多。举个例子,从2007年12月到2015年12月,在这8年里用户时长指数级井喷,增长多达1000倍。这期间也恰好是AWS快速发展的8年,现在的AWS稳居云计算老大,市场份额超过下6个竞争对手市场份额的总和。Netflix这个赌算是打对了。

现在的Netflix和AWS的关系就像两个好伙伴,每次AWS的re:invent大会,Netflix都不会缺席。Netflix还被当作case study挂在AWS官网上。作为回报,Netflix OSS绝大部分tools都是为AWS量身定做或是兼容的。当然也不是所有人都happy,AWS内部的oncall的朋友开玩笑说:Netflix当年选择AWS就是为了把他们变成Netflix的DevOps,自己就不用雇人了。玩笑归玩笑,但也从侧面反映AWS的oncall活不好干。不过总体来说,Netflix和AWS,谁短期也离不了谁。

Netflix战略

Netflix从1997年起步,到现在已经过去了19年,并成为了streaming领域的龙头。我们说成功永远是实力加运气。撇开运气不说,我们看一看Netflix做对了什么才走到了今天。在笔者看来,有几个关键点Netflix走对了:

  • 1997年,创始人Reed Hastings和Marc Randolph测试了邮寄DVD的可行性,并创建了Netflix。这也是Netflix的第一项服务。到现在Netflix还保留着邮寄DVD这个subscription service。
  • 2007年,Netflix开始了新的"All-You-Can-Eat" streaming subscription service。尽管早在2006年Amazon Video就创立了(那时还叫Amazon Unbox),但提供的服务却是在网上购买电影电视剧的服务,直到2011年Amazon Video才推出了Amazon Prime Video提供类似Netflix的subscription,但Netflix已经优先抢占市场,稳固了行业老大的地位。
  • 2013年,Netflix发布第一部原创电视剧House of Cards,受到了世界电视剧迷的好评。Netflix此举是非常重要的,光靠购买版权,Netflix永远受制于人,而自主原创剧才能够让Netflix成为市场独一份,就像HBO的Game of Thrones一样成为吸金利器。
  • 2016年,Netflix宣布全球化,全世界200多个国家可以订阅Netflix观看电影电视剧。上篇提到过目前全球8100万用户有4600万在美国,这与美国占世界的人口比例严重不符。这也就意味着Netflix的下一个增长点应该是国际化。Netflix看到了这个机遇,领先于行业对手完成了全球化,为自己争夺了主动权和蛋糕。

Netflix原创剧推荐

笔者把自己看过并喜欢的Netflix原创剧推荐给大家,欢迎留言讨论补充:

  • House of Cards -- 应该不用怎么讲了,国内最火的Netflix原创剧,给你一个比现实精彩的美国白宫(不过现在被Trump碾压了)。
  • Making A Murderer -- 笔者最喜欢的Netflix剧!是一个纪录片从一个"杀人犯"视角讲述自己如何两次含冤入狱。温馨提醒:全程心情可能都非常压抑的片子,不建议郁闷的时候看。
  • Master of None -- 一部讲述二代美国移民的轻喜剧,讲述很多有意思的美国社会现象。比如其中有一集讲拍电视剧里面只能有一个印度裔美国人(主角是印度裔美国人),于是主角和另一个印度裔抗争到最后,结果终于同意他们俩都出演这个电影,但是给的剧本却是一个印度口音的和一个美国口音的兄弟相聚的故事。这个电视剧每一集总是能让人思考一些影射的社会问题。
  • Narcos -- 一部类似于Breaking Bad的电视剧,剧的特点是大量的西班牙语,估计是为了讨好西语观众。

Netflix企业文化

作为一个技术宅程序员,看完中篇的技术干货,你可能有一种现在就投简历加入N家的冲动。不过技术是公司的一方面(当然是很重要的一方面),但撇开技术,这个公司到底是什么样的?

Netflix和很多公司都不大一样。他家绝大多数engineer的title都是Senior Software Engineer Hierarchy及其扁平化。这意味着两件事:

  • Netflix不喜欢招new grad。毕竟一毕业就当senior是需要实力和勇气的。
  • 同是Senior Software Engineer,你的工资和别人的工资可能有天壤之别。

Netflix给钱给的非常慷慨,慷慨到业界除了他家很少见到如此高的工资。他家动辄给200k到400k的年薪 你可以去h1bdata.info这个网站自己查看(http://h1bdata.info/index.php?em=NETFLIX+INC&job=SENIOR+SOFTWARE+ENGINEER&city=&year=) 但缺点是几乎所有的perk都折成工资(不过最近好像有所改观 开始给股票ESPP了)。

给的钱多不是让你歇着的:Netflix3个月一次review。对于review的underperformer,难逃进PIP卷铺盖走人的厄运。

当然他家对外宣传的福利还是不错的:unlimited pto and sick days,以及多达12个月maternity and paternity leave。

总结下来就是12个字:收入颇丰,涨知识快,钱不好赚。

Netflix and Chill

由于Netflix在美国的风靡,衍生出来了"Netflix and Chill"这个习语。在这里Netflix做动词 就像"Google it yourself"里的"Google"一样 表示"看Netflix"。所以字面意思就是"看Netflix并且放松"。

当真就这么单纯么?当然不是。

一开始的时候 大家说"Netflix and Chill"真的是去看Netflix了。后来某些心怀不正的少年们就借着这个幌子求啪啪啪了。在越来越多的女性同胞痛斥这个幌子之后,慢慢这个习语就带有性暗示的意思了。所以女同学们如果有一个男同学说今晚上跟我一起去"Netflix and Chill"吧,你最好问清楚他家有几房几车。。。

还有一篇文章专门考证了"Netflix and Chill"的起源(http://fusion.net/story/190020/netflix-and-chill/)。我只能说美国记者要么是太无聊,要么是太敬业。。。

尾声

花了三篇文章,终于把我想讲的Netflix的方方面面都讲完了。其实一开始写Netflix的动机只是想写一篇关于Netflix OSS项目的文章科普一下,结果越写越觉得准备大家对Netflix这个公司知道的并不多,所以决定以上帝视角把这个公司的方方面面都尽量讲到。希望对大家了解Netflix这个公司有点帮助(Netflix真该给小编点稿费= =)。


跟花和尚学系统设计工程目录(编写进行中):

  • System Design 101
  • 基础学习
  • 架构学习: Lambda Architecture
  • 架构学习: Kappa Architecture
  • 架构学习: Microservices
  • 积木学习: Caching: Memcached/Redis/Guava cache
  • 积木学习: NoSQL DB: Cassandra/DynamoDB
  • 积木学习: Queue: ActiveMQ/SQS/Apache Kafka/Kinesis
  • 积木学习: Data Processing: Apache Samza/Storm
  • 积木学习: Data Querying: Apache Hadoop/Spark/EMR
  • 公司学习: Netflix(上篇/中篇/下篇)
  • 公司学习: Amazon

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 包子铺里聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 谁是花和尚?
  • 花和尚是一个定居西雅图的程序员,拥有多年系统设计和开发经验。喜欢研究和总结System Design, 并传授给大家。花和尚在MITBBS一篇 "我的System Design总结" 文章获得超过8万访问量,并被多家网站和博客转载。
  • 前言
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档