前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >平台工程实践之Netflix 的开发人员生产力工程实践

平台工程实践之Netflix 的开发人员生产力工程实践

作者头像
灵雀云
发布于 2023-11-24 07:35:13
发布于 2023-11-24 07:35:13
2220
举报

平台工程实践是指在组织内部建设和维护一个可供多个团队共享的技术平台。这个平台为团队提供了共享的基础设施、工具、库和服务,以加速开发周期、提高生产力并降低重复性工作的成本。

在Netflix,非常重视平台工程的实践,它致力于抽象化和标准化各种技术组件,以使开发人员能够专注于业务逻辑和创造性工作。并非每个团队都要成为 Netflix,但了解他们如何开展平台工程的,可能会对您的团队有所帮助。

近年来,科技行业对开发者生产力指标的关注度持续增加。然而,仅通过定量指标来评估生产力可能会带来一些负面影响。许多开发者对生产力工具有疑虑,甚至在裁员风波尚未平息的环境下可能会选择不使用这些工具。

尽管开发者的生产力指标在理论上可以为团队提供有价值的洞察,帮助了解开发进度、资源利用以及团队整体效能,但正确使用这些指标并避免潜在的负面影响是一项具有挑战性的任务。

事实上,已有研究表明,快乐的开发者更具生产力。因此,任何可能削弱开发者愉悦感的因素都可能降低生产力。

开发者的工具和工作环境对他们的体验和幸福感有显著影响。如果开发者感到沮丧、不满或情绪低落,他们的动力和创造力会受到影响,进而影响到他们的生产力。因此,为了提升生产力,需要关注开发者的体验和幸福感。

以团队为中心的方法可以更好地提高工作效率、促进团队合作。它强调解决整个团队面临的问题,提升协作和交付能力,而不仅仅关注个别开发者的表现。这种方法有助于建立组织中的心理安全环境,鼓励开放的沟通和创新。

与此同时,开发者生产力工程团队更加注重提升开发者的个人能力,而不仅仅是追求数据指标。他们致力于提供优质的开发工具、技术支持和培训,使开发者能够更加高效地开展工作,并从工作中收获成就感。

像Netflix、Google、LinkedIn、Spotify和Atlassian这些组织已经意识到,通过量化指标来了解平台团队对开发者生产力的影响,可以为改进工作流程、提高开发效率和更好的开发体验提供有价值的见解。

接下来,我们一起学习工程典范Netflix是如何组织其独特的开发者生产力平台的,希望您可以从中得到一些启示。

Netflix独特的生产力平台

Netflix 的生产力平台是非常独特的,是一套复杂的团队拓扑结构。

首先,Netflix有一个由150人组成的集中式平台团队,他们的任务是“创建工具、平台和基础架构,以抽象化的方式处理所有复杂的问题,使能开发者社区,使开发者能够专注于他们的优势领域并更好的开展工作。

在“hub and spoke model”的架构下,Netflix设置两支团队。一支是由80人组成的开发者生产力工程团队,也叫平台团队。他们主要负责内部开发循环,包括构建、测试、编码、持续集成,此外,他们还关注端到端的开发者体验,源代码控制和依赖管理等方面,以确保开发流程的顺畅和高效。另一支团队则负责交付可观测性和站点可靠工程。在这种模式下,开发者不需要深入了解计算、网络和存储等细节,只需关注开发业务逻辑。

这看似是一种新兴的架构模式,实质上部分集中式基础设施早在几年前就已经存在了 。Netflix 平台团队的核心任务是将任何分散开发者注意力的因素抽象出来,让开发者能够专注于工作并保持流畅状态。

Netflix 平台团队(包括产品管理和内部客户支持)约有 450 人,为 2500 名工程师以及500名数据工程师提供支持。大多数拥有成熟平台工程团队的组织中,这样的角色分配比例不到 10%,而 Netflix 达到了 15%。

Netflix内部的“客户“支持模式

内部“客户“支持模式是指:一个团队专门负责处理一级和二级的内部支持,而更专业的平台工程人员只需处理棘手和复杂的问题,无需花费大量时间来确保平台的正常运转。这种模式的核心是让团队成员能够专注于解决复杂问题,而通过专业的内部客户支持团队来处理日常的支持任务,进而提高整个团队的效率和生产力。

Netflix的内部支持工程师是经过专业培训上岗的,负责处理一级请求和二级请求。一级请求是帮助开发人员找到并使用最适合的工具,二级请求则是深入调试,帮助人们解决更复杂的工具问题。三级请求是深入了解底层基础设施的特殊情况。这种分级支持模式能够有效地处理不同级别的支持任务,提高解决问题的效率。

然而,在基础支持团队规模和专家团队规模之间达到平衡是很难的。但即便如此,Netflix还是通过这种模式实现了让平台工程师发挥10倍效能的目标。它的成功表明,将内部支持任务外包给专业的内部支持团队是一种有效的策略,能够高效地提升开发团队整体的生产力。

Netflix 如何评估开发人员的生产力

Netflix会综合评估开发人员的生产力,除了跟踪DORA和其他定量指标外,还补充了很多定性的问题,包括通过用户调查和了解开发者工作的困难程度。Netflix利用了2021年问世的SPACE开发人员生产力框架,该框架提出25个社会技术因素,分为五个类别:满意度和幸福感、绩效、活动、沟通和协作、效率和流程。

Netflix的开发人员生产力工程团队会跟踪平台的使用情况,例如:

  • 使用平台是否令人愉快?
  • 如果您离开Netflix,您是否舍不得离开该平台?
  • 您是否会因为这个平台很好而推荐您的朋友来Netflix工作?
  • 该平台的效能如何?
  • 该平台的bug率如何?

不仅如此,Netflix的平台团队还会根据他们服务的团队和平台的不同,设置一些特定的问题。例如问Java开发人员:

  • 平台生成应用需要多久?构建时间多久?
  • 执行测试套件需要多长时间?
  • 您是否信任可观测性工具?
  • 您能否一眼就判断出系统的运行状况?
  • 在客户发现问题之前,您是否能提前知道问题的存在?

这些问题旨在了解Netflix的平台团队提供的工具是否让开发人员满意,通过调研反馈的情况帮助平台团队进行改进和优化。

Netflix的黄金路径

Netflix在面临着各种不同的需求和挑战时,他们需要在基础设施方面提供足够的支持,以确保业务的顺利进行。他们努力为各种业务场景提供稳定可靠的平台,以满足公司业务的不断增长和创新需求。

在过去两年里,Netflix的基础设施团队不仅服务电影制作和流媒体领域,还广泛扩展了他们的业务范围,适应全新的游戏、广告和直播等业务的技术需求。游戏业务需要为开发人员提供便利的创作环境以确保业务快速上线,而直播则需要高可用性、低延迟和弹性。

同时,在不同的“客户“组织中,Netflix会建立不同的平台团队,为特定用户群体打造适合业务的平台。这样做不仅能满足不同客户群体的需求,同时也可以保持整体平台的可扩展性。

目前,Netflix的开发者生产力团队负责多种不同的工具和平台,因此他们正努力将这些工具整合起来,打造一个集中的内部开发者门户,以提供一致的用户界面和开发者体验。

Netflix也还有需要改进的地方

通常情况下开发人员对文档的需求度是非常高的,但他们却很难养成持续为文档做出贡献的习惯。这是因为开发人员更倾向于将精力集中在代码上,而忽视了编写文档的重要性。Netflix内部也是如此。

与此同时,还存在一个普遍现象,即平台工程师通常自信地从自己的角度出发编写文档,而非站在用户的角度上,这导致用户在理解和使用相关功能时常常难以理解。

为了解决这些挑战,Netflix会努力提醒工程师们重视自身责任,引导他们编写全面且适用的文档,并将编写文档纳入必须“完成”的任务当中。并鼓励工程师从客户的角度思考,将文档的重点放在解释和满足用户需求上。同时通过加强文档编写的指导和培训,建立与用户的沟通渠道,进而提高文档的质量和准确性。

Netflix也在努力寻找合适的方案解决问题。他们正在设计建立一个正确的信息架构,将所有内容整合到一个可索引、可搜索、且符合规范的工具中,这一努力将有助于提高文档的整体质量,并使开发者更轻松地查找到所需的信息。将所有内容整合到一个工具中,并为开发者提供易于搜索和发现的文档资源,将提升开发者的体验并加强他们在使用文档时的工作效率。

Netflix如何在内部推广平台工程

Netflix 平台团队也会遇到平台工程策略中很常见的问题——如何传递平台工程的价值?

Netflix平台团队面临的挑战包括宣传和营销其平台的好处,并使客户能够轻松地进行迁移以适应新的库、工具或框架。另一个关键问题是确保应用和数据团队不超过长期支持窗口支持期限,以避免引入安全漏洞等风险。

为了解决这些问题,Netflix正在加倍努力使迁移变得更容易,并持续更新和部署整个平台。这需要与技术债务进行斗争,并努力将维护工作保持在较低水平以减少技术债务。

此外,随着开发人员生产力工程的崛起,整个行业都将受益。人们开始从高质量、愉快体验的角度考虑平台建设,这是过去没有引起足够重视的。创建令人愉悦、稳定可靠的平台是首要任务,设计师的参与也至关重要。Netflix 平台团队已经非常重视这个问题,也希望更多团队开始关注这些方面。

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

本文分享自 云原生技术社区 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Netflix的开发者生产力工程
并非所有的团队都能达到Netflix的高度,但了解他们如何进行开发者生产力工程仍可能对你的团队有所帮助。
云云众生s
2024/03/28
910
平台工程:降低认知负担,改善开发人员体验提升企业的数字生产力
平台工程是一种组织和帮助工程师工作的方法,而平台只是其中的一个组件。平台工程战略是一些大型企业IT战略的重要组成部分。然而,如果采用传统的管理方法,不借助平台工程专家或平台工程人才支持,企业很难真正获得成功,同样,平台的业务价值也很难体现。受以下相关发展趋势的影响,平台工程的重要性日益凸显:
DevOps在路上
2024/07/10
2700
平台工程:降低认知负担,改善开发人员体验提升企业的数字生产力
平台工程减轻认知负荷,提升开发者生产力
平台工程是通过设计并构建工具链和工作流程,提供自助服务能力,以降低软件开发的复杂性。
云云众生s
2024/03/27
1350
大型企业的云迁移与平台工程
了解平台工程策略中哪些部分是相同的,无论组织规模如何,以及大型组织需要关注哪些方面。
云云众生s
2024/03/28
1520
大型企业的云迁移与平台工程
衡量开发人员生产力的3个关键指标
可以理解,企业对 AI 编码助手提高软件开发人员生产力的潜力感到兴奋。在 GitLab 最近的一项调查中,83% 的受访者表示,在软件开发流程中实施 AI 至关重要,以避免落后。
云云众生s
2024/03/28
1930
使用 Linkerd 大规模 mTLSing 服务而不影响开发人员的生产力
作者:Christian Hüning,Finleap Connect 云技术与 Switchkit 总监
CNCF
2022/03/28
3830
使用 Linkerd 大规模 mTLSing 服务而不影响开发人员的生产力
平台工程师:开发人员是您的客户
本文翻译自 Platform Engineers: Developers Are Your Customers。
云云众生s
2024/03/27
1150
平台工程师:开发人员是您的客户
平台工程团队的四个北极星指标
DX核心4开发者生产力框架结合了DORA、SPACE和DevEx指标,在平台工程和业务之间建立了一种共同语言。
云云众生s
2024/12/13
1060
平台工程团队的四个北极星指标
传奇 Netflix:全周期开发人员 – 运维你构建的内容 | 译文
这一年是2012年,在 Netflix 运营关键服务非常辛苦, 部署感觉就像穿行湿沙。 Canarying 正在开始验证耐力(“在一周狂欢后,没有什么能够打破,让我们推动它”),而不是正确的功能。 研究问题就像在团队之间弹跳球一样,很难找到根本原因并且难以阻止问题彼此之间的“弹跳”。 所有这些都是需要改变的迹象。 快到2018年,Netflix 已经发展到全球1.25亿名会员,每天可观看1.4 亿多个小时。 我们为改善工程团队的开发和运营工作投入了大量资金。 在此过程中,我们尝试了许多方法来构建和运营我们
DevOps时代
2018/06/22
5950
平台团队:采纳七种提升开发者生产力的方法
“代码简洁”和“理解软件”的作者、领英公司的马克斯·卡纳特-亚历山大就平台工程团队常见的错误提出建议。
云云众生s
2024/03/28
1520
Self-Service: 开发人员可以获得哪些好处?
今天,许多程序员花费比以往更多的时间手动解决相同的问题。这种手工工作既乏味又容易出错。开发者自助服务已经成为软件开发的大趋势,而且没有回头路。许多开发人员更愿意将时间花在他们喜欢的事情上:编码,而不是花在设置/维护基础设施、配置管理和版本控制等日常任务上。
DevOps云学堂
2022/10/04
6020
Self-Service: 开发人员可以获得哪些好处?
2025年开发者生产力:更多AI,但结果喜忧参半
2024年,领导层对AI辅助开发者生产力的预期与开发人员的实际需求之间出现了不匹配。今年将会带来什么?
云云众生s
2025/01/04
590
GitHub每日300亿消息处理量的开发者生产力
GitHub以其独特的全球影响力,对开发者体验有重大作用。那么,GitHub是如何衡量开发者效率的呢?我们与GitHub高级工程总监Akshaya Aradhya进行了交谈,以了解她的团队如何提高整个科技公司的开发效率。
云云众生s
2024/03/28
1360
平台工程是一个值得跟上的热门趋势
平台工程不仅仅是关于工具链或内部开发者平台。在其核心,它是一门可以提高开发者生产力的学科。
云云众生s
2024/03/28
1370
敏捷、DevOps、平台工程的混乱阻碍了开发人员
作为一家大型全球咨询公司,UST 专注于帮助公司创新和改进技术交付,其大部分工作源自 DevOps 实践。在与客户合作时,该公司经常会遇到一些问题,例如如何在提高代码质量和工程师参与度的情况下缩短上市时间。
云云众生s
2024/05/09
1380
Meta 引入了一个衡量开发人员生产力的新指标:编写时间差异
对于了解和提高软件开发工作流程的效率,跟踪开发人员的生产力指标至关重要。在快节奏的工程环境中,哪怕是很小的生产力低下也会累积起来,影响整体的交付时间和代码质量。利用精确的指标,企业可以找出瓶颈,评估新工具的影响,并做出数据驱动的决策,提升开发人员的体验。
深度学习与Python
2025/04/13
1270
Meta 引入了一个衡量开发人员生产力的新指标:编写时间差异
平台工程和ChatGPT会让运维们失业吗?
作者 | 李倩 & 杨振涛   如今,在 Kubernetes 上构建应用程序的开发人员,不仅要写代码还要负责交付和运维等。而 CNCF 云原生的 Landscape 已经有 1000+ 张卡片,覆盖应用定义与开发、编排与管理、运行时、配置、平台、可观测性与分析等,开发人员“认知负担”越来越重,所以企业需要从 2023 年开始更关注开发者体验,去聚焦开发者平台的相关建设,提供好用的工具集合或平台工程。 于是,InfoQ 发起了一场《极客有约》特别栏目《云原生趋势下的平台工程》。在 4 月 3 日的节目中,
深度学习与Python
2023/04/21
3760
平台工程和ChatGPT会让运维们失业吗?
Netflix 是如何利用联合平台控制台统一工程体验的
作者 | Brian Leathem 译者 | 张卫滨 策划 | Tina 摘要 为了解决开发人员在日常工作中,面对工具和服务碎片化所带来的效率下降,Netflix 的 Brian Leathem 团队开发了一个联合平台控制台,统一了开发人员的工程体验。 本文最初发表于 Platform Engineering 网站,由 InfoQ 中文站翻译分享。 大多数开发人员的日常工作都是低效的,主要是因为他们在构建、运行和扩展应用的时候,会使用数十种碎片化的服务和工具。这种低效在无意间会导致生产力的损失。对
深度学习与Python
2023/03/29
4340
Netflix 是如何利用联合平台控制台统一工程体验的
平台工程真的只是API治理吗?
平台工程或 API 治理,叫什么重要吗?绘制并标准化您的 API,以便在内部轻松访问和重复使用。
云云众生s
2024/04/17
970
开发者不懂产品运维的痛?Netflix想让你亲自做运维试试看!
大数据文摘出品 编译:朱一辉、涂世文、Aileen 你也常常遇到这个令人头疼的事吗?每次产品出现问题,开发团队和运行维护团队就开始互相踢皮球,很难直接定位问题所在。全周期开发模式是一条看起来艰难,但是值得去探索的道路。 本文来自付费视频网站Netflix的开发者博客,介绍了Netflix如何从软件生命周期开始思考,优化服务的开发和运营流程。2018年,Netflix已经发展成为拥有1.25亿全球用户,每天超过1.4亿小时的浏览时长的流媒体巨头。希望他们踩过的坑能对你有所启发。 整个团队的心路历程 Edge
大数据文摘
2018/06/29
4910
推荐阅读
相关推荐
Netflix的开发者生产力工程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档