平台工程与DevOps

复制 URL

平台工程通过提供标准化的工具、服务和工作流来扩展 DevOps 实践,以便开发团队能够更高效地构建软件解决方案。平台工程是一个近年才出现的术语,它描述了一种对内部服务和资源进行组织的实践;通过这种实践,开发团队能够构建解决方案,而无需直接管理底层元素。平台工程师负责整理和维护开发团队所需的各种工具、服务和文档,并借助称为“黄金路径”的自动化流程,使 IT 组织中的每个人都能更高效地完成工作,而不需要完全靠自己解决所有问题。随着 DevOps 的广泛采用,平台工程也得到了发展,因为平台工程能够提供支撑 DevOps 工作流的底层组件,并助力其在企业组织中实现规模化应用。

在伦敦 DevOpsDays 大会的演讲中,Abby Bangser 用烹饪作比喻,解释了平台工程在 DevOps 中的作用。如果您打算“烹饪”软件(一顿饭),需要一个工具(锅)或配料(欧芹),您可以提出请求,但可能无法得到确切需要的物品。负责置备供应的人员可能无法提供(或者无法获取)您想要的特定食材或物品。在 DevOps 模式下,您可以避免因提出请求和依赖资源置备,但您必须自己创建所需的组件或工具。按照 Bangser 的烹饪类比,这就好比得自己用金属打一口锅,或者从种子开始种植欧芹,这两件事都既困难又低效。

在这一自助服务模式下,日常任务所需的各种技术会让开发团队应接不暇。要在众多工具中不停切换既繁琐,又会降低效率,还会增加团队的认知负担。入职难题也会随之出现:新员工需要费力应对众多工具和系统,这使得他们难以高效融入团队;而资深团队成员也不得不分出精力提供协助,从而偏离自己的主要工作,最终导致整体工作效率下降。平台工程旨在通过减轻这些负担来支持 DevOps 工作流,以便 IT 组织能够专注于创新,同时由平台工程师为其集中整合最佳实践和自助服务体验。

平台工程的幕后故事。视频时长:2:31


进一步了解平台工程

平台工程让 DevOps 团队无需事必躬亲,从而有助于 DevOps 实现规模化扩展。平台工程还可协助建立一套标准化的工具、知识、服务及流程,服务于整个企业组织内的众多开发团队。有了精心打造的平台,开发团队便能够构建、部署、维护并支持自身组件,而平台团队则负责构建、部署、维护并支持平台组件。两个团队都能集中精力,更快地交付成果。平台团队提供“X 即服务”,这样 DevOps 团队就无需每次都临时创建所有内容。

如果平台团队为开发团队提供各种组件,那么平台工程就有可能会产生与 DevOps 最初试图缓解的相同问题和内部依赖关系。如果应用团队需要等待平台团队提供他们所需的资源,那么在这个过程中是否会出现瓶颈?

理论上有这种可能,但平台团队也有潜力减少冗余和重复工作——而这往往会浪费整个企业组织的时间。多个开发团队可以使用同一个自助服务平台,而不必每个团队都创建具有相同功能的自有平台。这样一来便可长久保障一致性,即使现有的开发团队不再负责该项目。此外,这些平台团队会将开发团队视为客户,他们明白,如果不能满足目标用户的需求,这些内部客户就会采用其他类型的基础架构或部署机制,这已然成为他们快速交付的动力。最佳实践和成熟的解决方案均可整合到平台中,团队之间也能更高效地共享知识。

对于了解站点可靠性工程(SRE)的人来说,平台工程可能听起来并不陌生。SRE 是 Google 引入业界的一个术语,用于描述以自动化方式运行产品的系统,而该系统旨在替代传统上由系统管理员执行的手动工作。SRE 负责处理底层基础架构,SRE 团队负责开发流程和自动化功能,以确保基础架构的完整性并维持正常运行时间。SRE 从业者和平台工程师有着共同的目标,但两者的侧重点不同:SRE 侧重于软件的性能、可靠性和规模,而平台工程则侧重于旨在提升开发人员体验的系统。

进一步了解红帽的 SRE 方法

团队通常会利用平台工程,在自助服务门户中创建自己的内部开发平台(IDP)、工具、服务以及文档。平台工程师能够依据用户需求与最佳实践来设计并交付 IDP,并通过用户调研与测试对其进行迭代优化。以开发团队为目标用户,平台工程师可以交付能够实现开发人员自助服务的 IDP,并帮助开发团队减轻认知负担。

对于希望在软件开发生命周期中建立持续集成与持续交付(CI/CD)管道的企业组织,采取 DevOps 实践势在必行。CI/CD 可实现代码测试与构建的自动化,并使软件开发与更新周期处于持续整合状态下,从而最大限度降低漏洞和代码故障所带来的影响。在整个软件开发生命周期中集成并自动化 CI/CD 管道,能让企业组织获得构建高质量平台和更快交付应用所需的可见性。

红帽® 的产品和服务可以协同运作,助力提升开发人员工作效率,并赋予企业灵活度,从而提高团队工作效率,增强自助服务能力,加快新员工上手速度,并减轻跨团队重复性任务的负担。

红帽开发人员中心是一个基于云原生计算基金会(CNCF)项目 Backstage 而搭建的企业内部开发人员门户。红帽开发人员中心有助于企业组织整合技术选择,增强自助服务能力并加快新员工上手速度,进而提高工作效率。借助该门户,企业组织可以使用内部开发人员门户来整合开发流程元素,简化工作流,并促进内部协作。

红帽 OpenShift® 则可以搭配红帽开发人员中心,使开发人员能够在各类应用中使用其惯用的工具,这些应用包括云原生应用、传统应用以及现代化应用,且无论它们部署在本地、云端还是边缘。

红帽技术助力提高开发人员工作效率

了解如何用红帽技术打出组合拳,提高开发人员工作效率。

扩展阅读

什么是平台工程工具?

平台工程工具是支持和赋能开发团队通过自助服务方法提高生产力的资源。

什么是软件开发的黄金路径?

黄金路径是指企业组织内部一套预先设定、拥有完善文档和技术支持的软件构建和部署方法。

红帽 OpenShift 为平台工程师添翼加速

红帽 OpenShift 可为平台工程团队提供高效构建和管理内部开发人员平台所需的工具。

Platform engineering 相关资源