BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Daniel Bryant 关注 760 他的粉丝 ,译者 无明 关注 3 他的粉丝 发布于 2018年6月22日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

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中还有其他更多特定的工作角色。



全周期开发人员(图片来自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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT