持续交付2.0

平台工程,到底是什么?2017年乔帮主是这么说的

Image

1

平台工程是一种新兴的技术方法,用以加快应用程序的交付及其产生业务价值的速度

平台工程通过提供自动化基础设施操作的自助服务功能,来提高开发人员的体验和生产力。平台工程之所以成为趋势,是因为它承诺:优化开发人员体验,并加速产品团队交付客户价值。

“平台工程的出现是为了应对现代软件架构日益复杂的情况。由于DevOps团队通常来自于原有的支撑性团队,由其构建的原有生产力工具的主要服务对象是其自身人员,所以,有一些在支撑团队看似是日常事务的操作,对于非专家的业务团队人员来说,则是一组相当复杂,学习成本很高的神秘工具。”

早在2017年,在上海 DevOps 大会上,腾讯高级管理顾问乔梁老师就在其Keynote 演讲中,指出:

「DevOps 支撑(服务)团队应该转型成为平台产品型服务团队,而不是纯服务团队”。有远见的公司应该开始构建位于最终用户(内部业务产品团队的成员)和他们所依赖的支持服务之间的操作平台,从而帮助并减少与他们所做的有价值工作任务之间的摩擦。」

并且,在2021年的腾讯内部,由TEG与IEG共同组织的技术大会 Tencent CI Day大会上指出(原文是一篇长文,慎入):

「一致性是研发效能提升的必经之路」

Image

提出XaC理念(即Everything as Code),并在腾讯内部的多个研效能工具平台上得以实现与应用。

Image

Gartner 预计,到 2026 年,80% 的软件工程组织将建立平台团队,作为应用程序交付的可重用服务、组件和工具的内部供应商。平台工程最终将解决业务软件开发团队和运营服务团队合作的核心问题。

2

平台工程如何运作

平台工程是一种新兴趋势,旨在实现企业软件交付现代化,特别是数字化转型。

工程平台由专门的产品团队创建和维护,旨在通过提供通用、可重用的工具和功能以及与复杂基础设施的接口(包含 API)来支持软件开发人员和其他人的需求。 

工程平台的具体功能,完全取决于其用户的需求。该平台是由专门的专家团队构建并提供给客户的产品,客户可能是开发人员、数据科学家或产品人员,业务人员,不同层级的管理者。平台团队需要了解用户群体的需求,确定工作的优先级,然后构建一个对目标受众有用的平台。

最初的平台构建工作通常从内部工具门户聚合开始,因为这些门户最为成熟。平台团队必须与他们支持的开发人员密切协商,确定哪种方法最适合他们的独特情况。业务产品形态越多,组织内的技术人员越多,情况也就越复杂。这就要在一致性(标准化)与特殊性之间,做好取舍与平衡。所以,拥有一致的工程理念就显得非常重要。这些理念的作用就在于,当发生一些工作冲突时,以之做为取舍的标准。

我们的目标是提供无摩擦的自助式开发人员体验,提供恰当的功能,使开发人员和其他人能够以尽可能少的开销开发有价值的软件。

该平台应该提高开发人员的整体工作效率,同时减少认知负担。该平台应包含开发团队所需的一切,并以最适合团队首选工作流程的方式呈现。

利用新兴AI技术的新一代工具的开发,使平台工程成为 DevOps 社区中最热门的话题之一。这些新兴技术应该让自助式服务体验更好,更高效,同时也能解放平台团队的生产力。

3

平台工程是用来做什么的

对于一家公司来说,理想的开发平台可能对另一家公司来说毫无用处。即使在同一家公司内,不同的开发团队也可能有完全不同的需求。 

工程平台的首要目标是提高开发人员的生产力。对于组织而言,此类平台鼓励一致性和效率。对于开发商来说,它们可以让他们从交付流水线和低级别的基础设施管理工作中解脱出来。

4

小结
  • 平台工程通过自动化的基础设施操作,来实现可重用工具和平滑的自助服务能力,从而提高开发人员体验和生产力。 

  • 该技术方法利用可重用的可配置应用程序组件和服务。

  • 对用户的好处在于标准化的工具、组件和自动化流程。

2021年,乔梁老师在腾讯内部的分享总结文章《一致性,是研发效能提升的必经之路(长文慎入)》。

Image

乔梁老师开课啦~视频课程《持续部署实战解析(NodeJS版)》, 限时特价!

Image

(扫码订阅)

Image

​​