编者按: 以下是为DZone的2025年趋势报告撰写并发表的文章, 开发者体验: 开发者生产力、流程满意度和平台工程的融合。
我们如何才能开始着手平台工程呢?好消息是,成功采用平台工程的主要组织已将他们的见解、最佳实践和经验教训贡献给了诸如云原生计算基金会(CNCF)的平台成熟度模型和微软的平台工程能力模型等框架。这些模型为组织提供了一个结构化的途径,评估其当前状态并确定差距以及朝着构建有效的内部开发者平台(IDP)迈出可行的步骤。
通过遵循这些模型的实践,您可以制定一个平台工程之旅的路线图,从小而有影响力的改进开始,逐渐推动组织范围内的采纳,实现统一和优化的平台。以下是一个可操作的清单,旨在指导将平台工程整合到您的业务中的初始步骤。请注意,这个清单不应被教条化对待,而应视为定义您方法的灵活起点。
1. 确保变革准备和文化一致性
平台工程不仅仅涉及技术;要在平台工程之旅中取得成功,至关重要的是要优先考虑人员、流程和文化,同时与技术并重:
-
在组织内营造协作、开放沟通和适应性的文化
-
实施变革管理策略,以解决抵制和顺利过渡的问题
-
积极鼓励实验和营造一个团队学习和适应的环境
-
传达一个引人注目的平台工程愿景,与组织的价值观、流程和工具保持一致
2. 获得组织内部支持
从利益相关者和团队那里获得支持可能具有挑战性,特别是对于大型项目或在战略转变方面。专注于制定与受众动机和目标一致的引人入胜的策略:
-
确定关键利益相关者(开发人员、运维、管理、安全等);了解他们的优先事项和关切
-
将平台工程倡议与确定的优先事项保持一致
-
[对高管] 强调业务结果,如产品成功和整体业务增长,通过增加创新、缩短上市时间和提高运营效率
-
[对工程团队] 突出自动化工作流程和减少工具使用中的挫折
-
使用指标来支撑你的论点,比如预计部署速度的增长或减少故障处理量
-
提出初期成功的指标(例如,提高开发人员满意度、加快部署周期)并公开解决任何疑虑
-
创建价值映射,将平台工程行动(例如,自动化基础设施提供)与业务结果联系起来
-
与小团队一起试点平台的一小部分,以展示影响
-
积极收集反馈,并定期以可视化比较的方式沟通进展,以保持利益相关者的参与和一致性
3. 评估当前的DevOps实践状态
了解您的DevOps实践不仅有助于获得领导层支持,也为制定战略平台工程路线图奠定基础:
-
评估关键领域,如IaC、自动化、开发者自助服务和策略执行(即评估您的IaC是否标准化良好,开发者是否可以利用自动化工作流程来提供资源)
-
确定瓶颈、反复出现的痛点和改进空间
-
使用CNCF成熟度模型将您的实践映射到其各个级别,识别诸如团队孤立或手动工作流程等差距
-
结合可量化的指标,如价值交付时间、入职效率和DORA指标,以衡量低效和性能问题
4. 定义明确的目标和指标
在着手平台开发之前,退后一步,定义您的组织成功的标准:
- 为您的平台在每个成熟阶段设定可衡量的目标(例如,缩短部署时间、提升开发者满意度、增强系统可靠性)
- 将这些目标与业务目标保持一致,避免浪费时间和资源
- 定义可实现的目标并设定现实期望
- 为每个目标建立清晰的指标,以跟踪进展并支持数据驱动的决策
5. 制定平台战略
开发平台战略需要与所有关键利益相关者进行仔细规划。成功的战略应当:
- 明确起点,承认并解决潜在挑战,并设定现实的期望
- 建立短期里程碑和长期目标
- 建立在四个关键原则的基础上:生产力、质量、安全和效率
- 超越简单定义平台应该做什么;理解它将如何实现目标以及这些目标为何重要
平台工程的一个基本原则是遵循以产品为导向的方法,确保平台的设计和演变符合开发团队的需求。这包括:
- 与关键利益相关者进行头脑风暴会议;考虑使用诸如平台旅程图
- 之类的头脑风暴工具
- 与开发团队进行访谈和调查
- 创建反馈循环
- 创建用户角色和旅程图以概括常见场景
通过采用团队互动模式来演变平台:初期的紧密协作、解决方案发现和X即服务
6. 建立专门的平台团队
没有一个专门的平台团队来开发和管理内部开发者平台,各个产品交付团队往往会自行创建自己的平台和流程,导致重复和低效。一个专门的平台团队确保了一个统一的平台基础架构,同时通过利用其能力来支持开发者。这个团队把平台视为一个产品,不断完善和改进以满足用户不断变化的需求。步骤包括以下:
Assemble a cross-functional team of mostly technical generalists, including expertise in infrastructure, automation, security, and software development
-
明确定义角色,专注于设计、维护和迭代IDP,与应用开发工作分开
-
把平台视为一个产品,通过用户研究、收集反馈,并改进功能以满足开发者需求
-
确保有专门的预算,并确保团队具备推动平台采用所需的工具、培训和文化支持
-
为团队起一个描述性的名称,以区别于其他产品开发团队,比如:
-
工程使能
-
开发者体验
-
共享工具
-
卓越中心
-
采用轻量化平台方法,避免过度工程化
采用轻量化平台方法可确保您的平台有机演进,同时避免不必要的复杂性。这种方法平衡了快速采用和长期可扩展性,并与组织目标保持一致:
- 构建一个最小可行产品(MVP),仅包含简化重复开发任务所需的基本服务和功能
- 将 MVP 焦点放在简单性、可用性和支持单一“黄金路径”上,以提供一致的开发者体验
- 设计初始平台时,使用基本资源和功能覆盖技术范围,避免过度设计。
- 避免在早期添加不必要的功能,以防止用户感到不知所措并复杂化工作流程。
- 创建一个中央目录,包含所有供应基础设施和资源,与黄金路径相关联,以实现可见性和管理
- 从一开始就将安全和合规实践(如安全即代码和策略即代码)直接嵌入到平台设计中
- 分享一个内部路线图,突出当前平台价值、未来里程碑和目标,以调整组织优先事项
- 在Beta阶段完善平台,测试基础功能,提高质量,并将功能产品化,以供生产使用
- 使用试点用户群在受控环境中测试更新和新功能,收集反馈并在更广泛的推出之前最小化中断
- 在每个阶段应用最薄可行平台(TVP)思维,专注于可持续增长,避免不必要的复杂性
推动平台采用
推动平台采用不仅要建立技术上可靠的产品,还需要培养信任,与平台冠军自愿合作,并与开发团队和利益相关者建立开放的反馈渠道:
启动一个试点计划,与一小群热情的开发人员一起测试平台,并提供可操作的反馈。
- 为早期采用者提供全面的培训、清晰的文档和响应迅速的支持,以快速解决问题
- 利用试点阶段来完善平台、解决问题痛点,并与用户建立信任
- 通过关键绩效指标和实际示例传达平台的价值主张,展示简化工作流程、提高生产力和更快交付价值的方便之处
- 在每个开发团队中指定一个“平台倡导者”,倡导平台,并展示其节省时间和提高效率的好处
- 通过避免强制使用平台,而是促进自愿参与和协作,建立开发者信任
- 认识到采用是逐渐的过程,并与开发者密切合作,鼓励认同和承诺
- 保持开放的反馈渠道,如办公时间、论坛或调查,持续从用户和平台倡导者那里收集见解
- 根据用户反馈,循序渐进地改进平台,并解决开发者关注的问题
- 利用平台倡导者分享成功案例,并倡导在组织内更广泛采用
9. 衡量与迭代以取得成功
有效的测量和持续迭代是成功平台工程策略的基石,使组织能够将其平台与不断发展的需求保持一致:
确定符合组织独特需求和平台目标的可操作和可重复的关键绩效指标
- 使用部署频率、变更交付时间、变更失败率、恢复平均时间(DORA指标)、开发者满意度评分、平台采纳率和安全合规评分等关键绩效指标来衡量成功
- 利用工具如净推荐值(NPS)调查来评估开发者情绪并识别改进机会
- 定期向开发者和利益相关者征集反馈,完善采纳策略并应对不断变化的需求
- 创建仪表板可视化指标,改进沟通,并增强所有利益相关者的透明度
- 使用仪表板监控平台使用情况,找出瓶颈,并分析开发者互动模式以获取可操作见解
- 整合高级分析评估平台对业务结果的影响,并支持精确的投资回报率计算
- 利用预测性分析预见未来平台需求,将开发与使用趋势和组织目标对齐
- 根据关键绩效指标、反馈和分析洞察持续对平台进行迭代,确保其保持相关和有价值性
- 与利益相关者分享进展和基于数据的路线图,以保持一致性并建立对平台价值的信任
结论
在你踏上平台工程之旅时,请记住并没有一劳永逸的解决方案。定制本检查表中提出的方法和策略以适应你组织的需求,并保持敏捷,因为平台及其需求会不断发展。凭借清晰的愿景、领导支持、变革赞助者、专门的平台团队、平台倡导者、自愿开发者参与、开放的反馈渠道和数据驱动方法,你可以构建一个提供业务价值并在整个组织中增加创新的 IDP。
这是来自DZone的2025年趋势报告中的摘录,开发者体验:开发者生产力、流程满意度和平台工程的融合。
Source:
https://dzone.com/articles/how-to-integrate-platform-engineering-into-your-bu