构建软件开发生态:内部开发者平台与自服务框架深度解析

本文深入探讨了通过内部开发者平台(IDP)和自服务框架提升开发效率与治理的策略。文章以Spotify的Backstage为例,分析了标准化的“黄金路径”如何平衡开发自主权与组织管控,并讨论了AI工具集成对未来开发体验的影响。

一个软件开发自服务框架

保持软件开发人员的满意度是IT项目成功的关键要素。开发人员自服务是未来的发展方向,但需要设置适当的“护栏”。

软件开发与“不重复发明轮子”的理念相关,这意味着开发人员通常会选择具有预制功能的组件或软件库,而不是编写代码来实现相同的结果。

这种方法有很多好处。例如,一个广泛部署的软件组件很可能已经过广泛的测试和调试。它被认为是经过考验、值得信赖的成熟技术,这与未经彻底调试并可能无意中将未知的网络安全问题引入业务的全新代码不同。

乐高积木的类比常被用来描述这些组件如何组合在一起构建企业应用程序。开发人员可以利用通过应用程序编程接口(API)提供的功能,这些接口为软件库和组件提供了编程访问。

在数据驱动应用和人工智能(AI)更广泛使用的时代,通过API访问数据源日益成为开发人员可以用来创建新软件应用程序的另一个“乐高积木”。正如使用一套传统的乐高积木一样,从众多可用的软件组件构建应用程序,取决于软件开发人员的创造力。

应用开发的乐高模板

进一步延伸乐高类比,可以鼓励开发人员遵循指令、模板和路径来构建符合企业政策的企业软件。

Omdia的IT运营首席分析师Roy Illsley将内部开发者平台(IDP)定义为一个开发人员自服务门户,用于访问IT战略定义的、组织应标准化的工具和环境。他表示:“开发人员自服务平台为组织提供了一种方式,为其开发人员提供几乎预先授权的资产、工件和工具,供他们用于开发代码。”

基本理念是提供一个带有合规工具套件的治理框架。CCS Insight的企业研究主管Bola Rotibi表示:“开发人员自服务平台实际上是试图建立一条治理路径。”

Rotibi将该平台视为一条“黄金路径”,它为技能不如经验丰富的同事的开发人员提供了一种方法,使其能在允许一定程度的灵活性和创造性的治理结构内快速推进工作。

至于为何向开发人员提供灵活性是一个重要的考虑因素,这属于开发人员体验和生产力的范畴。SnapLogic本质上提供了现代化的中间件。它被用于数字化转型项目中以连接不同的系统,并且目前正重新定位以适应代理式AI时代。

SnapLogic的首席技术官Jeremiah Stone表示,他们与之交谈过的许多自认为是业务转型领导者的公司,都将提供自服务的开发者门户视为与数字基础设施和AI驱动计划齐头并进的事物。

SnapLogic的平台通过一个名为Dev Hub的开发者门户,提供API管理、服务生命周期管理、版本控制和文档管理。

引入Backstage

在开发人员自服务领域,一个似乎已俘获开发者社区人心的平台是Backstage。Backstage最初在音频流媒体网站Spotify内部诞生,现在是由云原生计算基金会(CNCF)管理的开源项目。

Spotify的工程高级总监Pia Nilsson表示:“在Spotify,我们认识到启用开发人员自服务始于标准化。传统的集中式流程会造成瓶颈,但完全的去中心化可能导致混乱。关键在于找到中间地带——通过设计实现标准化,用自动化和清晰的工作流程取代手动监督。”

拥有两百万开发人员使用的Backstage,是一个用于构建内部开发者门户的开源框架。Nilsson表示,Backstage为所有开发活动——工具、服务、文档和数据——提供了单一、一致的入口点。她说这意味着“开发人员可以在保持与组织标准一致的同时快速行动”。

Nilsson指出,标准化构成企业技术栈的组件群有时被视为一项大型迁移工作,需要将所有人迁移到单一版本或将产品整合为一个。然而,她说:“虽然这是标准化组件群的关键部分,但更重要的是要找出组织保持其精简的内在驱动力,并学会‘自我修复’技术碎片化。”

根据Nilsson的说法,这就是为什么将内部构建的所有工具以及企业购买的所有开发者工具集成到同一个IDP中非常重要。她指出,这样做可以非常容易地发现重复。“工程师只会使用他们喜欢使用的东西,而我们通常喜欢使用我们自己构建的东西,因为它正是我们所需要的,”她说。

Backstage作为一个框架的事实,是IT领导者需要考虑的。在最近的一篇博客文章中,Forrester的分析师Christopher Condo和Lauren Alexander警告说,大多数IDP都是需要组装的框架:“虽然许多实施Backstage的团队认为这将是对其DevOps实践的简单、免费的补充,但情况并非总是如此。Backstage可能很复杂,并且需要工程专业知识来组装、构建和部署。”

然而,Forrester也指出,现在已有商业IDP选项,它们在Backstage之上包含一个编排层。这些为一些组织提供了可能更合适的另一种选择。

IDP中的AI

除了组织如果不购买商业IDP需要进行组装之外,AI正在革新软件开发,其影响需要在围绕开发人员自服务和IDP做出的任何决策中被考虑进去。

Spotify的Nilsson认为,IT领导者需要弄清楚如何以对其公司最具影响力的方式支持AI工具的使用。“今天,既存在未能充分利用AI工具或其在公司内部分布极不均匀的风险,也存在一些团队屈从于潮流、向生产环境发布低质量代码的风险,”她说。

根据Nilsson的说法,这就是为什么负责IDP的IT团队需要推动这些工具的采用并评估其长期影响。“在Spotify,我们通过教育和黑客周来推动广泛的AI采用,这些活动通过我们的产品Skill Exchange进行推广。我们还帮助工程师使用上下文感知的代理式工具,”她补充道。

展望未来

在AI工具方面,开发人员自服务可能演变方向的一个例子是SAP似乎正通过其Joule AI副驾驶工具所采取的方向。

CCS Insights的Rotibi认为,将AI集成到开发者工具和平台的趋势是开发人员自服务平台的一个机会领域。Rotibi在最近于柏林举行的SAP TechEd会议上看到的感兴趣的话题之一,是AI在SAP Joule中的应用。

SAP宣布了Joule中的新AI助手,称其能够跨工作流、部门和应用程序协调多个代理。根据SAP的说法,这些助手可以规划、启动并完成跨越财务、供应链、人力资源等领域的复杂任务。

“SAP Joule是一个AI界面。它不仅仅是一个聊天机器人。它也是一个工作台,”Rotibi说。鉴于Joule可以访问SAP产品套件,她指出,除了提供访问权限,Joule还理解这些产品。“它知道SAP开发的所有功能和特性,并且在幕后使用最佳数据模型来获取用户想要的数据点,”她说。

认识到企业软件开发人员会希望构建自己的应用程序并在不同软件之间创建自己的集成,她说SAP Joule有效地扮演了SAP产品套件的开发人员自服务门户的角色。

除了AI驱动功能的未来发展,提供开发人员自服务以改善整体开发体验还有许多好处,但需要有结构和标准。

Nilsson说:“当结构、自动化和可见性被构建到开发人员体验中时,你就用流畅性取代了瓶颈,并创造了一个团队能够快速、自信和负责任地进行创新的环境。”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计