中国工商银行李逸帆:平台工程能更好地驱动DevOps推进

2023年 9月 21日 28.7k 0

平台工程是什么?在Gartner发布的2023年10大重要战略技术趋势报告中,“平台工程Platform Engineering”位列其中。Gartner是这样描述的:“平台汇集的工具、能力和流程均由领域专家精心挑选,并经过封装,以方便终端用户使用。其最终的目标,是打造无摩擦的自助服务体验,为用户提供正确的能力,帮助其以最少的成本完成重要工作,提高终端用户的生产力,并减少他们的认知负担。平台应能够满足用户团队的一切需求,并以任何可能的形式,完美匹配用户的首选工作流。”

平台工程的目标是消除开发人员在编写代码之前对其开发环境或所需系统的思考,因此平台工程作为研发效能提升领域的热点话题得到大家的关注与讨论。在近日举办的WOT“金融科技创新”分论坛上,中国工商银行软件开发中心金融科技经理李逸帆以《中国工商银行平台工程的探索与实践》为主题分享了他对于平台工程的思考以及中国工商银行在平台工程方面的实践经验。

平台工程与DevOps

提到平台工程,就绕不开DevOps。早在2018年,中国工商银行开始进行DevOps研发、运营一体化转型,明确了“科技驱动、价值创造”的工作思路,通过DevOps的工具链打造业务研发和价值交付的两个闭环。李逸帆介绍,中国工商银行转型至今,研发交付速度、投产版本的频度都得到了明显的提升。但通过对业务交付过程中的调研和团队研发人员的反馈来看,DevOps转型同样也带来了一些困境。

首先,随着DevOps的推进,工具链的自动化水平不断提高,之前由测试人员和运维人员负责的部分工作不断转移给开发人员。李逸帆认为这种现象的出现与DevOps的理念有关,“谁构建,谁运行”的原则导致开发人员的工作量不断增加。其次,开发人员需要掌握的工具链体系越来越多,需要不断学习容器、K8s,可观测性等一系列的技术和工具。

“工作的左移和工具链的增多给开发人员带来了额外的认知负担。”李逸帆解释,“当开发人员的认知负担达到一定临界状态时,项目研发的复杂度不断增加,研发效能反而不会继续提升,而是造成研发效能陡降,这就是当前开发人员面临的困境。”

而平台工程或许是这一困境的可行解法。“平台工程通过建设内部开发平台,为开发团队提供通用共享服务,实现开发人员服务能力自助,将完成日常任务遇到的阻力降到最低。”

“DevOps与平台工程不是对立的概念。”李逸帆说,“平台工程解决了DevOps实践过程中研发人员面临的认知负担挑战,我认为平台工程能够更好地驱动DevOps推进。”

中国工商银行平台工程实践经验

根据平台工程的定义和思想,要如何开展平台工程的建设呢?李逸帆及其团队总结了建设平台工程的五项原则:

  • 明确使命和角色:不应该将平台团队视为另一个按需提供环境的服务台,而应该将其视为一个专门为内部客户服务的产品团队。
  • 将平台作为产品来对待:以产品为中心,平台团队需要秉持产品思维,以内部客户也就是应用开发者的反馈为基础,专注于能够真正为他们提供价值的东西。
  • 聚焦常见问题:了解导致开发进度放缓的痛点和阻力,既可以是通过开发人员反馈收集的定性信息,也可以通过查看工程KPI收集的定量信息。
  • 粘合剂很有价值:将工具链整合在一起,为工程师提供顺畅的自助服务工作流。
  • 不要重复发明轮子:平台团队应该防止组织内的其他团队重复发明轮子,寻找新的创造性解决方案来解决相同的问题。

李逸帆介绍,中国工商银行在平台工程建设过程中有自己的文化——“让开发更简单”的思想。“开发更简单”有两层含义,一是让开发流程更为简单,二是让开发人员使用的工具更为简单。基于这一思想,中国工商银行在开展平台工程探索过程的思路主要有统一语言体系屏蔽底层实现、提升用户体验降低平台阻力、聚焦核心目标建设平台能力和建设平台文化加速平台推广四个方面。

基于以上四个方面的具体实践,中国工商银行通过一站式工具链、组装式研发、工程模板和自动化交付流水线实现语言体系的统一,让开发人员尽可能屏蔽底层设施对技术的影响。一站式工具链通过对整个研发过程的抽取和提炼,将包括标准代码、研发规范、经验积累等各种资产整合在一起。组装式研发是通过一些服务结构化的资产和可复用代码管理平台,基于研发协作平台构建的一种稳态和敏态相结合的研发方式。工程模板包括提交构建,持续交付工程等项目过程中的模板,大量标准化工程模板降低了开发的门槛、进一步提升架构设计和落地统一性。自动化的交付流水线以发布单元以主线进行串接,通过这些标准化的构建和部署策略,简化配置,降低运维的成本,同时部署的运维成本是可验证、可复用的,从而达到提升生产部署风险防控水平和智能化程度。

在提升用户体验方面,中国工商银行通过对日常研发人员触点的整合,平台工程研发过程中体验工程师的参与,以及整个团队的产品思维来降低平台阻力,为研发人员提供最佳的使用路径。

在聚焦核心目标建设平台能力过程中,中国工商银行通过目标、策略和方法这样一个金字塔的模型层层迭代,不断完善平台能力的建设。

在建设平台文化加速平台推广阶段,通过数据分析、用户问卷、培训推广、品牌建设促进研发团队对研发人员之间的互动交流,达成整个研发团队中对平台工程的共识。

同时,李逸帆强调,一定的产品思维也是平台工程的重点,中国工商银行安排专人从事整个平台工程产品的运营,分析相关工作对于开发人员的价值,并根据分析结果对目标进行复盘,迭代更新平台工程的建设。

此外,ChatGPT的横空问世也为研发效能的提升带来了巨大的变革。李逸帆称,中国工商银行正在深入探索AIGC的应用,例如单元测试生成、代码补全、代码重构、代码搜索、代码推荐和错误检查等,提高编码质量和效率。

结语

“市面上任何一种工具,都不可能与平台一样能够满足企业的全部需求。企业必须花费充足的时间和精力,定制符合自身需求的平台。” 这是Gartner对于企业进行平台工程建设的建议。中国工商银行的做法与之不谋而合。在实践探索中,中国工商银行不断完善适合自身的平台,通过平台工程实现了技术团队如何以更低成本、更高效率来满足业务需求,并支持业务运营和发展的问题。李逸帆相信,通过平台工程可以让DevOps的推广走得更远,更快、更好地提升业务价值。

本文整理自中国工商银行软件开发中心金融科技经理李逸帆在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论