Jump to section

什么是平台工程?

复制 URL

平台工程是软件开发中的一门学科,专注于提高生产力、应用周期时间和上市速度。

平台工程应被视为一种跨学科方法,用于改善工作文化和提高生产率,并对最终收益产生积极影响。从业务角度来看,平台工程计划可以缩短应用上市时间、优化运维并提高应用的开发、部署、管理和维护效率。从文化角度来看,平台工程旨在通过为开发人员提供所需的工具和支持,让他们能够专注于工作中最重要的部分,从而改善团队之间的协作并减轻认知负荷。

平台工程的总体目标是找出影响开发团队的痛点,并通过内部开发人员平台(IDP)提供可重复使用的通用工具和功能来化解这些痛点。

平台工程既可以是一项具体的工作职责,也可以是一组团队成员共同致力于采纳的一门学科或一种方法。

通过平台工程的实践,企业组织能够统一开发流程和工具,提高工作效率。它能促进团队间更好的协作,并通过更高效的跨团队合作来缩短新团队成员的学习曲线。

平台工程的核心目标是减少管理任务所需的时间,这些任务可能会影响开发人员的工作效率并在应用生命周期中造成瓶颈。为了实现这一目标,平台工程师和平台工程团队负责管理基础架构并创建一套工具,引导开发人员遵循一个预先定义的工作流,该流程针对开发人员的需求而量身设计,有时也被称为“黄金路径”。

不同的开发团队有不同的需求(即使是在同一家公司内),并且没有哪两个开发人员平台会一模一样。平台工程师深知这一点,并会通过为软件开发人员提供支持的自助服务功能和自动化基础架构,精心打造一套定制化的工具和流程,以满足企业的独特需求。通过这种方式,可为开发人员提供更大的自主性和灵活性,使其不必受制于通用解决方案,能够根据项目要求使用最合适的工具。与此同时,这也使开发人员无需学习新技能和承担多余工作,从而使他们能够专注于自己最擅长的领域:写代码。

平台工程团队还可确保建立强大的治理框架,以保持对所有环境中的资源、安全性和合规性的掌控。这样做的另一个好处是,可以为企业组织提供一种更实用的方法来监控性能、跟踪成本并识别潜在风险或漏洞。 

平台工程从何而来?

随着云计算技术的发展和多样化,业界出现一种新的声音:开发人员不应该需要关注底层的基础架构问题,特别是在更加复杂的混合云和多云环境中。平台工程的出现正是顺应了这种论调。 

传统上,开发人员要么得负责找到能满足他们需求的工具,要么得从头开始构建这种工具。虽然以前更基本的技术迭代让这一工作期望不难实现,但当今企业级组织的开发人员发现,随着业务的增长,为用户提供支持和有效扩展变得更加复杂和零散无序。

新工具和新功能每天层出不穷,而评估和选择满足工作需求的工具需要一定的时间。学习新工具技能、研究新技术、请求基础架构和应用服务以及了解最新安全威胁的过程,可能会浪费大量精力和资源,占据原本用于改进所销售产品和完成业务优先事项的时间。 

在平台工程领域,如果开发人员是客户,那么内部开发人员平台(IDP)就是产品。

内部开发人员平台由平台工程团队配置,包含一组标准化的内部自助服务工具和技术,开发人员需要这些工具和技术来在应用的整个生命周期内创建、部署和维护代码。集成到内部开发人员平台中的工具链可为开发人员提供更积极、更高效的工作流,重点关注安全性和可扩展性等因素,并最终帮助企业创造更多客户价值。

要创建一个有效的内部开发人员平台,必须积极关注开发人员体验过程中出现的阻碍,并精心挑选可以消除或缓解这种阻碍的工具和技术。第一步应从最简单的方法着手,仅整合您知道对您的开发团队有益的工具。在此基础上,逐步扩展功能,并根据开发团队的需求持续改进,同时在此过程中不断收集反馈意见。 

平台工程与 DevOps 具有同样的目标,即通过提高自动化和加强协作来更好地使开发人员与运维人员保持一致。想厘清这两种实践之间的关系,我们可以把平台工程视为一个关键且互补的要素,用于解决在整个企业组织中扩展 DevOps 所遇到的挑战。

传统上,DevOps 实践鼓励开发人员自己寻找、学习、部署和管理软件,从而让他们对生产中的软件有更多的了解和控制。然而,它实际上并不一定能带来预期的经济效益,过多的责任可能会增加开发人员管理上的负担和认知负荷。

某个团队可能有意愿交付某个功能,但没有实现它的必要技能。又或者他们可能拥有技能,但没有意愿去构建它;又或者他们可能既有技能也有意愿,但执行这个想法可能不安全或不划算。随着企业规模的扩大和业务的发展,所有这一切只会变得更加复杂。

采用 DevOps 和持续交付导致管道和工具链变得更长;另外再加上 "左移"的压力(在创建和维护应用时,端到端地了解工作流中每个阶段的安全防护情况),开发人员需要对他们构建的应用中涉及的复杂性有更深入的理解。

这种自主性能让人感到掌控的自由,但也可能导致令人崩溃的过重负担,最终对个人和企业都没有好处。

平台工程不仅仅要关注技术层面的改进,还要关注于理解和优化开发者和用户的实际体验,在 DevOps 的基础上找到了更好的方法来实现应用交付自动化、改善协作和沟通、减少错误、增强安全性和合规性、提高效率,并且最重要的是——将开发人员的优势重新集中到最需要的地方。 

平台工程和站点可靠性工程都是关于创建和维护系统的。这两个概念的区别在于各自实践的侧重点不同。站点可靠性工程重点关注 IT 运维团队,帮助他们使用软件作为工具来管理系统、解决问题并实现运维任务自动化。

平台工程师则重点关注开发团队,帮助他们创建用于管理系统、解决问题和实现开发任务自动化的平台。 

红帽® OpenShift® 可以很好地为平台工程团队提供一套全面的特性和功能,覆盖构建管道GitOps无服务器服务网格等方面。

结合使用 OpenShift 与红帽开发人员中心,工程团队就能获享所需的项目模板、文档和工作流,来高效构建和管理独特且专门用于满足企业需求和目标的内部开发人员平台。

利用红帽开发人员中心,开发人员可以连接到统一的控制面板,并获得各种精选工具、软件模板、文档和其他资源,以便高效构建优质软件。此外,开发人员中心整合了开发人员加入现有项目所需的信息和资源,能够最大限度地缩短新成员的上手时间。

该平台致力于利用开源技术促进创新,可以提供卓越的灵活性,并避免供应商锁定,而红帽在稳定性、支持和可靠性方面的良好口碑更可让用户安心无忧。此外,开发人员中心能够通过插件轻松集成全新工具和服务,而且具有可扩展性,是一款面向未来的解决方案,能够满足不断变化的开发需求。

通过将 OpenShift、红帽开发人员中心、可靠的软件供应链高级集群安全防护(ACS)高级集群管理(ACM)和 Ansible 作为核心构建模块,平台工程师可以设计并构建集成式工具链与工作流,为开发人员提供更顺畅、更高效的体验。 

继续阅读

文章

什么是 DevSecOps?

如果您想要充分发挥出 DevOps 的敏捷性和响应力,则必须在应用的整个生命周期内兼顾 IT 安全性。

文章

什么是 CI/CD?

CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。

文章

什么是 DevOps 工程师?

DevOps 工程师身怀独特的技能和专业知识,可以在组织内实现协作、创新和文化转变。  

详细了解 DevOps

产品

在红帽专家的指导下参与高强度、富有针对性的驻留培训。帮助您的团队借助敏捷开发方法和开源工具,快速、高效解决当前业务难题。

红帽的战略顾问将从大局出发,以战略性视角审视企业发展,分析您当前面临的业务挑战,并提供全面、低成本、高效益的解决方案,帮助您轻松应对各项挑战。

相关资源