每个客户都很重要

平台工程的一个关键原则是为客户进行优化。 将开发人员视为主要客户,并在确定要铺平的开发路径时,首先关注其需求。 开发人员都使用不同的工具来完成工作。 第一步是,在实现全新的内部开发人员平台之前,先小开始并评估是否可以改进现有屏幕和表面。

为开发人员提供以客户为中心的内部平台

将开发人员视为内部开发人员平台的主要客户对于其成功至关重要。 我们将这些客户称为开发人员,但它们可以是团队拓扑模型称为流对齐团队的任何成员,包括机器学习专业人员或数据科学家等角色。

成功的平台工程实践为开发人员和操作员提供支持。 开发人员和运营商可以自主做出提供业务价值的决策,同时仍遵循既定的标准、治理和安全规则。 关键利益干系人、使团队和特定子系统(运营、安全、合规性和体系结构)的专家能够与构建此内部平台的团队协作,将专业知识和最佳做法编入模板和系统功能。 将此知识迁移到系统的同时,可减少开发人员的认知负载,提高安全性、合规性和质量,并更好地缩放这些其他角色,以解决真正独特的问题。 但是,开发人员体验可确保平台为所涉及的所有人带来最大的好处。

这意味着遵循以客户为中心的方法来规划和确定平台工程工作的优先级。

确定优化开发路径以简化最佳做法

虽然组织目前可能具有不同的生产开发路径,但平台工程之旅的早期步骤是了解希望开发人员使用的路径。 进行此调用非常重要,因为它使你能够集中精力,通过它们铺平一条有效路径,这些路径仍然满足开发、运营和治理要求。

这些铺面路径代表一组特定的开发和可观测性工具、语言、SDK 和服务,这些工具、语言、SDK 和服务旨在适应开发、运营和其他利益干系人同意代表其最佳做法。 铺路应包括简化载入、审查和倡导内部重用的方法。 你不需要将这些铺路视为限制性或强制路径,而是减少开发人员对点开发团队想要留在他们内部的苦。

然而,技巧是不仅了解要关注的路径,还需要首先铺好路径的哪些部分。

满足用户所在的位置

虽然对于内部开发人员平台中的所有内容,从统一门户开始可能很诱人,但这不是最佳起点。

运营专业人员、站点可靠性工程师(SRE)和开发人员都使用不同的工具来完成工作。 编码发生在 IDE 中,工程系统(如 GitHub 和 Azure DevOps)使用命令行接口,而实时协作发生在 Teams 和 Slack 中。 通常,这些用户对这些屏幕感到满意,并谨慎使用另一个用户界面来担心。

在开始生成新的自定义体验之前,请小启动并评估是否可以改进现有屏幕和图面、生成插件或扩展。 问问自己,人们是否会更好地应对另一个新的用户体验或你现在拥有的改进版本? 如果确实决定从头开始构建门户,请考虑到你可能希望通过 API 支持多个接口的想法。 这还可以解锁诸如使用低代码框架之类的选项,因此无需从头开始生成和托管门户体验。