Netflix的牛逼是如何炼成的?

简介:

 Netflix是一家在线影片租赁提供商。公司能够提供Netflix超大数量的DVD,而且能够让顾客快速方便的挑选影片,同时免费递送。Netflix已经连续五次被评为顾客最满意的网站。可以通过PC、TV及iPad、iPhone收看电影、电视节目,可通过WiiXbox360PS3等设备连接TV。


Netflix的牛逼在哪里?

可以看几个信息。

使用AWS之前,Netflix使用的是Oracle和IBM的技术来支撑其业务发展的。而现在,Netflix基于AWS构建自己的技术生态。 Netflix已经开源的许多基于全球PaaS平台下的组件以提供在云端的创建和运行高可用服务的最佳实践。

Netflix已经成为Acme Air的一家技术供应商(Acme Air这个产品采用了Netflix OSS的技术,特别是Karyon, Eureka, Hystrix和Ribbon)

ps:full set of NetflixOSS components is at http://http://netflix.github.io


Netflix面临的挑战

  • big:

    • EC2 Instances >100,000

    • CPU Cores >800,000

    • 每天有20%业务是AutoScaling进行弹性伸缩

    • ELB Traffic > 50 Gbps / Per Region

    • 网络流量 Peak Time > 37% internet traffic of USA

    • 大量的Accounts

  • fast:保持创新速度,出新业务很快

    • 1,000s changes

    • 1,000,000s new customers

    • 1,000,000,000s hours streamed

他们如何做到又big和fast呢?

牛逼是如何炼成的

在AWS re上,Dave Hahn(CORE Team / Netflix)分享了一个话题"Another Day in the Life of a Netflix Engineer (DEV209) ”,从中可以窥见一些端倪。

ps:link https://www.youtube.com/watch?v=aWgtRKfrtMY&feature=youtu.be


牛逼的背后尽是苦逼,不幸总是相似的。他们也曾遭遇无奈的宕机!!!

principle of chaos

关于Chaos Principle,网上有参考资料:

1:Build a Hypothesis around Steady State Behavior

把系统当成黑盒,chaos专注在系统does work,而不是尽量验证它如何工作。 例如当故障或某一个状态发生到恢复期间,系统的吞吐量,错误率,延时分布等。

Focus on the measurable output of a system, rather than internal attributes of the system.  Measurements of that output over a short period of time constitute a proxy for the system’s steady state.  The overall system’s throughput, error rates, latency percentiles, etc. could all be metrics of interest representing steady state behavior.  By focusing on systemic behavior patterns during experiments, Chaos verifies that the system does work, rather than trying to validate how it works.

Chaos Monkey是最受关注的一个产品,顾名思义就是用来捣乱的,怎么捣乱?

把某些运算设备定制掉;把系统延迟时间调长等等。。。Chaos系列还可以模拟单机房故障、

 Chaos Monkey 最新版本依赖于Spinnaker这个持续发布平台。下面就不翻译了...

This version of Chaos Monkey is fully integrated with Spinnaker, the continuous delivery platform that we use at Netflix. You must be managing your apps with Spinnaker to use Chaos Monkey to terminate instances.

Chaos Monkey should work with any backend that Spinnaker supports (AWS, GCP, Azure, Kubernetes, Cloud Foundry). It has been tested with AWS and Kubernetes.

2:Vary Real-world Events

实际创造真实环境的事件,比如硬件fail,软件不可用来观察演练。

3:Run Experiments in Production

系统的行为取决于环境和通讯模式,采样真正的流量是唯一的方法来可靠地捕获请求路径。为了保证系统运行的真实性和当前部署的系统的相关性的真实性,chaos喜欢直接在生产流量实验。

4:Automate Experiments to Run Continuously

Running experiments manually is labor-intensive and ultimately unsustainable.  Automate experiments and run them continuously.  Chaos Engineering builds automation into the system to drive both orchestration and analysis.

chaos工程师任务手工的故障演练不可持续,因此构建自动化演练的机制。

强大的监控和部署

监控采用Vizceral,Vizeral已开源,可以参考 http://netflix.github.io/

可以将error的流量负载到多个zone,清晰化管理;zone内部也通过该工具监控。

Spinner是Netflix统一部署系统。


设计原则

在Mastering Chaos-- A Netflix Guide to Microservices  分享中,Josh Evans(Engineering Leader) 再次总结了netflix公司的设计原则,涵盖架构、运维及组织。


Dependency

ps:从单体架构演进到微服务架构,依赖会增加;复杂度增加则熵增加。

提供以下几种解决方案。

Circuit breakers, fallbacks, chaos ---保护、故障注入演练

Simple clients

Eventual consistency  --放弃分布式事务,最终一致性

Multi-region failover--跨机房FO能力


Scale

Auto-scaling  自动扩展,扩展都会做,要自动扩展、弹性也不简单

Redundancy – avoid SPoF  

Partitioned workloads

Failure-driven design 

Chaos under load---对负载做chaos


Variance

Engineered operations

Understood cost of variance

Prioritized support by impact


Change

Automated delivery   

Integrated practices


Organization & Architecture

Solutions first, team second


文化

早在2009年, Netflix的CEO和首席人才官就做了一份127页的PPT,命名为《自由&责任的文化》,这份PPT在网上被查阅超过了600万次,甚至被Facebook公司的COO桑德伯格称为“硅谷最重要的文件”。这里摘录几条,尝试解读。

价值观

价值观不是挂在墙上的,公司真正的价值观应该是具体通过哪些人被奖励、被提升来体现。

真正的价值观是被员工所重视的行为和技能,该公司包括了9条:判断力、沟通力、影响力、好奇心、创新、勇气、热情、诚实、无私


自由和责任

作为一个软件工程师你有充分的自由做出各项选择。Netflix每个工程师都可以在部署和生产环境做出调整改变,这些操作不需要IT人员任何操作。什么是责任,你要为你做的每个错误选择而负责,你可能因为一个错误选择造成这个系统不稳定或者其他系统不稳定,那么你要尽快想办法找出解决方案把影响降到最低,另外一个责任是尽快把这个缺陷修好并且发布一个新的软件。自由与责任最好的体现是Netflix的休假制,任何人任何时间都可以修长的假期,这也是我站在这里的原因之一,休假是你的自由,但是你相应的责任是什么,你休假之前要把你该做的事情做好。而且你的休假不能给公司带来任何负面影响,其实你已经开始休假了,如果你的系统发生问题你也有责任在任何时间任何地方解决这个问题。


总结:Netflix独创了自己的企业文化、工程师文化,但成功的公司有相同的,就是都有确定的使命和价值观,雇佣优秀的人。在架构体系上,深度使用云平台,搭建多中心,面向失败设计、自动化故障演练测试、持续发布等对于大型互联网应用是非常好的示范。我们team曾创新故障注入组件,现已下沉到中间件。演练包括稳定性和资金安全case!


来源:中生代技术

原文链接

相关文章
|
6月前
|
架构师 安全 前端开发
阿里P9架构师推荐的Spring领域巅峰之作,颠覆了我对Spring的认知
你第一次接触spring框架是在什么时候?相信很多人和我一样,第一次了解spring都不是做项目的时候用到,而是在网上看到或者是听到过一个叫做spring的框架,这个框架号称完爆之前的structs和structs2,吸引了不少人的注意。
|
22天前
|
人工智能 开发框架 Java
总计 30 万奖金,Spring AI Alibaba 应用框架挑战赛开赛
Spring AI Alibaba 应用框架挑战赛邀请广大开发者参与开源项目的共建,助力项目快速发展,掌握 AI 应用开发模式。大赛分为《支持 Spring AI Alibaba 应用可视化调试与追踪本地工具》和《基于 Flow 的 AI 编排机制设计与实现》两个赛道,总计 30 万奖金。
|
2月前
|
前端开发 Java UED
"揭秘!如何以戏剧性姿态,利用SpringCloud铸就无懈可击的异常处理铁壁,让你的微服务架构稳如泰山,震撼业界!"
【9月更文挑战第8天】随着微服务架构的普及,Spring Cloud作为一套完整的微服务解决方案被广泛应用。在微服务架构中,服务间调用频繁且复杂,异常处理成为保障系统稳定性和用户体验的关键。传统的异常处理方式导致代码冗余,降低系统可维护性和一致性。因此,基于Spring Cloud封装统一的异常处理机制至关重要。这样不仅可以减少代码冗余、提升一致性,还增强了系统的可维护性,并通过统一的错误响应格式优化了用户体验。具体实现包括定义全局异常处理器、自定义业务异常以及在服务中抛出这些异常。这种方式体现了微服务架构中的“服务治理”和“契约先行”原则,有助于构建健壮、可扩展的系统。
62 2
|
2月前
|
Cloud Native Java 对象存储
揭秘微服务架构之争:Spring Cloud与Netflix OSS巅峰对决,谁将称霸弹性云原生时代?
近年来,微服务架构成为企业应用的主流设计模式。本文对比了两大热门框架Spring Cloud和Netflix OSS,探讨其在构建弹性微服务方面的表现。Spring Cloud依托Spring Boot,提供全面的微服务解决方案,包括服务注册、配置管理和负载均衡等。Netflix OSS则由一系列可独立或组合使用的组件构成,如Eureka、Hystrix等。两者相比,Spring Cloud更易集成且功能完善,而Netflix OSS则需自行整合组件,但灵活性更高。实际上,两者也可结合使用以发挥各自优势。通过对两者的对比分析,希望为企业在微服务架构选型上提供参考。
52 0
|
负载均衡 监控 前端开发
SpringCloud Netflix学习从练气到化虚
这篇文章是总结SpringCloud NetFlix的,其中使用的Eureka、Hystrix、zuul、feign等技术已经停更,目前是不推荐使用的,但是为了弄清楚微服务的架构演进,以及不同组件之间的差异性,笔者感觉还是需要学习这些已经过时的技术的,循序渐进式的学习才是最好的学习方法。
217 0
SpringCloud Netflix学习从练气到化虚
|
UED 流计算
Netflix 是如何做决策的? | 1. Netflix 的决策制定
Netflix 是如何做决策的? | 1. Netflix 的决策制定
129 0
Netflix 是如何做决策的? | 1. Netflix 的决策制定
|
缓存 自然语言处理 负载均衡
Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)(下)
Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)(下)
Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)(下)
|
Dubbo Java 应用服务中间件
Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)(上)
Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)(上)
Dubbo 就是靠它崭露头角!(身为开源框架很重要的一点)(上)
|
弹性计算 运维 监控
Netflix的牛是如何炼成的?
Netflix的牛是如何炼成的?
220 0
Netflix的牛是如何炼成的?
|
敏捷开发 安全 架构师
Spotify的牛是如何炼成的?
编著者按:笔者近期在思考工程文化相关的内容,除了自我总结以及对Google、Facebook的一些探索外,目光再次投向了Spotify这家公司。这是一个高速增长的故事,这是以一个工程文化知名的故事,同时这也是敏捷圈在讲的故事。
385 0
Spotify的牛是如何炼成的?