做到这6点,你的平台工程就完啦

在开始平台工程改革前,DevOps 团队往往对平台抱有很高的期望。他们期望彻底改变与 Git、CI/CD、测试以及团队使用的其他一些相关的工作流程,并简化整个流程。当平台被推出时,结果却令人失望。平台的复杂性和不直观的设计让开发人员常常感到困惑,他们发现很难设计工作流程。无论是创建或触发流水线还是管理部署环境,该平台都被证明是一个障碍。

虽然这是一个假设的场景,但这也很可能在现实生活中发生。即使是使用最新工具和技术构建的最有前途的平台也可能会陷入困境。根据 State of Platform Engineering Report 2023,32% 的受访者认为团队之间沟通不畅可能导致平台失败

在这篇文章中,我们将深入探讨导致平台失败的原因。或者换句话说,做到哪几点,你的平台工程就完蛋了。

01 平台工程失败的6个原因

产品不匹配

产品不匹配是指平台的设计和功能与其目标受众(即平台所面向的开发者)的需求和期望不匹配。出现产品不匹配的几个原因如下:

  • 当开发人员不参与平台的构建过程时,最终的结果往往是平台的功能是开发人员根本不需要或根本用不上的。这导致平台的大部分功能被闲置

  • 一个不能满足开发人员需求的平台往往无法与组织的目标保持一致。这将导致开发进程放缓、高层兴趣降低,甚至在某些情况下出现财务瓶颈。

例如,设计一个平台是为了实现 CI/CD 集成自动化,但却没有考虑到开发团队使用的多云环境,因此该平台与这些复杂设置存在兼容性问题。这种不匹配会导致极大的复杂性和较慢的部署速度。

要克服产品不匹配的问题,最好的办法是让开发人员参与到平台建设的早期阶段中,开展调查和访谈,以了解将构成平台基础的开发人员的需求。

过于复杂的设计

平台失败的常见原因之一是平台带来了不必要的复杂性。平台工程团队在构建平台时,会加入大量旨在解决所有用例的功能,这就给开发人员带来了困惑,有时甚至会掩盖平台的实际目的。偏离行业标准和最佳实践也会加剧这一问题。

为实现灵活性和通用性而构建的平台通常会提供大量定制选项。然而,过多的选项会增加平台的整体复杂性。此外,如果这样的平台使用非标准脚本语言来配置这些设置,可能会导致开发人员的学习变得更加艰难。

因此,按照行业标准建立界面更简单的平台是避免问题的好方法。

全面但不精准的工具

当平台工程师团队开始构建平台时,他们往往希望构建一个能解决所有问题的平台,而最终发现这才是最大的问题。虽然建立一个一体化平台的初衷很好,但这往往会导致平台功能繁多。

这就给用户体验带来了挑战,因为用户往往很难在平台中找到他们需要的东西。此外,这种平台还存在与其他平台集成的问题,而这往往是任何平台的关键部分。

例如,这种一体化平台希望能够与所有 CI/CD 工具集成。然而,在此过程中,该平台将引入大量复杂的配置,这将使开发人员难以连接到自己喜欢的平台。

与其专注于构建能解决所有问题的平台,不如专注于构建能彻底解决一个问题的平台。建立满足开发人员需求的专业平台将有助于避免这样的问题出现

并且,实现这一目标的方法之一是将平台视为产品,这也有助于解决这一问题,因为您可以将开发人员的需求放在中心位置,并围绕其构建平台。

说明文档不充足

完整的说明文档对于包括平台在内的所有产品都至关重要。没有完整的说明内容,开发人员在排除故障和浏览平台时就会遇到障碍。在某些情况下,开发人员可能会试图独立破解复杂的流程,从而造成认知负担。

此外,不充分、不完整和过时的文档会导致效率低下,甚至可能导致大量支持请求涌入,造成不必要的干扰。

例如,一位开发人员需要为一个专门项目定制一个云实例。然而,该平台的说明文档并没有提供如何申请自定义实例的全面指导。更令人沮丧的是,该开发人员不得不联系同事并进行大量研究以了解流程,这导致了大量时间的浪费。

为了避免出现这种情况,拥有最新的文档非常重要。如果需要,可以组建一个专门的团队来确保文档的更新。

提示:在说明文档中添加搜索功能有助于节省宝贵的时间。

孤立的开发

平台工程的两个主要利益相关者是开发人员和平台工程团队。前者使用平台,后者构建和维护平台。通常情况下,这两个团队都是各自为战,很少能看到其他团队在做什么。

平台团队可能会在不了解开发人员不断变化的需求的情况下构建功能,而开发团队可能会努力使自己的工作与平台的功能保持一致。这种脱节往往会导致效率低下、工作重复,以及无法充分利用平台的潜力

为了避免这种失误并促进强有力的协作,企业可以启用共同协作渠道,让平台团队和开发团队可以进行互动、分享想法并解决问题。此外,还可以定期召开会议,讨论正在进行的项目,并分享最新情况和关注点。

停滞不前的平台

变化是唯一的不变。这是我们所有人都耳熟能详的一句话。这句话适用于一切事物,甚至包括平台。一个大张旗鼓地推出并配备了各种功能的平台,需要跟上团队不断变化的要求。

如果该平台不能为其提供的工具和服务提供最新更新,开发团队就会觉得难以使用,最终停止使用该平台。

平台提供的功能和服务也应不断发展。平台应考虑并提供任何有助于开发人员改进工作的内容。

例如,如果开发团队的应用程序使用 MongoDB 服务,平台就需要确保向用户提供最新版本的服务。如果平台不能提供这一点,开发人员将很难使其应用程序保持最新。

让平台保持最新的最佳方法之一就是制定 roadmap。这样你就能知道平台需要添加哪些功能。此外,与开发团队定期互动可以帮助平台团队了解开发人员不断变化的需求,并首先选择最有影响力的项目。

02 总结

综上所述,我们讨论了平台可能失败的一些常见原因。无论您是开发还是使用平台,都必须了解并满足开发人员的独特需求。只要将平台视为产品,就能克服大部分挑战。将产品思维应用于平台,您就能为平台及其未来规划出一条清晰的道路。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值