打造团队

在组织层面,平台工程是从反应文化演变而来的。 在反应式文化中,孤独的开发人员在孤岛中构建工具。 当那位开发人员离开时,关于工具工作原理的知识也随之消失,这可能会导致流程中断和停机。

在更成熟的文化中,工具由平台工程团队主动构建和维护。 开发人员拥有有管理的自主权,他们可以快速开始新项目。

为了使平台工程团队取得成功,组织需要具备主动的文化,管理层的支持,以及开发人员拥有适当的技能。

主动文化和高管支持与投资能力平台工程功能模型中对齐。 在最高层,公司领导在鼓励创新和实施治理措施的同时,促进团队自主权和问责。

文化角色

具有平台工程成熟度的组织具有很强的领导能力。 公司内的平台工程是一项平衡行为,需要持续重新评估。 组织需要支持平台工程团队,以了解当前资源使用情况并映射前进路径。

在平台工程采用的早期阶段,产品团队各自都有自己的一组独特的工具、作和部署流程。 在成熟的平台工程组织中,集中式平台工程被视为领导和开发人员的最佳工作方式。 成熟的组织认识到产品团队问题是组织问题。

..当我们探索不同的路径时,涉及到云成本、基础设施成本、工程成本等各个方面,事实证明,这是一个关系到整个组织的问题,影响到2万名开发人员和3万名员工。 – 企业软件公司的高级工程主管

组织文化需要支持在平台工程中持续探索和发现。 高管们应专注于授权平台工程团队进行创新。

组织的目标应该是朝着优化文化迈进,让高管们:

  • 使团队能够有效解决边缘案例并推动创新。
  • 促进团队内的自治和责任,以鼓励创新和试验。
  • 在不断发展的业务需求和用户需求中,确保持续相关性和有效性。

随着时间的推移,组织通过平台工程的开展逐步从临时支持转向优化支持,以适应文化变革。 在每个级别,领导的角色不断发展,以推动接受平台工程的愿景所需的文化变革。

临时信息 可运行 可缩放 优化
推动数据驱动的决策和适应性文化。 促进协作文化、持续学习和改进。 促进同理心和成长的文化。 ​ 鼓励创新,使团队能够推动变革和进步。 ​

组织动机还在每个级别发展,以支持平台工程文化变革。

临时信息 可运行 可缩放 优化
  • 认识到实现组织范围的解决方案的必要条件。
  • 优先使用指标和度量来有效地查明系统瓶颈,从而获取对效率低下的认识。
  • 增强组织结构,以启用和支持变更计划。
  • 在整个组织中培养协作型思维模式,促进集体解决问题。
  • 优先建立可靠的反馈机制,以推动持续改进。
  • 提升可靠性文化。
  • 推动产品主导型增长方法,实现可持续成功。
  • 在团队中培养同理心和成长型思维模式的文化。
  • 提升产品用户研究在决策过程中的重要性。
  • 使团队能够有效解决边缘案例并推动创新。
  • 促进团队内的自治和责任,以鼓励创新和试验。
  • 在不断发展的业务需求和用户需求中,确保持续相关性和有效性。

组织结构

平台工程师是开发与运营之间的纽带。 在特定的组织结构方面,团队拓扑模型 是思考你需要做什么的好方法。 例如,您可以选择拥有一个成熟的平台团队,并有独立的专家更专注于平台的开发者面向方面。

若要成功,请确定:

  • 团队(通常是高管)的赞助商,他们帮助优先考虑高级别目标,并支持整个组织使用平台。
  • 运营、安全、合规性和体系结构的利益干系人有助于确保平台能够适应其指导和需求。
  • 有人充当产品经理(无论实际标题如何),以了解并帮助确定所有选民的需求的优先级。

克服人才差距:平台工程师要求

平台工程师需要具备产品思维模式并了解运营。 无论是作为开发人员还是在运营团队中开始,他们的起步位置都不如技能集重要。 构建内部开发人员平台的团队可以通过引入具有不同背景的各种团队成员来获得力量:开发、IT 运营、Kubernetes 管理员、站点可靠性工程师(SRE)和基础结构即代码(IaC)专家。

还可以通过从组织中的现有应用程序团队引入适合的开发人员,从而增强团队开发工具的知识和技能集。 在考虑投资时,这些开发人员可以很好地代表客户的声音。

查找平台工程师可能是一个挑战。

很难雇用非常好的基础设施和平台工程师。 我们今天雇佣的许多人对直接客户面临的应用程序充满热情,对吗? 在整个科技行业中,热衷于基础设施技术的观众和候选人数量都不多,这是一个长期存在的挑战。尤其是在基础设施方面,这种专业知识非常稀缺。 - 中型销售公司的工程副总裁

平台工程师应能够:

  • 构建和扩展面向开发者的产品,重点关注效率、可靠性和安全性。
  • 参与平台工程产品的体系结构和设计。
  • 使用容器编排(例如 Kubernetes)、持续集成和持续部署(例如 GitHub Actions、Azure Pipelines)以及监控和日志工具(例如 Prometheus、Grafana、Elasticsearch)成功工作。
  • 使用基础结构即代码和关联工具(例如 Terraform 和 Azure 资源管理器)生成模板。
  • 以至少一种脚本语言编写代码(例如 Python、PowerShell 和 Bash)。

构建出色的平台工程团队需要混合各种技术技能和以产品为中心的方法。 尽管招聘面临挑战,但构建背景不同的团队会导致更好的内部平台,从而提高效率、可靠性和安全性。 这种整体方法不仅解决了组织的直接技术需求,而且还培养了创新和持续改进的文化。

后续步骤