什么是平台工程?
平台工程是软件开发领域内的一门学科,致力于提高生产力、缩短应用交付周期、加快上市速度。 平台工程的总体目标是找出影响开发团队的痛点,并通过内部开发人员平台(IDP)提供可重复使用的通用工具和功能来缓解这些痛点。
平台工程应被视为一种跨学科方法,用于改善工作文化和提高生产率,并对最终收益产生积极影响。从业务角度来看,平台工程计划可以缩短应用上市时间、优化运维并提高应用的开发、部署、管理和维护效率。从文化角度来看,平台工程旨在通过为开发人员提供所需的工具和支持,让他们能够专注于工作中最重要的部分,从而改善团队之间的协作并减轻认知负荷。
平台工程的作用是什么?
平台工程的作用是通过提高一致性和效率来使企业组织受益。它通过实现更高效的跨团队合作,促进团队之间更好的协作,并降低新团队成员的学习门槛。平台工程既可以是一项具体的工作职责,也可以是一组团队成员共同致力于采纳的一门学科或一种方法。
平台工程的核心目标是减少管理任务所需的时间,这些任务可能会影响开发人员生产力,并在应用生命周期中造成瓶颈。
平台工程师如何指导开发人员?
平台工程师和平台工程团队负责管理基础架构并创建一套工具,引导开发人员遵循旨在满足其需求的工作流,该流程有时也被称为“黄金路径”。
由平台工程师精心打造的这套定制化工具和流程,将通过赋能软件开发人员的自助服务功能和自动化基础架构,满足企业组织的独特需求。 通过这种方式,可为开发人员提供更大的自主性和灵活性,使其不必受制于通用解决方案,能够根据项目要求使用最合适的工具。与此同时,这也减少了开发人员学习新技能和承担额外工作的需求,使他们能够专注于自己最擅长的事情:编写代码。
平台工程团队还可确保建立强大的治理框架,以保持对所有环境中的资源、安全性和合规性的掌控。这样做的另一个好处是,可以为企业组织提供一种更实用的方法来监控性能、跟踪成本并识别潜在风险或漏洞。
平台工程的幕后故事。视频时长:2:31
什么是应用平台?
什么是内部开发人员平台?
内部开发人员平台(IDP)是一套标准化的自助服务工具和技术,供开发人员在应用的整个生命周期内创建、部署和维护代码。集成到内部开发人员平台中的工具链可为开发人员提供更积极、更高效的工作流,重点关注安全性和可扩展性等因素,并最终帮助企业创造更多客户价值。
平台工程与 DevOps
DevOps 是一种软件开发方法,企业组织可利用它将开发和 IT 运营功能整合到迭代工作流中。而平台工程的重心则在于创建为这些工作流提供支持的内部平台和工具。
平台工程还可协助建立一套标准化的工具、知识、服务及流程,服务于整个企业组织内的众多开发团队。有了精心打造的平台,开发团队便能够构建、部署、维护并支持自身组件,而平台团队则负责构建、部署、维护并支持平台组件。
DevOps 实践鼓励开发人员自行寻找、学习、部署和管理软件,从而使他们能够更深入地了解和控制生产环境中的软件。
采用 DevOps 和持续交付导致管道和工具链变得更长;再加上“左移”(在创建和维护应用程序时,端到端地了解工作流中每个阶段的安全防护情况)带来的额外压力,开发人员需要对他们所构建应用中涉及的复杂性有更深入的理解。
这种自主性可能会带来责任和认知负担,归根结底对个人和企业组织都无益。
平台工程这一策略通过更加重视同理心和用户旅程,在 DevOps 的基础上更进一步,致力于寻找更好的方法来实现以下目标:应用交付自动化、改善协作与沟通、减少错误、增强安全性和合规性、提高效率,最重要的是,将开发人员的精力重新聚焦到最需要他们专注的地方。
平台工程如何为开发人员赋能?
平台工程减轻了开发人员对基础架构的责任。这在混合云和多云环境中尤为必要。
过去,开发人员要么得负责找到能满足他们需求的工具,要么得从头开始构建这种工具。虽然以前更基本的技术迭代让这一工作期望不难实现,但当今企业级组织的开发人员发现,随着业务不断增长,为用户提供支持和有效扩展变得更加复杂和零散无序。
平台工程师通过积极寻找开发人员体验过程中出现的阻碍,并精心挑选可以消除或缓解这种阻碍的工具和技术,从而创建有效的内部开发人员平台。第一步应从最简单的方法着手,仅整合那些您确信对开发团队有益的工具。在此基础上,逐步扩展各项能力,并根据开发团队的需求持续改进,同时在此过程中不断收集反馈意见。
平台工程师与站点可靠性工程师(SRE)
站点可靠性工程师(SRE)负责处理底层 IT 基础架构,SRE 团队负责开发流程和自动化,以确保基础架构的完整性并维持正常运行时间。SRE 和平台工程师有着共同的目标,但两者的侧重点不同:SRE 侧重于软件的性能、可靠性和规模,而平台工程则侧重于旨在提升开发人员体验的系统。
平台工程和站点可靠性工程均与系统创建和维护相关。这两个概念之间的区别在于各自实践的侧重点不同。
平台工程面临的主要挑战是什么?
只有将平台视为产品并将内部开发人员视为客户,平台工程才能取得成功。若企业组织将平台工程视为一项严格的 IT 任务,而非专为内部开发人员打造的产品,那么采用平台工程往往会以失败告终。如果工程团队在不了解开发人员真正痛点的情况下构建内部开发人员平台(IDP),开发人员很可能会绕过该平台以保持开发速度。
类似地,企业组织在平台设计上可能存在过度或不足的情况。平台工程不仅仅是构建一个开发人员门户 UI(例如 Backstage)。要使自助服务真正发挥作用,需要更深入的基础架构自动化和编排。类似地,为了应对未来所有潜在用例而对平台进行过度工程化设计,将会导致复杂性急剧攀升,并使学习难度加大。
此外,平台团队在将零散的工具和企业级复杂性整合到精简的自动化工作流中时,面临着巨大的技术挑战。要帮助应用开发人员消除这种复杂性,需要持续的抽象化和维护工作,这可能会迅速让资源不足的团队不堪重负。
为了克服这些障碍,成功的企业组织会转向严格的“产品思维模式”,首先推出一个最精简的可行平台(TVP),以解决单个棘手的工程瓶颈问题。通过与一个积极发声的开发人员试点小组合作设计这些初始工作流,他们打造出无缝的自助服务式“黄金路径”,让工程师们愿意主动选用,而不是被迫使用。他们并没有强制采用,而是让使用平台成为阻力最小的选择,并利用内部自然发生的成功案例,逐步在整个企业范围内扩展基础架构自动化。
红帽在平台工程中扮演的角色
红帽® OpenShift® 和红帽高级开发人员套件可为整个软件开发生命周期提供全面的平台工程解决方案。红帽 OpenShift 为应用在生产环境中部署、管理和扩展提供了坚实的基础,而红帽高级开发人员套件则赋能平台团队提升开发人员生产力、降低风险并支持 AI 驱动的开发——既助力实现即时的运营收益,又为长期转型提供有力支持。红帽高级开发人员套件在红帽 OpenShift 的基础上,引入内部开发人员门户和可信软件供应链,构建了一个完整的内部开发人员平台(IDP)。
AI 时代的平台工程现状
本文全面解读了由 Illuminas 开展的“AI 时代的平台工程现状”调查。了解详情。