技术见解 / Golden Paths

黄金途径:为软件构建流程体系架构

对当今数字化业务的需求可能是势不可挡的。 黄金途径可定义并简化软件开发流程,让开发人员专注于编写代码,而不是配置和管理工具及基础架构,从而缩短投产时间。


什么是黄金途径?

黄金途径(有时被称为铺装道路或铺装路径)是一条稳固、明确、特定于任务且受支持的软件创建之路。如果团队能够利用黄金途径,那么开发流程就会更加顺利。黄金途径有助于企业构建更加出色的软件,并以更高的质量和更好的控制更快地将其投入生产。企业中的不同团队经常使用各种各样的工具、框架和语言。开发人员经常花费太多的时间寻找合适的技术并学习如何使用它,而没有足够的时间开发优秀的软件。

这种方法导致工具、框架和文档的生态系统碎片化,认知负担增加,以及专业技能和知识水平不一致。黄金途径提供了一种受支持的方法,其中包含用于构建和部署软件所需的明晰的工具、流程和方法。它通常结合了云原生技术,包括 KubernetesCI/CDDevOpsDevSecOps。坚持使用已定义的工具和流程并构建“黄金途径软件”可以提升开发人员的工作效率并缩短价值实现时间。

黄金途径通过仔细定义和支持框架、工具、最佳实践等,从而可以:

  1. 提高专业技能。 提供以开发人员为中心的端到端软件开发流程视图。提供合适的工具可以确保开发人员不必持续寻找他们需要适应后才能用以开展工作的工具。
  2. 减少开发人员的工作量。 通过消除基础架构、工具、术语、流程和人员的复杂性来减少认知负担。

黄金途径开发通过以下方式提供价值:

  1. 发现和学习。 明确描述的目标和循序渐进的教程,其中包含最佳实践,可帮助新团队成员入职并了解可用和首选的工具和服务。
  2. 创建和迭代。 使用可共享的模板和加速器构建应用,帮助开发人员轻松应对混乱的环境。易于发现和可重用的服务和文档是可实现一致性和透明度的黄金途径的基础。
  3. 集成和部署。 使用 CI/CD 流水线、API 管理容器等工具实现自动化和自助服务。
  4. 改进运维。 通过监控和可观察性获得可见性和扩展深度。使用指标、跟踪信息和日志等功能在应用投入生产之前管理其行为。

黄金途径和铺装道路

软件开发中黄金途径的概念最初是由 Spotify 开发的,旨在帮助其工程师驾驭日益复杂的云原生基础架构,并消除所谓的“传言驱动型开发”(rumor-driven development)。Spotify 的黄金途径提供工具和服务选项,以及包含教程、文档和最佳实践的 IT 团队路线图。(对于科幻迷来说,“黄金途径”一词源自弗兰克·赫伯特的经典作品《沙丘之子》。)Netflix 的铺装道路 (Paved Road) 是一种类似的方法,该方法结合了文化和工具来实现开发实践标准化。




如何设计黄金途径

采用黄金途径可整合最佳实践并减少决策工作。构建和部署软件的每一家企业(电信、交通、医疗保健或制造业领域)都可以从定义黄金途径中大受裨益。然而,您在黄金途径中包含的内容可能会因您的业务和目标不同而异。

设计黄金途径的过程包括以下步骤:

  • 第 1 步: 定义您的目标
  • 第 2 步: 确定您的目标受众
  • 第 3 步: 研究最佳实践
  • 第 4 步: 选择您的工具
  • 第 5 步: 创建原型
  • 第 6 步: 记录所有内容
  • 第 7 步: 获取反馈并进行迭代

每条黄金途径都是一个活性工件,该工件可响应用户反馈并随技术的发展而变化。即使黄金途径消除了复杂性,它们仍应提供一些自由来偏离路径或允许可延展性,让开发人员在需要的情况下使用喜欢的工具或方法。




在考虑采用黄金途径时要牢记的事项

黄金途径使企业能够整合知识和最佳实践,加快新团队成员入职,并增加不同团队之间的共享和发现。这样将提高自动化和创新能力,实现更快速、更安全的软件生产,并改善开发人员体验 (DevX)。

黄金途径的标准组件

从共享和发现文档和内部 API 到应用工具和安全性,黄金途径是团队之间在各方面展开合作的催化剂。它们可以帮助您将最佳实践标准化,并引领团队朝着正确的方向发展。黄金途径的组件包括:

  • 文档存储库。 开发人员可以从自动配置的模板创建初始应用,从而快速启动开发流程。新的微服务可以从运维团队利用贵企业自己的最佳实践构建的模板中启动。
  • 软件目录。 开发人员可以自由选择他们喜欢的工具和服务 - 无服务器还是 Kubernetes?Google Cloud Platform 还是 Amazon Web Services?CircleCI 还是 Jenkins?通过使服务易于发现和可用,您鼓励重复使用相同的服务,而不是让开发人员选择甚至发明新的服务。
  • 架构/框架。 构建您自己的模板,使团队能够快速创建项目,同时确保符合技术标准和规范。这样,软件团队就能够交付软件,而不会因复杂性而陷入困境。
  • 软件供应链。 许多黄金途径都融入了开源项目,例如作为开发人员门户的 Backstage 或用于 CI/CD 管道的 Tekton。这些工具与可自定义的插件和嵌入式最佳实践相结合,可以加速供应链,简化软件开发生命周期,并提供投入生产的黄金途径。

自助式开发人员门户

在软件开发中,开发人员门户旨在收集工具、知识、培训和其他技术,以降低复杂性和减少认知负担。开发人员门户通过收集黄金途径所需的一切并使其可在一个位置访问,从而支持内部自助服务,并可以作为黄金途径的基础,允许团队从单一窗口中发现资源、创建项目、集成组件和工具以及部署和运维软件。

到 2025 年,拥有平台团队的 75% 的企业将提供自助式开发人员门户,以改善开发人员体验并加速产品创新。希望构建开发人员门户的企业所面临的一个重大决策在于,是从头开始构建,还是利用诸如 Backstage 等现有的开源项目。

Backstage

Backstage 是一个开源的开发人员门户,它将基础架构工具、软件组件、数据和文档集中在单一窗口中。Backstage 由 Spotify 开发,目前由云原生计算基金会 (CNCF) 赞助。可自定义的插件库鼓励协作和重复使用,并加快纳管速度。

Backstage 使开发人员能够:

  • 在数秒钟内创建新软件,与企业的最佳实践保持一致
  • 在一个集中位置管理软件
  • 探索和利用可延展插件的生态系统
  • 在您的企业内更轻松地展开协作


VMware 的黄金途径

Tanzu 致力于帮助企业加快软件开发的步伐,提高质量,并减少繁重的工作量。我们提供一系列产品和服务,这将帮助您更好地利用现有的黄金途径或创建新的黄金途径。

Tanzu Application Platform 是一款单一、端到端的集成式解决方案,使公司能够通过一套丰富的开发人员工具和通向生产的预先铺装黄金途径,更快速、更安全地构建和部署更多软件。Tanzu Application Platform 利用 Backstage 来改善开发人员体验。

Tanzu Labs 可以帮助团队加快其应用现代化工作,并就定义黄金途径提供建议,以满足您的软件团队和业务的需求。

Tanzu Observability(以前称为 Tanzu Observability)为应用提供了自定义的即时可用仪表盘,将指标、跟踪信息和日志管理结合在一起,简化了多云环境的全栈可见性。

为 Spring 应用开发黄金途径

VMware 与 Microsoft 展开合作,将 Azure Spring Apps 打造成用于在云中部署和扩展 Spring 应用的黄金途径。借助 Azure Spring Apps,您可以将事件驱动型 Spring 应用部署到云中,并使其立即启动和运行。这是一条通往生产环境的黄金途径,可以简化部署流程并优化资源使用情况。