平台工程可以通过为开发人员提供自助服务来提高开发团队的工作效率,这样他们就不必为了建立项目所需的一些基础设施而连续数天或数周等待 IT 票证。但为了实现这些好处,重要的是通过确保平台工程团队拥有必要的技能、结构和工作流程来为成功做好准备。
红帽高级首席软件工程师 Ryan Cook 表示:“拥有一支坚实的团队可以让接收者和平台构建者的体验变得更加轻松。”
IDP 公司 Humanitec 的产品和增长副总裁兼 PlatformCon 的组织者 Luca Galante 认为,重要技能之一是拥有产品思维的能力,能够基于与团队的紧密反馈循环,从持续开发的角度处理问题。正在构建平台,而不是构建和交付软件,然后使用它。
相关:国内流离失所者可能是我们解决开发复杂性问题的方式
“这实际上是从不同的角度看待开发人员,即内部客户,我们正在为他们提供服务并解决他们的痛点,”加兰特说。
库克同意这一点,并补充说“了解团队需要什么,构建平台的人员需要什么,是成功的最佳途径。”
沟通也很关键,因为平台与工程组织中的所有事物以及多个团队进行交互。这包括开发人员、基础设施和运营 (I&O) 团队、安全团队、架构师、高管等。
加兰特解释说:“为了让每个人都参与其中,平台团队中需要有一位积极推动的内部营销人员,有效协调平台的发展及其为不同利益相关者群体的既得利益带来的利益。”
例如,一个正在经历基础设施团队长时间等待的开发团队可以在平台上出售,因为他们被告知该平台将减少等待时间并改善开发人员体验。它可以作为默认执行治理和策略的东西出售给安全团队。它可以出售给基础设施团队,以减少开发人员每次需要某些东西时进行手动配置的需要。
因此,平台工程团队中需要有人能够向各个利益相关者阐明和传达这些好处,以便每个人都明白这是一项值得的努力。
另一家 IDP 提供商 Port 的首席执行官 Zohar Einy 表示,第三个重要技能是深厚的技术能力和理解。他解释说,对于平台工程师来说,了解公司技术堆栈的组件是如何设置的、使用的开发工具等等非常重要。
“他们需要对事物如何连接以及平台如何在幕后构建有很好的了解,”他说。
红帽的库克认为,让不同的人拥有不同的专业领域是一个好主意,比如真正擅长遥测或安全、开发或虚拟化或其他任何方面的人。
“我们都有这种独特的专业知识,但目标相同,我觉得专业知识很有帮助,因为它让那些在自己的领域成为专家的人有信心继续成为那里的专家,同时也给其他人提供了他们没有的喘息空间。不必成为个人领域之外的专家。所以每个人都互相依赖,这在团队内部建立了良好、友好的关系,”他说。
组成平台团队的特定角色
Galante认为,所有平台团队都应该具备四个主要角色:平台负责人、平台产品经理、平台工程师和基础设施平台工程师。
平台负责人最终是要激励并将平台出售给法律和合规、财务和高管团队的高层的人。他们负责解释平台可以拥有的价值,并“确保他们将平台视为价值驱动因素,而不是成本中心。”
他们还将不断向利益相关者通报平台整个生命周期的进展情况。
平台产品经理是负责确保平台真正建成的人。它们还可以促进不同利益相关者的妥协,例如确保安全团队感到高兴,因为安全性是由平台强制执行的,或者架构师感到高兴,因为该平台适合更广泛的企业架构。
他们还负责确保最终用户(开发人员)对平台感到满意并且真正想要使用它。 Galante 认为,抽象出基础设施的底层复杂性与为开发人员正确完成工作保留足够的背景之间存在着微妙的界限。
“您希望为开发人员提供铺好的道路以及与日益复杂的工具链交互的真正直观的方式……但归根结底,他们仍然是工程师。他们希望能够仍然拥有一定程度的控制和上下文围绕他们正在做的工作,这就是平台产品经理真正关注的事情,”加兰特说。
最后两个角色是平台工程师和基础设施平台工程师。造成这种差异的原因是平台工程师是他们所构建的开发人员的声音,而基础设施平台工程师是 I&O 团队的声音。
Galante 表示,人们通常会非常关注改善开发人员体验,但重要的是要确保 I&O 团队的需求也得到考虑。
“你可以将该平台本质上视为一台自动售货机,你可以维护、发展它,并将其作为服务提供给组织的其他部门,”他说。 “因此,拥有这种基础设施平台工程师的角色非常重要,他们通常可以来自基础设施场景并建立桥梁,以确保平台团队能够代表两种观点。”
能够很好地过渡到平台团队的工作类型
Einy 认为许多现有角色可以很好地过渡到平台工程团队,例如 DevOps 工程师、技术产品经理和 SRE。
Einy 认为,DevOps 是一个谱系,可能存在更注重基础设施的 DevOps 工程师和更注重体验的 DevOps 工程师。他相信那些负责面向用户的流程的人可以很好地转变为平台工程师。
“过去,平台工程责任是 DevOps 责任的一部分,但现在它似乎拥有了自己的完整角色,”Port 说。
库克补充说,DevOps 可能已经感受到了发布和维护软件所需的痛苦,因此他们可以将所学到的知识带到桌面上。
Einy 认为,技术产品经理在平台工程团队中也能表现出色,因为他们习惯于需要对其产品拥有深入的技术知识。
最后,SRE 可以很好地转化为平台工程师,因为他们负责质量、确保较低的 MTTR 并提高组织的整体弹性。
“平台工程的主要价值之一是创建标准并保持事物的弹性和效率,”艾尼说。
现在团队已经就位,下一步该做什么?
平台工程团队建立后,在团队内部以及与他们所服务的利益相关者之间进行强有力的协作非常重要。在建立良好的平台工程文化方面,库克建议建立一个工程师相互尊重、尊重彼此时间的环境。
他还补充说,通过引入不同的专家到团队中,他们自然会开始相互依赖并相互了解。 “拥有拥有专业知识的小团队有助于减少摩擦,因为他们在一起,”他说。
当涉及到与平台所针对的不同利益相关者进行协作时,平台即产品的思维方式又重新发挥了作用。这种合作应该是一个持续的循环,而不是一劳永逸的方法。
Einy 认为,平台工程团队应该进行调查,这意味着他们需要知道如何进行良好的调查,这需要知道要问什么问题,为回答设定目标,然后最终能够消化和理解结果。
他补充说,对平台的使用情况、谁在使用它、使用哪些部分、使用频率等进行数据分析也很好。
“再说一遍,与人们交谈,不是以结构化的方式,而是创建某种封闭的人群,可以代表更广泛的受众并收集来自该领域的反馈,”艾尼说。 “我认为他们需要不断做这些事情,才能知道他们正在为组织解决正确的问题。”
库克补充说,当他开始在红帽工作时,他们举办了一场“投诉盛宴”,开发团队来找他们,以开放、建设性的方式让他们知道出了什么问题。他说,开发人员一开始有点犹豫是否要说出来,但一旦一个人开始讨论,团队的其他成员就打破了僵局,公开了问题所在。
库克解释说:“如果你能让每个人都知道你确实关心这些问题,并且正在努力解决这些问题,那么他们会比你不使用他们的产品更愿意使用你的产品。”