在数字化智能时代,各行业对高效研发的需求日益增强。从早期的敏捷开发、CI/CD 工程化流水线到 DevOps、DevSecOps、GitOps、DataOps、AIOps 甚至 NoOps,不同的工具和平台都是为了优化软件生产的生命周期,以及提升组织的响应效率而生。
然而现实情况却是,在业务驱动的研发过程中总会面临多个环节的挑战,例如云平台在运维中的承载量问题、数据库配置与变更管理问题,以及软件开发方式的问题等。因此,想要改变这一现状,就要在多环节找到影响研发效能提升的问题所在和解决路径。那么,如何提升研发效能便成为大家深入探讨的话题。
11 月 4 日,InfoQ 技术公开课邀请到了汇丰科技云与 DevOps 中国区总监刘华、汇丰科技云平台高级专家顾问陈庆佳、汇丰科技市场与证券服务科技部后端研发工程师吴哲、汇丰科技软件工程副经理杨珂、汇丰科技人力资源助理副总裁梁培之五位专家坐镇,以不同的视角分享“提升研发效能”话题。
五位专家围绕三大议题来分享云平台自动运维的创新之路,数据库平台解决方案的重要突破,软件开发方法的探索实践的相关话题,并解读汇丰科技企业人才培养攻略。本期线上分享会的主题为“云原生时代,揭秘提升研发效能的最优路径”,主持人为 InfoQ 策划编辑桑红妍,以下为直播内容精编整理。
《云平台自动化运维的技术探索与实践》
汇丰科技云与 DevOps 中国区总监 刘华
汇丰科技云平台高级专家顾问 陈庆佳
汇丰科技是汇丰集团的一部分,汇丰集团是全球规模最大的银行和金融服务机构之一,目标是成为客户首选的国际金融合作伙伴。目前,汇丰集团有三大环球业务包括:财富管理及个人银行业务,工商金融,环球银行及资本市场。在全球拥有超过 3900 百万的客户,遍布 62 个国家和地区。
成立于 2006 年的汇丰科技中国拥有上万名技术人员,在广州和西安均设有科技中心,在上海设有技术服务团队,主要为汇丰全球业务及职能部门提供全面的端到端资讯科技服务,涵盖用户体验设计、业务分析、软件开发、测试、部署与维护,以及资讯科技基础设施支持。
汇丰科技策略 Vision’27
汇丰科技始终致力于把汇丰集团转型为数字化优先的银行,为客户提供更好的下一代银行服务。近年来,汇丰科技开始实施一个革命性的银行科技策略,即 Vision’27。该策略致力于通过四大支柱和 14 个全球计划,全面提升汇丰集团的 IT 技术建设和核心技术能力。以下是汇丰科技策略 Vision’27 的四大支柱:
汇丰科技的服务和产品
作为云平台的提供方,汇丰科技为各业务系统的开发交付团队和运维团队提供一个安全、合规和友好的云平台。作为一个强监管行业,汇丰科技会在平台上面进行合规和安全方面的管控。此外,汇丰科技给用户提供技术支持,包括创建新的云环境、授权、培训,以及解惑的工作。
基于汇丰科技优异的研发能力,实现了五大维度的成果:
汇丰科技的技术全栈图
关于技术全栈图,汇丰科技云平台高级专家顾问陈庆佳做出详细介绍:
截至目前,汇丰科技团队应用在云平台主要分成三部分。第一部分,集成了多个不同类型的服务在同一台虚拟机当中,称之为 Misc Services。第二部分,汇丰科技定制的 Airflow 平台,Airflow 是一个高效的工作流编排工具。第三部分是汇丰科技提供的代理服务器的功能。
《解码针对 PostgreSQL 的 DBaaS 数据库平台解决方案》
汇丰科技市场与证券服务科技部后端研发工程师 吴哲
基于 Vision’27 的战略定位,汇丰科技希望借助全球化集团优势,带来更多领先的创新产品与数字化解决方案,加速产业转型升级。汇丰科技市场与证券服务科技部后端研发工程师吴哲解读了针对 PostgreSQL 的 DBaaS 数据库平台解决方案,分享汇丰科技对 PostgreSQL 的创新应用:
出于对开源节流,以及 DevOps 转型与实践的考虑,汇丰科技决定将 Oracle 数据库向 PostgreSQL 数据库进行迁移。
PostgreSQL 方案背景
前期,汇丰科技在使用 PostgreSQL 时,采用的是比较简单粗暴的模式。项目组需要拥有和维护自己的 PG,我们团队使用的是微服务架构,提倡每一个数据库对应仅且一个微服务,从而减少服务之间的依赖,加速交付。
随着 DevOps 实践的加深,汇丰科技提出了第一代基于 PostgreSQL 的平台化解决方案,该方案提供一套代码层面的抽象,实现 PG 数据库管理维护相关的功能。项目组可以自行 fork 这套代码,进行部署和维护。
近期,随着我们团队对 PG 数据库的使用,以及 DevOps 实践的持续加深,汇丰科技提出了针对于 PostgreSQL 的 DBaaS 数据库平台解决方案。该方案提供托管 PG 功能,用户可以通过 API 的方式获取 PG 数据库,并对数据库进行集中管理,具备数据库监控与预警功能。
PG 方案的特性与实现
总的来说,PostgreSQL 方案拥有使用简单、数据 / 服务恢复力、可对数据库进行点时间修复、数据安全的四个特性。具体而言,用户无需自己配置硬件,即可安装 / 升级 PG。还可以采用 API 的方式去获取 PG 数据库,平台提供处理灾难恢复和监控与预警功能。
谈及未来规划,汇丰科技正在研发一个高可用解决方案。目前,我们是半自动的灾难恢复机制,研发一套自动的恢复机制可以去应对更复杂的业务需求,这个实现我们使用了 raft 算法去解决主从集群的分布式共识问题。
与此同时,汇丰科技的 PG 实例会部署在 KVM 里面。不同物理机的 KVM 实例不允许互相访问,所以我们需要在每一个物理机的 KVM 之外,搭建一个 proxy 解决连接的问题。
近期,汇丰科技还在规划推出一款 AI 助手(ChatGPT)。AI 助手计划具备两个功能,一个针对数据库监控场景,用户可以通过和 AI 助手聊天去询问数据库的相关监控信息。另一个针对新手的使用场景,AI 助手可以指导新用户使用,让整个使用流程变得更加简单高效。
面向远期规划,也就是 RESTfulPG 的构想。如果能够有一个 RESTfulPG 的服务,它将能够简化数据库访问,不再需要引入复杂的数据库驱动或者是相应的数据库,应用程序可以通过一个通用的 http 客户端与数据库交互,这其中体现了跨编程语言的兼容性。
《探索 Mob 编程在汇丰科技的应用之道》
汇丰科技软件工程副经理 杨珂
众所周知,良好的团队协作往往可以事半功倍,最大限度的提升工作效能,更好的促进团队职责的履行。在分享了汇丰科技的革命性策略、产品和服务、解决方案之后,如何利用 Mob 编程来提高工作质量,成为新的议题。
什么是 Mob 编程?Mob 编程对于企业提升研发效能有什么影响?如何开展 Mob 编程?Mob 编程在汇丰科技的应用实践以及带来了哪些价值?围绕这些问题,汇丰科技软件工程副经理杨珂进行了分享:
Mob 编程是一种软件开发方法,整个团队在同一时间、同一空间和同一台计算机上处理同一件事。因此,Mob 编程涉及整个团队在一台计算机上一起编码,从而增强协作,主要优势包括集体代码所有权、知识共享和更快的问题解决,同时也存在一些挑战比如协调、技能平衡和工作空间等。
汇丰科技 Mob 编程的实践场景
上图是汇丰科技相关团队实现 Mob 编程的场景,目前的方式是两周一个迭代,团队会在两周中选择两天作为 Mob day。在开迭代计划会议时,我们会选择好适合 Mob 编程的主题,根据主题提前做一些相关的准备工作,以确保 Mob day 的顺利进行。
开展 Mob 编程需要遵循几个基本原则:团队规模尽量保持在三到六个人,并且这些人拥有能够完成目标任务所需的技能;团队成员中会有导航者和执行者两种角色;角色之间的轮转周期控制在 10-15 分钟;在工作场所的选择上,需要选择一些更能适合 Mob 场景的硬件,从而保证大家清晰的看到目前发生的事情。
汇丰科技 Mob 编程的经验教训
汇丰科技探索 Mob 编程的过程并非一帆风顺,经历了许多坎坷和曲折,最终才摸索出一套适合团队自己的编程之路。其中有成功和失败,困难与挑战,也有经验教训。
在成功案例里,汇丰科技完成了用户故事的交付,生产问题的紧急修复,技术战略削减和工具提升。
在失败案例里,前期需要大量的技术预研工作,或者日常运维任务,再或者过于复杂的端到端业务流,上下游系统有过多的依赖等场景均不适用于开展 Mob 编程。
在整个 Mob 编程的实践中,团队遇到最多的困难和挑战是把所有需要的角色都协调到 Mob day,很难在同一时间协调所有需要的角色,特别是产品负责人和架构师。此外,短时间内协调不同的意见和建议存在困难,远程 Mob 编程的效果也不太理想。
在 Mob 编程的实践过程中,汇丰科技总结出了一些经验教训。建议刚开始需要一个主持人来把控节奏;15 分钟的轮转时间完全不够用,可以适当增加时间;执行者也可以参与思考和讨论;过于细小和直接的工作不适合 Mob 编程;需要严格执行休息时间。
Mob 编程带来的收益
通过 Mob 编程,汇丰科技完成用户故事的交付从两周时间缩减到一到三天。在工作效率方面,我们从衡量传统的人力资源效率改为衡量流转效率(flow time)。
因为是集众人之智慧于一体而写出来的代码,所以代码变得越来越标准和统一,从而提高了代码的规范性,可读性,可维护性。
Mob 编程是一个知识的传递与分享的过程,有利于个人和团队的成长,增强团队的归属感和凝聚力,提升团队成员的满意度。
《汇丰科技企业人才培养攻略》
汇丰科技人力资源助理副总裁 人才招聘 梁培之
毫无疑问,发展是第一要务,人才是第一资源,创新是第一动力。汇丰科技的快速发展,离不开对人才体系的重视和布局。汇丰科技一直以来都非常重视人才队伍的培养和管理,员工晋升通道多元化,积极给优秀的人才提供发挥才能的舞台和良好的福利。
关于汇丰科技的人才发展重点,以及基于人才发展的重点进行配对的学习产品,汇丰科技人力资源助理副总裁梁培之对此进行了分享:
汇丰科技的人才发展
基于汇丰集团的业务发展战略,以及大家在过往的学习过程中所呈现的痛点,汇丰科技的人才发展的重点聚焦在支持集团的发展转型战略,通过四大学习发展支柱,为大家的成长赋能,培养具有未来视野和技能的人才。
赋能未来的学习产品体系
面向团队管理者、学习倡导者,以及个人贡献者,汇丰科技还搭建了一套完整的学习产品体系,提供不同的学习产品来满足不同人群的学习需求。上图只是汇丰科技提供给同事学习产品中的一小部分,我们会根据大家需求的变化不断的进行推陈出新,来优化我们的学习产品。
汇丰集团搭建了汇丰大学(HSBC University)“一站式”丰富的在线学习资源平台,方便大家根据自己的时间还有偏好,随时随地的进行无障碍的学习。汇丰大学赋能每位汇丰科技同事,透过全方位的学习资源,涵盖技术、领域、流程、工具、方法论和工作方式,助力他们探知科技世界的广度和深度。
面向即将毕业的学生或者毕业不到两年的职场新人,汇丰科技设有数字科技管培生的项目。希望可以帮助公司培养在云计算、网络、数据、人工智能等创新领域能够解决问题的人才,提升他们在这些领域的能力,为汇丰科技源源不断的注入新鲜血液。
写在最后
对于本届公开课,广大开发者们纷纷反馈演讲内容非常受用,切中自身要害,并且引发了对相关技术应用在自身业务场景下的思考,让他们真实了解到针对 PostgreSQL 的 DBaaS 数据库平台解决方案、开展 Mob 编程的重要性,也掌握了有效的人才培养方法。
现如今,企业已经不能靠一味地堆砌劳动时间获得工作成果,切实提高效率才是良药,研发效能就成为了一家科技公司的核心竞争力之一。对于企业或开发人员而言,通过提高研发效能来实现降本增效的趋势愈发明显,顺势而为可获得更好发展。