在数字化智能时代,各行业对高效研发的需求日益增强。从早期的敏捷开发、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 的四大支柱:
Speed——DevSecOps 模型提高了开发人员体验和交付效率,运维请求自动化为用户的请求提供实时响应。
Scale——所有自动化和自助服务都改善了用户的上云体验,促进用户对云的拥抱,也满足汇丰集团内部的云优先策略。
Resilience——所有自动化和自助服务让云平台能为更多的用户提供及时服务。
People——DevSecOps 模型使自动化团队拥 DevSecOps 文化。所有自动化和自助服务让原来从事手工运维的成员有机会参与到自动化开发工作,提升人员的整体能力。
▲汇丰科技的服务和产品
作为云平台的提供方,汇丰科技为各业务系统的开发交付团队和运维团队提供一个安全、合规和友好的云平台。作为一个强监管行业,汇丰科技会在平台上面进行合规和安全方面的管控。此外,汇丰科技给用户提供技术支持,包括创建新的云环境、授权、培训,以及解惑的工作。
基于汇丰科技优异的研发能力,实现了五大维度的成果:
运维请求的自动化
在 2023 年,汇丰科技通过标准化操作流程,实现自助服务和自动化,手工运维工单数量减少了 62%。汇丰科技为用户提供自助服务 API 来代替手动运维操作,每月减少 43%的手动运维请求和数千分钟的操作工作。从而实现用户请求得到立即响应,用户体验得到大幅提升。
自研上云门户网站
通过汇丰科技自主开发的上云门户网站,将复杂的流程简单化,用户只需要填入一些必要信息,其他信息由中央系统集成获取,从而拥有一套可信完整的数据源,建立实时可视化的报表,能够更快、更简洁的完成整个上云流程,获取更好的上云之旅。
合规自动化
汇丰科技的使命是保护云平台,满足各种合规和安全的要求。为此,汇丰科技开发了大量的 Compliance Check 合规自动化程序,Vulnerability Check 漏洞扫描程序,并且引入 Airflow 任务编排的平台,从而实现高可用能力。
平台 API 自动测试框架
为了确保云平台升级的稳定性,汇丰科技编写的 API 自动测试框架,每晚运行以监控云平台 API 的运行状况。同时,Terraform 测试每天运行,以监控 Terraform Provider 的稳定性。
构建 DevSecOps 模型
CI 中集成了静态代码质量扫描和 Checkmarx,以提高我们的代码质量并实现 DevSecOps。与此同时,汇丰科技自动化运维 CR 的准备流程,把每日运维 CR 的准备的时间从十分钟缩短到几秒钟。自动化发布使我们能够在无需人工交互的情况下,对每个用户故事进行单独发布,从而将发布范围缩小,风险降到最低。
▲汇丰科技的技术全栈图
关于技术全栈图,汇丰科技云平台高级专家顾问陈庆佳做出详细介绍:
截至目前,汇丰科技团队应用在云平台主要分成三部分。第一部分,集成了多个不同类型的服务在同一台虚拟机当中,称之为 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 编程的重要性,也掌握了有效的人才培养方法。
现如今,企业已经不能靠一味地堆砌劳动时间获得工作成果,切实提高效率才是良药,研发效能就成为了一家科技公司的核心竞争力之一。对于企业或开发人员而言,通过提高研发效能来实现降本增效的趋势愈发明显,顺势而为可获得更好发展。
评论