使用门户自动创建应用程序可以通过降低复杂性并提高与标准的一致性来加快软件开发速度。
译自 How to Scaffold a New Application with a Developer Portal,作者 Matar Peles。
当平台团队开始创建新应用程序时,他们通常会在构建过程中陷入困境——构建结构、文件系统和其他部分以开始编写代码。此瓶颈通常源于开发人员和研发经理想要解决的问题。
开发人员希望:
研发经理希望:
通常,构建新应用程序的常用方法是从模板创建新存储库。但是,单个模板存储库可能无法满足开发人员的所有需求。他们可能需要多个 git 存储库、更多与外部工具和平台的逻辑、更多设置自动化和其他复杂性的工作。
手动构建微服务会给开发团队带来真正的混乱。我们从两个角度来看。
当开发人员没有模板时,他们必须逐个拼凑微服务,手动配置和设置基础设施。这会造成混乱,导致编码实践不一致,并且难以达到组织标准。
不得不依赖传统的工单系统来创建基础设施会加剧问题,增加挫败感,造成延误并减慢开发过程。
想象一下,一家大公司的开发人员需要根据产品经理创建的工单开发一个新的微服务。仅仅因为他们已经考虑了所有实施步骤——例如他们将使用哪种语言、如何使其通用以支持不同的 webhook 以及如何编写出色的代码——并不意味着他们已经准备好了。
理想情况下,他们可以检查是否有人已经编写了可以重复使用的代码。然后,他们需要:
在开发人员甚至可以开始编码之前,这增加了大量的工作。开发人员必须对工程组织的标准有充分的了解才能遵守这些标准。负责舒适区(编码)之外的许多任务会增加认知负荷,并使这些开发人员更难完成待办事项列表。
研发经理也很难指导开发人员解决这些问题。这会影响整个开发工作流程的生产力、创新和效率,并最终影响整体业务。
对于平台工程师来说,工程标准是保持微服务井然有序和一致的关键。他们管理着数百个微服务,并一次又一次地看到相同的问题:不同的存储库结构,这使得难以搜索信息、缺乏必要的文档、未受保护的存储库分支、部署设置问题和过时的版本。
现实情况是,如果没有指导或自动化,期望如此多的不同团队遵守其公司标准是不可能的。
为开发人员提供用于新应用程序的即用型设置有助于解决这些问题。对设置使用内部开发者门户超越了基本存储库,并提供了必要的自动化资源,例如:
开发者可以使用这些现成的路径轻松遵守标准,并在不出现复杂情况的情况下保持一致性。
要快速入门,请按照以下步骤操作:
没有两个平台团队具有相同的标准和脚手架流程。平台工程师需要询问开发者在打包新应用程序时需要什么,以帮助他们专注于他们最擅长的工作:编写代码。
虽然这些问题的答案可能因团队而异,但它们可能涉及工程师可以自动化或模板化的元素,以便为开发者提供先机和独立性。
通过调查、非正式对话和定性访谈,从开发者那里持续获得有关其痛点和他们希望看到什么的反馈,使工程师能够接受 产品思维。这确保了平台工程师 专注于开发者实际需要什么 来构建应用程序,而不是他们认为应该包含什么。
对于此示例,假设构建新应用程序的脚手架包括创建代码库、配置 CI/CD 和使用 Terraform 创建云资源。
确定哪些参数应由开发者定义至关重要。您希望专注于 抽象化复杂性,因此只询问对自定义脚手架流程真正重要的输入。换句话说,专注于“什么”而不是“如何”,使开发者能够精确定位其项目的特定方面,而无需考虑实现细节。
以下是一些基本的常见输入示例列表:

使用开发者的输入,脚手架逻辑可以自动设置新项目,从而消除创建代码库、设置基础设施以及配置工具和环境的手动步骤。
下图中的示例使用 GitHub Action 实现自动化。

该图表显示了自动化如何根据开发者的输入与不同平台进行交互,同时遵守已选择的特定权限并使用公司的最佳实践管理资源。
前面的步骤启用了创建新应用程序的自动化。但这还不够。
使用 GitHub Actions 管理应用程序创建对开发者来说可能具有挑战性,这凸显了对集中式解决方案的需求。一个具有直观用户界面、详细的基于角色的访问控制 (RBAC)、强大的输入验证和自定义审批流程的自助服务门户可以极大地简化应用程序设置流程,而无需额外的开发工作。
我将演示如何使用 Port(一个用于 创建内部开发者门户 的无代码平台)来实现此目的。Port 可以与您现有的自动化集成,用直观的用户界面对其进行包装,并为开发者创建简单、抽象的体验。Port 还支持管理和触发长期运行和异步操作,并向开发者显示他们需要的运行日志。
当用户在开发者门户 UI 中触发自助服务操作时,该过程便开始。

一个包含用户输入和相关操作元数据的有效负载被发送到所需的 GitHub 工作流。
触发作业,用户会持续收到有关其进度的指示。
一旦您构建了与脚手架逻辑匹配的自定义自助服务体验并使用它创建了应用程序,您就可以在一个地方可视化所有已创建的资源(例如,Argo 应用程序、云资源、Sonar 扫描),以与相关应用程序相关联。这样,整个过程及其输出都会在每个步骤中反映给您的开发者。
一旦一切设置就绪,使用 Port 创建新应用程序的例程如下:





您已创建了应用程序,但还没有完全完成。上述过程是确保应用程序符合标准的第一步。从那时起,您必须确保维护标准。为此,您可以使用该门户的记分卡 来评估应用程序的成熟度、生产准备情况和工程质量。
为了简化搭建新应用程序的过程,您需要戴着产品经理的帽子思考:搭建必须满足开发人员的目标,同时确保该过程融入您组织的 DNA。Port 使您能够自定义流程以适应您的文化和标准。通过这样做,您可以在保持护栏的同时为开发人员提供最佳体验。
有关搭建新应用程序的更多见解,请查看我们的分步指南。