zoukankan      html  css  js  c++  java
  • 从工程文化和运维理念理解Netflix

    http://www.infoq.com/cn/news/2018/01/netflix-engineering-culture

    在技术圈儿,Netflix 是一家非常有特色的互联网公司。他们信奉“自由与责任”的企业文化,鼓励工程师发挥自己的爱好与特长;特别开放,很多内部系统都开源了;所有业务都运行在云上,随之而来,有很多自己的工具,特色的运维文化。

    在明年 4 月 20~22 日的 QCon 北京 2018 上,我们有幸邀请到 Netflix 工程总监 Katharina Probst,她将分享 Netflix 的工程文化以及运维方面的理念和经验。

    InfoQ 曾有文章介绍 Netflix 的企业文化(技术漫谈:为什么Netflix的企业文化会备受整个硅谷的推崇?),而这次,Katharina 将现场分享《工程文化:挖掘工程师的最大价值》。

    丹尼尔·平克的《驱动力》一书,指出了如何提高绩效、焕发热情的三大要素:自主(Autonomy)、专精(Mastery)和目的(Purpose)。本次演讲也将从这三个方面出发,探讨如何让工程师发掘出自己的最大潜能。

    • 自主:设定良好的环境,但是不控制目标的日常执行。
    • 专精:为每个人提供锻炼技能的条件,并对成长提供反馈。
    • 目的:将工程师连接起来,为公司的使命而奋斗。

    Katharina 还曾撰文介绍 Netflix 背后独特的运维理念。

    在Netflix,“自由与责任”的价值观体现的淋漓尽致。一方面,工程团队可以自由地向产品添加功能和服务,不需要审批和繁琐的程序。另一方面,作为产品的所有者,要负责服务的运维和支持。

    优势当然是各团队可以灵活快速地实现新功能。当然,有利就有弊,整个系统的规模也随之爆炸性增长,没有人能记着所有系统的所有变更。

    这种情况下,Netflix 是如何保证其服务的高可用性和用户体验的呢?秘密就在于 Netflix 的 CORE SRE 团队。

    SRE 是指 Site Reliability Engineer (网站可靠性工程师)。这个概念大家应该并不陌生。

    CORE 是几个单词的首字母缩写:Cloud(云)、Operations(运维)、Reliability(可靠性)、Engineering(工程)。一语双关,既可以看成“云运维可靠性工程”,也可以看成“核心”。

    这个团队非常小,不到 10 个人。虽然人少,但是都是骨干人才。可以把这个团队看作 Netflix 服务的中枢神经系统。这个团队是干什么的呢?

    他们要尽可能多的从整体上把握 Netflix 的系统,进而让系统更好、更可靠。具体而言,其工作是:

    1. 理解事故(incident);
    2. 发现事故和健康运维状况下的模式;
    3. 将模式转变成工具和最佳实践,防患于未然。

    理解事故

    事故发生时,SRE 往往是第一响应人。这个人要定位问题,深入了解事故,确定严重等级,看看应该找谁来解决问题。要找的人可能是服务的所有者,或者外部合作伙伴(比如设备供应商)。

    CORE SRE 团队要根据自己对整个系统的理解,决定在既定情况下,采用哪种缓解策略最好,比如把流量切到其他区域。

    发现事故和健康运维状况下的模式

    事故解决后,SRE 的工作才算真正开始。下一步是仔细研究事故,提很多问题。比如: 
    • 事故是什么原因导致的? 
    • 我们之前怎么做,能够避免这次事故? 
    • 是不是有某个最佳实践并没有遵守? 
    • 是不是团队遵守了某个最佳实践,但是没起到预期效果? 
    • 团队应该怎么做,以避免再次发生类似事故? 
    • 在事故发生时,我们掌握了哪些信息,能让我们更快地理解事故原因? 
    • 有什么工具可以帮我们降低事故严重性和持续时间? 
    • 这种问题之前发生过吗?有没有什么模式? 
    • 卷入事故的团队,是不是犯了更多主动失误?发生了什么?

    除了提问分析,还要分析事故数据,发现模式。

    将模式转变成工具和最佳实践,防患于未然

    让 Core SRE 团队和关键工程团队配合工作,一方面 SRE 团队可以更好地理解痛点,一方面也可以传达最佳实践等理念。

    工具建设,收集各方面指标,这个就不一一具体介绍了。

    在现场,Katharina 将为我们具体阐述背后的各种理念和做法。

    2018QCon全球软件开发大会北京站目前正在8折报名中,感兴趣的不要错过。有任何问题可咨询购票经理Hanna,电话:15110019061,微信:qcon-0410。

  • 相关阅读:
    电商平台开发笔记5.nuxt项目中深度选择器解决el-input高度设置无效
    电商平台开发笔记4.css选择器之~波浪号使用
    电商平台开发笔记3.nuxt全局css的引入
    电商平台开发笔记2.Nuxt增加对less支持,解决This relative module was not found报错
    电商平台开发笔记1.Nuxt项目创建+Eslint代码保存自动格式化
    vue-cli 4.x 发布前的一些优化
    VueCli 4.x npm run build后主页空白的原因及解决方案
    VSCode 保存时自动ESlint格式化
    git 常用操作笔记
    VSCode下手动构建webpack项目
  • 原文地址:https://www.cnblogs.com/linkenpark/p/8472368.html
Copyright © 2011-2022 走看看