通常情况下,开发者体验(DevEx)的实践开始于单个开发者建立一个他们认为在日常工作中有用的工具,然后与同事分享它。随着开发人员数量的增加,这种方法开始变得难以扩展--这时可能会成立一个平台团队来构建其他开发团队使用的工具。这种方法在一段时间内运行良好,但后来,正如Spotify所发现的那样,它开始遇到扩展限制。 "

如果我们倒退到2016年左右,Spotify正处于超速增长模式,并以惊人的速度招聘工程师,"平台开发人员体验部落负责人Pia Nilsson告诉WTF,"但当我们看我们的开发人员生产力指标时,尽管所有新员工,他们并没有变得更好。事实上,我们的入职指标一直在上升,这意味着新员工在相当长的一段时间内无法做出有意义的贡献。"

Spotify有一个高度自主的工程文化,工程师们已经在从单片机迁移到微服务的道路上走得很好。此外,"平台组织正在发明一整套新的工具供我们的工程师使用",尼尔森说。但是有一个问题--工具 "分散在许多不同的网站上,如果没有事先了解,很难找到很多。

在这种情况下,你需要某种集中的解决方案,但在像Spotify这样高度自治的文化中,你怎么能让它发挥作用呢?为了解决这个难题,尼尔森解释说:

"我们采用了以人为本的产品开发视角,将其应用于Spotify的任何消费者产品,对我们的工程团队进行了用户研究,并询问是什么阻碍了他们。有两件事情一直在出现:

  • 不断的中断和作为增长的副产品的上下文切换(人们转移团队,填补空白,新加入的人问问题等等)

我们知道我们必须用一个集中的解决方案来解决这个问题,但我们也知道一个自上而下的集中方法不适合我们的文化。我们还想知道更多关于服务的信息,而不仅仅是它们被部署在哪里。比如说。它是否在生产中运行?文档在哪里,是不是最新的?谁拥有这项服务?如果出了问题,我们该和谁联系?

因此,在最基本的层面上,我们需要一个全公司范围的资源库,在那里有人可以找到他们需要的一切,但没有人必须使用任何东西。当我们寻找时,没有现成的解决方案可以在我们的规模下使用。我们必须自己建立它,我们必须使它具有粘性、用户友好性,并且能够与我们已经很庞大的代码库一起扩展

进入Backstage

Spotify的解决方案是Backstage,这是一个开发者门户网站,它将工具、服务、应用程序、数据和文档与单一的、一致的UI层统一起来。该公司在2020年3月将其开源,现在它是云原生计算基金会主持下的一个孵化项目。

"Spotify建立Backstage来控制我们的软件混乱,"Nilsson告诉我们,"这改变了一切--调整分布式的自主文化,并将数百个团队、数千名工程师和数万个软件组件聚集在一起。现在,Spotify的后台能够实现更好的协作,释放集体潜力,并使个人和团队能够做他们最擅长的事情。"

"后台解决了那种可能真正使工程师和他们的团队陷入困境的日常复杂性,"Nilsson说,"这将使你的整个组织变得缓慢。"她继续说:

"开发人员比以往任何时候都能接触到更多的技术,这也带来了比以往更多的责任。无论在小公司还是大公司工作,工程师都要与警报、监控、安全、合规、文档、Kubernetes、访问控制、云提供商控制、数据和ML管道、移动应用/组件、其他团队拥有的服务和库等系统对接。所有这些东西都有自己的界面和做事方式--在这些不同的环境中导航、搜索东西、拍打别人的肩膀寻求帮助,最终都会导致实际写代码的时间减少。

基于Backstage平台建立的开发者门户将所有东西放在一个地方,有一个根据公司的软件产品目录和开发者的团队背景定制的单一界面。因此,与其在所有这些不同的工具、仪表盘、系统和用户界面之间切换,不如用一个前端来处理所有这些东西--单一的玻璃窗。围绕你的生产软件为你的工程师建立一个中央枢纽,为你的技术基础设施建立一个一致的、有凝聚力的用户体验,释放出许多不同的东西,包括速度、改善协作,甚至只是更顺利的一天。

后台作为一个产品和平台,实际上是为工程师创造一个更好的体验--简化他们的工作流程,使其更容易分享知识,并使基础设施的混乱部分摆脱他们的方式。它使他们能够更好地专注于建立商业价值:创新的产品和功能。

尊重文化

我们在本期《WTF是云原生》的其他部分已经指出,工程文化是DevEx的重要组成部分,在像Spotify这样高度自治的文化中(或者实际上是金融时报的文化),你不希望必须强制执行标准化。在Spotify的案例中,"我们没有反对我们的文化,而是与之合作,在Spotify内部创建了一个内部源码贡献的市场",Nilsson说:

"在这个市场上,开发者可以通过Backstage的180多个(还在增加)插件,为他们遇到的共同问题贡献解决方案,其他人可以采用它们。这也是Backstage在开源背景下的价值和可定制性的原因,扩展Backstage功能的插件可以来自社区,也可以完全是你的组织内部/定制的。

Backstage通过帮助人们找到正确的解决方案,而不是强制他们。这对开发者的整体效率和幸福感有很大贡献--我们不遗余力地从质量和数量上进行衡量。

Spotify团队使用一些指标来评估Backstage带来的价值。"在Spotify,我们的北极星指标是减少新加入者的入职时间",尼尔森说。"具体来说,我们衡量的是合并第10个拉动请求的时间,从Backstage之前的60天到之后的不到20天。我们还关注我们内部版本的Backstage的其他一些重要的代理指标,从我们的季度开发者调查的反馈到更传统的指标,如每日活跃用户"。

开源的力量

Spotify也从他们决定将其作为开源发布中获得了巨大的优势,据Nilsson说:

"让我们想象一下,两年前我们没有将Backstage开源,而是将我们从外部社区获得的相同数量的内部资源投入其中。(顺便说一下,基于迄今为止巨大的社区参与,这将是一个巨大的投资和棘手的资金问题)。它仍然不会是一个像今天这样好的产品。观点和用例的多样性改善了产品,使其更加强大,并使平台能够跟上特定公司内部和外部的变化步伐。另外,如果我们没有开源,我们将是唯一使用和依赖Backstage的人。

所以,我们有很大的动力去做最好的平台,不仅仅是为我们自己,也为其他公司

一个例子是Backstage Search。我们在Spotify的Backstage内有搜索功能,但项目维护者并没有仅仅开放我们的内部版本,而是询问社区的需求,并合作开发了一个版本,允许采用者设计和建立一个最适合他们组织需求的搜索工具。这种方法不仅为社区创造了一个更好的搜索工具,而且也为我们创造了一个更好的搜索工具。从这个意义上说,越多的公司发现Backstage的价值,Backstage给我们Spotify带来的价值就越大。

除了开发团队的日常使用,Backstage在Spotify内部的数据科学、机器学习和设计团队中的应用也越来越多。他们用它来创建新的组件,编写文档,发现哪个团队拥有哪个服务,并向黄金路径看齐。

在Spotify之外,Backstage也有相当的影响。在近200家公开采用的公司中,你会发现英国在线挑战者银行Monzo(我们在WTF的其他地方采访过他)、美国航空公司和金融科技创业公司Brex,以及像Expedia集团、HelloFresh、Netflix、Unity、Peloton、Splunk、Wayfair、Zalando、HBO Max、IKEA和HP等公司。

VMWare正在使用Backstage建立Tanzu应用平台的GUI;第三方软件供应商如FireHydrant和Snyk正在建立他们自己的插件,并将它们添加到Backstage开源插件市场,而Roadie正在为Backstage提供托管/管理服务。

总的来说,Backstage现在在全球有1500多个贡献者,已经有60多个开源插件。Discord频道有6000多名成员,维护者在帮助贡献者,贡献者在帮助新人。

核心维护者目前每周管理100多个拉动请求,其中大约80%来自非维护者贡献者,这80%中的一半来自外部采用者公司。"在这一点上,可以说核心维护者主要集中在推动开源项目的发展方向以及核心组件的稳定性和成熟度,而大大小小的创新则主要来自社区",Nilsson说。

【翻译】开发者体验门户 后台 如何解决Spotify的复杂性问题相关推荐

  1. 【翻译】小组讨论。开发者体验的下一步是什么?

    当你投资于开发人员体验(DevEx)时,你可以感受到开发人员的生产力和幸福感,并因此获得利润和保留. 在我们与Suhail Patel.Hannah Paine.Crystal Hirschorn.C ...

  2. 数字技术战略:开发者体验 —— 内部工具的“最后一公里”

    这是一篇迟来的文章,我本应该在很早之前写完,但是一直都发现时机不够成熟.去年,在经历了多个低代码前端项目的售前,以及一个低代码项目的技术实践强化,国内的 IT 企业缺乏对于『开发者体验』缺乏系统性的思 ...

  3. IM推送保障及网络优化详解(一):如何实现不影响用户体验的后台保活

    对于移动 APP 来说,IM 功能正变得越来越重要,它能够创建起人与人之间的连接.社交类产品中,用户与用户之间的沟通可以产生出更好的用户粘性. 在复杂的 Android 生态环境下,多种因素都会造成消 ...

  4. 阿里YunOS推开放平台 提高开发者体验

    本文讲的是阿里YunOS推开放平台 提高开发者体验[IT168 云计算]10月15日,在由杭州市政府和阿里巴巴集团联合主办的"2015杭州·云栖大会"上,阿里巴巴集团旗下YunOS ...

  5. Domo 提供与 Snowpark 的集成,Snowflake 的全新开发者体验

    Domo 业务云的提供商 Domo 正在为数据云公司 Snowflake 的新开发者体验 Snowpark 提供支持. 该集成旨在提供联合解决方案,使开发人员.数据工程师和数据科学家更容易在整个企业中 ...

  6. 夜天之书 #64 开发者体验的基础设施

    本文演绎自 Kenneth Auchenberg 的 Developer Experience Infrastructure (DXI)[1] 博客. 原文提到,现在大部分号称以开发者优先为理念建设基 ...

  7. Discuz! X3.2新增管理员无法登录后台的解决办法

    老网站在换空间的时候,遇到了以前的管理员,也是创始人,无法登录的情况,具体现象如下: 网站以前有个老的管理员号前台登录没问题,可是在后台登录时,输入帐号密码,确定后,,用户名和密码两个文本框置空,不能 ...

  8. 阿里云插件新版发布,多特性助力提升开发者体验

    好消息!阿里云 Cloud Toolkit 新版本于近日正式发布,推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,多个重大特性,持续提升开发者体验,本文将带大家快速预览该新版本. ...

  9. Azure 物联网开发者体验 7 月更新:边缘计算开发工具,ARM64 设备开发,VS Code 容器化开发工具...

    欢迎来到 Azure 物联网开发者体验的 7 月更新! 在本次发布中,微软为物联网开发人员提供了许多新的功能和改进! 物联网边缘计算开发工具正式发布 Azure IoT Edge 于 2017 年发布 ...

最新文章

  1. mysql服务器(二)
  2. 电脑设置 win10 文件夹如何设置黑色描边?文件夹图片如何显示缩略图?
  3. Python日志详解【两篇就够了系列】--第一篇logging
  4. WebDriver原理分析
  5. SpringBoot 使用unoconv 在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件
  6. java azure blobs sas_使用 Java 的 Azure 存储示例 | Azure Docs
  7. 【Spark】SparkStreaming之windows操作
  8. [leetcode] 95. 不同的二叉搜索树 II
  9. Java 学习第一天
  10. hot编码 字符one_使用字符级RNN进行名字分类
  11. mysql2008完全卸载教程_完美卸载SQL Server 2008的方法
  12. 前端图片文件压缩方案
  13. 【汇编】2、从汇编源码逐步分析函数调用过程
  14. Python中条件判读语句if的使用详解
  15. Vue设置浏览器title-icon
  16. 移动路由器做网站服务器,移动路由器上网方式选哪个?
  17. Linux 中 Permission denied
  18. win7桌面计算机丢失,windows7电脑系统文件丢失怎么办
  19. python 文件夹拷贝
  20. 中鑫优配谨防黑周四出现这种走势!

热门文章

  1. 安卓dumpsys SurfaceFlinger输出示例
  2. 章鱼输入法 v4.5.7.3
  3. qt for s60 资料集
  4. 阿里天池大赛-工业蒸汽预测
  5. 条码打印机跳纸是怎么回事
  6. 在 Kubernetes 中使用 Keycloak OIDC Provider 对用户进行身份验证
  7. anemometer mysql 500_【Mysql】Anemometer-可视化慢sql查看
  8. 为什么说“水果焦虑”是个伪命题?
  9. java中Hashset集合删除元素_从Java中的HashSet中删除单个元素
  10. 帝国cms插件|支持7.5/7.2 移动同步生成插件|帝国多端访问必备插件