每个客户都很重要

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

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

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

成功的平台工程实践为开发人员和操作员提供支持。 开发人员和运营商可以自主做出提供业务价值的决策,同时仍遵循既定的标准、治理和安全规则。 关键利益干系人、促进团队和特定子系统(运营、安全、合规性和体系结构)的专家与负责构建此内部平台的团队合作,将他们的专业知识和最佳做法纳入到模板和系统功能中。

将此知识迁移到系统的同时,可减少开发人员的认知负载,提高安全性、合规性和质量,并更好地缩放这些其他角色,以解决真正独特的问题。 但是,开发人员体验可确保平台为所涉及的所有人带来最大的好处。

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

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

虽然组织目前可能具有不同的生产开发路径,但平台工程之旅的早期步骤是了解希望开发人员使用的路径。 在这一过程中做出关键决策非常重要,因为这能让你集中精力,铺设一条有效路径,同时仍然满足开发、运营和治理的要求。

这些铺设路径代表一组特定的开发和可观测性工具、语言、SDK 和服务,它们旨在适应开发、运营和其他利益相关者所公认的最佳实践。 已建立的路径应包括简化入职、管理和推动内部重用的策略。 你不需要将这些已铺设的道路视为限制性或强制性的,而是通过减少开发人员的工作负担,使开发团队愿意在这些道路内工作。

然而,技巧在于不仅要了解应当专注于哪些路径,而且要清楚路径中的哪些部分需要优先铺设。

满足用户的需求并与他们在他们的环境中互动

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

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

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