打造团队
在组织层面,平台工程是从反应文化演变而来的。 在反应式文化中,孤独的开发人员在孤岛中构建工具。 当一位开发人员离开时,了解该工具的工作原理也会离开,这可能会导致进程中断和停机。
在更成熟的文化中,工具由平台工程团队主动构建和维护。 开发人员和开发人员可以快速开始新项目,具有托管的自主权。
要使平台工程团队取得成功,他们的组织需要具有主动的文化,让高管们拥有适当的技能。
文化角色
具有平台工程成熟度的组织也具有很强的领导地位。 公司内的平台工程是一项平衡行为,需要持续重新评估。 组织需要支持平台工程团队,以了解当前资源使用情况并映射前进路径。
在平台工程采用的早期阶段,产品团队各自都有自己的一组独特的工具、操作和部署流程。 在成熟的平台工程组织中,集中式平台工程被视为领导和开发人员的最佳工作方式。 成熟的组织认识到产品团队问题是组织问题。
..当我们追逐不同的路径时,云成本、基础结构成本、工程成本、各种方面,事实证明,这是一个组织问题,每个人都是2万名开发人员或3万名员工的组织问题。 – 企业软件公司的高级工程主管
组织文化需要支持在平台工程中持续发现路径。 高管们应专注于支持支持平台工程团队进行创新。
组织的目标应该是更倾向于优化高管文化:
- 使团队能够有效解决边缘案例并推动创新。
- 促进团队内的自治和责任,以鼓励创新和试验。
- 在不断发展的业务需求和用户需求中,确保持续相关性和有效性。
随着时间的推移,组织从临时到优化支持文化变革的水平与平台工程。 在每个级别,领导在推动实现平台工程愿景所需的文化变革方面所扮演的角色。
临时 | 操作性 | 可缩放 | 优化 |
---|---|---|---|
推动数据驱动的决策和适应性文化。 | 促进协作文化、持续学习和改进。 | 促进同理心和成长的文化 | 鼓励创新和授权团队推动变革和进步 |
组织动机还在支持平台工程文化变革的每个级别发展。
临时 | 操作性 | 可缩放 | 优化 |
---|---|---|---|
|
|
|
|
组织结构
平台工程师是开发和运营之间的粘附。 就特定组织结构而言, 团队拓扑模型 是考虑需要执行的操作的好方法。 例如,可以选择拥有一个不断发展的平台团队,单独的专家更专注于面向平台的开发人员方面。
若要成功,请确定:
- 团队(通常是高管)的赞助商,他们帮助优先考虑高级别目标,并支持整个组织使用平台。
- 运营、安全、合规性和体系结构的利益干系人有助于确保平台能够适应其指导和需求。
- 有人充当产品经理(无论实际标题如何),以了解并帮助确定所有选民的需求的优先级。
克服人才差距:平台工程师要求
平台工程师需要具备产品思维模式并了解运营。 无论他们作为开发人员还是运营团队开始,都比技能集更重要。 构建内部开发人员平台的团队可以从引入具有不同背景的各种团队成员中获得力量:开发、IT 运营、K8s 管理员、站点可靠性工程师(SRE)和基础结构即代码(IaC)专家。
还可以通过从组织中的现有应用程序团队引入适合的开发人员,从而增强团队开发工具的知识和技能集。 当你考虑你的投资时,这些开发人员处于一个很好的位置,有助于代表客户的声音。
查找平台工程师可能是一个挑战。
很难雇用非常好的基础设施和平台工程师。 我们今天雇佣的许多人对直接客户面临的应用程序充满热情,对吗? 但我们在整个技术行业没有对基础设施工程充满热情的观众或候选人,这总是一个挑战。对于基础结构来说,这种专业知识很少见。 - 中型销售公司的工程副总裁
平台工程师应能够:
- 构建和缩放内部开发人员产品,专注于效率、可靠性和安全性
- 参与平台工程产品的体系结构和设计
- 使用容器业务流程(例如 Kubernetes)、持续集成/持续部署(示例:GitHub Actions、Azure Pipelines)和监视和日志记录工具(示例:Prometheus、Grafana、Elasticsearch)
- 使用基础结构即代码(IaC)和相关工具生成模板(示例:Terraform、Azure 资源管理器)
- 以至少一种脚本语言编写代码(示例:Python、PowerShell、Bash)
构建出色的平台工程团队需要混合各种技术技能和以产品为中心的方法。 尽管招聘面临挑战,但构建背景不同的团队会导致更好的内部平台,从而提高效率、可靠性和安全性。 这种整体方法不仅解决了组织的直接技术需求,而且还培养了创新和持续改进的文化。