开发者的“高速公路”:一文搞懂黄金路径

本文探讨了如何通过创建黄金路径,一个预定义的、标准化的开发路径,来简化产品和服务的转化过程。黄金路径涵盖了从概念到实现的各个步骤,通过自动化和最佳实践,提升开发效率,保证产品质量。文章还介绍了构建黄金路径的关键原则和其在平台工程中的重要性。
摘要由CSDN通过智能技术生成

所有伟大的产品和服务都始于一个创意。然而将创意转变为实际产品的过程会涉及许多步骤,要想最终获得有用的产品,在正确的时间做正确的事情至关重要。幸运的是,大部分团队已经拥有一个帮助更快推进创意的平台。为了让这一过程更加顺利,平台工程团队通还会创建黄金路径 (golden paths)。黄金路径通过简化流程和确保质量,引导开发人员按照最佳实践完成任务

在 本文中,我们将介绍黄金路径,解释什么是黄金路径,并讨论黄金路径对平台工程的重要性。我们还将定义创建黄金路径所需的步骤。

01 什么是黄金路径?

平台为开发人员提供了快速获取资源和工具的途径,从而将概念转化为现实。从代码库到测试框架和协作空间,平台已成为创新的加速器。黄金路径或者已经开辟的生产道路是平台中预定义的路线,概述了实现特定目标的最佳实践、步骤和所需工具。它们是指导开发人员构建、部署和测试应用程序的结构合理的路径

为了更好地理解这一点,请想一想构建和部署网络应用程序的过程。这种使用案例的黄金路径包括使用 node.js 去构建开发环境、配置 docker 容器和 Git 进行版本控制、为 CI/CD 设置 Jenkins,为容器编排设置 Kubernetes 以及为数据设置 MongoDB。所有这些,包括构建、测试和部署,都是自动化的。

这条黄金路径可以作为模板或指导工作流程提供给新开发人员,帮助他们走完黄金路径,为他们提供启动开发流程所需的所有工具和配置。

02 构建黄金路径的关键原则

构建黄金路径需要的不仅仅是简单地组合工具和服务。它需要仔细了解开发人员的需求,并精心设计一条路径。以下是一些关键原则,可帮助您构建黄金路径:

  • 单一路径:黄金路径必须定义明确,并为完成一项任务而构建。它应允许开发人员以标准化的方式完成任务,消除任何模糊之处。团队中的每个开发人员都应能以与其他开发人员完全相同的方式完成任务。

  • 减少认知负荷:黄金路径应为完成任务提供预先确定的最佳实践。这可以减轻开发人员的认知负担,让他们专注于实施工作,而不是浏览配置不同工具和服务的复杂性。

  • 自助服务:黄金路径应通过为开发人员提供申请和配置工具与服务的自动化方法来促进自助服务。这样,开发人员就能在没有外部干预的情况下独立导航,从而加快整个流程。

  • 灵活性和可配置性:黄金路径应具有灵活性和可配置性。例如,黄金路径应能在各种平台(EC2、谷歌云)上进行部署,而不会让开发人员面临全新的学习曲线。这样才能确保在不同基础设施上的可移植性和易用性。

这些原则是有效和高效开发的基础,并为构建黄金路径提供了简化和标准化的方法。

03 黄金路径的优势:减轻负担并提高质量

平台通过协调工具和环境、简化流程和优化工作流,重新定义了团队构建、部署和维护应用程序的方式。让我们来看看加速交付和推动创新的黄金路径的一些优势。

  • 减少开发人员的辛劳:黄金路径大大减少了应用程序开发生命周期中的手动和重复性任务。通过将这些任务自动化,平台可以让开发人员专注于价值驱动型任务,而不是辛勤工作。

  • 更高的质量和一致性:黄金路径侧重于通过在整个开发和部署周期内执行最佳实践来实现流程标准化。这有助于创建一致的路径,最大限度地减少错误。

  • 更短的发布周期:有了黄金路径,开发人员可以遵循预定义的步骤,从而加快产品发布速度。这些步骤具有明确的指导原则和标准化程序,从而加快了发布周期。

  • 加快入职速度:黄金路径通过提供标准化的工作流程,简化了新团队成员的入职流程。新成员可以熟悉开发实践、工具和流程,从而提高工作效率。

04 如何创建标准化黄金路径

在开始创建黄金路径之前,完全了解开发流程非常重要。这包括了解涉及哪些工具、所有必要的流程以及后续步骤。如果不了解这些,就很难创建标准化的路径。

基于意图的创造

创建黄金路径有多种方法,但我们先要弄清 “基于意图”这个前提。顾名思义,这种方法是从开发人员的角度出发,以结构化的格式阐明意图。例如明确表达,“我想在 Kubernetes 上部署一个可扩展的 node.js、Mongo DB 应用程序”。

这份基于意图的声明精确阐述了部署可扩展网络应用程序的目标、预期结果和具体技术。这是为部署勾勒标准化黄金路径的基础步骤,也是构建黄金路径的下一个阶段。

创建黄金路径的步骤

  • 确定目标:第一步是了解黄金路径的最终目标。你想实现什么目标?比如希望使用 Jenkins 将一个 node.js 和 MongoDB 应用程序部署到 Kubernetes。

  • 选择工具:采访您的最终用户(开发人员),了解他们为实现目标而每天使用的工具。确定容器化工具(如 Docker)、编排工具(如 Kubernetes)或 CI/CD 工具(如 Jenkins)。

  • 研究最佳实践:了解相关工具和流程的目标后,研究使用这些工具和流程的行业标准和最佳实践。收集有关开发、测试和部署应用程序的最佳实践的见解。

  • 创建原型:收集完工具和最佳实践后,创建黄金路径的初始版本。这可能包括构建一个简化版的部署流程,设置基本配置,并使用所选工具测试工作流程。

  • 文档:下一个重要步骤是创建一份文档,详细说明每个步骤、工具使用、配置设置和最佳实践。文档应包括清晰的说明、代码片段和解释。

  • 获取反馈并反复修改:与开发人员分享原型和文档,并收集反馈意见。反馈可能涉及可用性、有效性和需要改进的方面。利用这些反馈对黄金路径进行迭代和完善。在每次迭代的同时更新文档,直到达到最终可接受的版本。

一旦黄金路径准备就绪,就可以将其部署到内部开发人员平台 (IDP) 中,作为模板或指导步骤供开发人员遵循,如下图所示。开发人员可以为其工作负载创建工作负载规范,并将其传递给 Platform Orchestrator,以便根据黄金路径调配规范中定义的资源,包括计算、网络或存储。

05 构建黄金路径时的注意事项

建设一个平台就像发展城市的基础设施,而打造一条黄金路径就像铺设一条高速公路。这是令人兴奋和激动的。但是,团队必须从长远角度出发建设黄金路径。以下是一些需要牢记的注意事项。

不要仅为 Day 1 而构建

作为平台工程师,只为眼前的需求进行优化是一种常见的诱惑。例如,创建一个黄金路径来开发新的微服务,或建立新的数据库、文档等。

但是,你的团队会持续多久执行这些任务呢?现实情况是,开发人员并不总是在构建新的东西,他们往往专注于增强现有服务。

因此,重要的是要抵制只关注短期收益而非长远发展的冲动。最好的做法是为第二天的运行而不是第一天建立黄金路径。这可能意味着要创建路径,使开发人员能够在现有微服务中集成更多功能、集成安全性、进行测试等。

并非所有流程都要改为黄金路径

开发人员每天都要执行许多不同的活动,但这是否意味着您需要将所有这些活动都转换成黄金路径呢?答案是否定的。为每项任务创建黄金路径可能会导致更多的复杂性和收益递减。

确定优先级对于帮助平台团队专注于能够产生重大影响的任务至关重要。通过这样做,他们可以确保所选的黄金路径与最频繁、最关键和最有影响力的任务保持一致。

与开发人员互动并了解他们的各种活动将有助于您确定最关键任务的优先级。然后,您还可以监控最后几次部署,分析最需要解决的流程。正如 Kaspar von Grünberg 提到的那样:“用黄金路径解决这些流程将带来最大的影响和投资回报率”。

06 总结

从聚焦开发目标到改善协作,黄金路径带来的潜力和优势是巨大的。虽然我们概述了构建黄金路径所需的步骤,但团队也必须明白,并非所有事情都能成为黄金路径。通过这样做,他们可以确保所选择的黄金路径与最频繁、最关键和最有影响力的任务相一致。掌握了这些知识,你就应该准备好构建你的黄金路径了。

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值