Netflix的全周期开发者:从思维转变到自助工具

Netflix技术博客分享了Netflix边缘工程团队尝试采用新方法构建和运维服务的历程,最终产生了一种新的角色,叫作“全周期开发人员”。开发人员在交付服务的过程中也负责部分运营工作,他们经过培训,并可使用一系列自助服务工具。整体团队一起创建和维护平台和工具,但每个团队都可以自由地偏离“平地”。

\\

博客文章的作者Philip Fisher-Ogden、Greg Burrell和Dianne Marsh指出,软件交付生命周期的目的是优化“获得价值的时间”,以便有效地将想法转化为产品和服务。这与Dan North和Jessica Kerr的提议类似,即现代软件开发应侧重于“努力缩短交付周期以减少对业务的影响”。开发和运行软件服务涉及多方面的责任:设计、开发、测试、部署、运行和支持。传统上,这些责任被分隔开,并在组织内形成孤岛。这在《凤凰项目》中是一个典型的例子。

\\

这些特定角色在每个细分领域中带来效率,但在整个生命周期中可能效率低下。Netflix边缘工程团队负责视频流所需的第一层AWS服务,他们从DevOps原则中汲取灵感,重新思考了传统软件交付方法。特别是Gene Kim所推广的“DevOps三方法”,强调了系统思维、扩大反馈循环、培养持续实验和学习文化的重要性。

\\

边缘工程团队的新方法专注于“运营自己构建的东西”(就像亚马逊CTO Werner Vogel所说的:“你构建它,并运行它”),并将DevOps原则付诸行动,让开发系统的团队同时也负责系统的运维和支持工作。

\\

将这一责任分配给每个开发团队,而不是将其外化,从而创建直接反馈循环并调整激励措施。团队因此可以感受到运维的痛点,就会想办法改进系统的设计或代码来缓解痛点。他们需要对这两项职能负责。

\\

这种方法面临的挑战是,负责整个开发生命周期给开发人员带来额外的负担,并且往往需要学习新的技能。个人和团队在承担责任的同时也会感到倦怠。为了缓解这些问题,可以利用工具来简化和自动化相关的开发和运维工作。Netflix已经创建了集中式支持团队,比如“云平台”、“性能和可靠性工程”和“工程工具”,目标是开发出一个通用的平台和工具来解决每个开发团队的问题。这些工具中已经有很多作为Netflix OSS的一部分开源出来,如Spinnaker持续交付平台。

\\

思维方式的变化和公共基础设施和工具的创建相结合,于是出现了“全周期开发人员”。全周期开发人员应该要掌握软件生命周期所有领域的知识。转向全周期开发人员模式需要思维方式方式转变。一个全周期开发者需要像软件工程师(SWE)、测试开发工程师(SDET)和站点可靠性工程师(SRE)那样思考和行动。并非所有的开发人员都具备了相关技能,为此Netflix提供了相应的培训。此外,博客文章还讨论了并非所有的开发人员都希望这样工作,Netflix中还有其他更多特定的工作角色。

\\

e610a3fed4dab06b7e8b219e5d1643b5.png

\\

全周期开发人员(图片来自Netflix技术博客

\\

博客文章警告说,要在Netflix之外应用此模型,需要作出必要的调整。行业思想领袖Gareth Rushgrove强调要避免盲目崇拜和盲目复制“软件独角兽”公司的最佳实践,他在2016年的演讲“Two Sides of Google Infrastructure for Everyone Else”中提出了这一观点。正如Matthew Skelton和Manuel Pais(InfoQ编辑)在“DevOps团队拓扑”网站上所讨论的那样,现在已经有很多方法和各种组织结构用于解决开发和运维问题。

\\

对于希望采用全周期方法的组织,Netflix博客作者建议从分析潜在价值和相关成本开始,然后进行思维转换。 Netflix博客上提供了很多相关信息,网络上也有很多相关信息,还有很多基于开源和SaaS的平台和工具解决方案,它们可以满足很多公司的需求。归根结底,最重要的是保持简单:“搞清楚你的需求是什么,并把复杂性降到最低。”

\\

查看英文原文Full Cycle Developers at Netflix: From Mindsets to Self-Service Tooling

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值