当前位置: 首页 > news >正文

提升交付效率:Booking.com 金融技术团队的成功实践

Booking.com 金融技术业务部门的团队对其平台的后端和前端实施了一系列改进措施,并通过 DORA 指标将交付性能提高了一倍。此外,还使用了微前端 (MFE) 模式,将单体 FE 应用程序分解为多个可单独部署的分解应用程序。

2022 年年中,Booking.com 成立了一个新的工程团队,负责财务领域的多个流程。该团队选用了一部分更广泛的平台架构,包括一个使用 Perl 和 Javascript(使用 Vue Framework)编写的单体前端应用程序,以及一个依赖于许多其他微服务的 Java 后端服务

图片

团队很快发现,对现有代码库进行更改并将其部署到生产中既有风险又耗时。为了提高交付频率,团队决定采用 DORA 提出的定制 DevOps 指标来跟踪交付流程的关键绩效指标。工程师们开始记录交付速度指标(部署频率和变更准备时间),以建立基线。他们还选择了定制的可靠性/稳定性指标,包括服务可用性和开放缺陷数量,而不是 DORA 指标(变更失败率和平均恢复时间)。根据团队的测量,在 2023 年 3 月至 11 月期间,关键的交付速度指标提高了两倍,而质量和可用性则保持稳定

图片

在整个观察期间,工程师们逐渐提高了 Java 后端服务的代码质量。他们还转向了更小的合并请求(又称为 pull requests),以确保代码审查不那么痛苦,并在团队成员之间进行优先排序。此外,开发人员还改进了部署流程,逐步减少了人工验证步骤,并更多地依赖于改进后的自动测试。最后,他们改用全自动部署,将部署时间从 40 分钟缩短到 4 分钟

Booking.com 高级工程经理 Egor Savochkin 介绍了团队为降低变更时引入问题的风险并改进代码所采取的方法:

团队采用 Boy Scout rule,通过重构和测试自动化提高代码质量,同时不停止所有功能工作。在实施变更或修复缺陷的同时,还要努力改进周围的代码。这并不需要很大的改进。这可能只是简单地为你接触过的类添加单元测试,或进行小规模重构以消除代码质量问题。

在团队选择将单体应用程序拆分为微前端(MFE)后,前端方面也得到了改进,但改进并没有像希望的那样迅速实现。在调整代码审查流程并减少对外部专家审批的依赖后,代码审查时间缩短到了 8 分钟。有了快速的代码审查,团队开始更频繁地进行小规模部署,将部署时间缩短到 1 小时

http://www.lryc.cn/news/323391.html

相关文章:

  • 【消息队列开发】 实现ConsumerManager类——消费消息的核心逻辑
  • 【Three.js】使用精灵图Sprite创建面朝相机的文本标注
  • C++中的类模板
  • 【每日一题】好子数组的最大分数
  • Vue2(七):超详细vue开发环境搭建(win7),nodejs下载与安装,安装淘宝镜像(报错已解决),配置脚手架
  • 【Web】记录CISCN 2021 总决赛 ezj4va题目复现——AspectJWeaver
  • 视频技术1:使用ABLMediaServer推流rtsp
  • HTML5+CSS3+JS小实例:创意罗盘时钟
  • 设计数据库之内部模式:SQL基本操作
  • Git浅谈配置文件和免密登录
  • 【好玩的经典游戏】Docker环境下部署RPG网页小游戏
  • 前端逻辑错误或UI崩溃解决问题
  • python爬取QQ音乐评论信息
  • Unity构建详解(1)——SBP介绍
  • 贪心算法(算法竞赛、蓝桥杯)--奶牛晒衣服
  • Redis列表:高效消息通信与实时数据处理的利器
  • Redis中的缓存雪崩
  • 使用远程工具连接Mysql
  • 2024不起眼的“致富”野路子,不想打工了,做做这些暴利创业项目。2024个人创业做什么项目好;最适合白手起家的创业项目
  • 从后端获取文件数据并导出
  • 哲♂学家带你深♂入了♂解结构体及结构体内存大小问题
  • 基于SSM的土家风景文化管理平台(有报告)。Javaee项目。ssm项目。
  • 2024年03月CCF-GESP编程能力等级认证C++编程一级真题解析
  • [Linux]条件变量:实现线程同步(什么是条件变量、为什么需要条件变量,怎么使用条件变量(接口)、例子,代码演示(生产者消费者模式))
  • 从Java到json:探索 Jackson 的魔力
  • Docker之docker compose!!!!
  • shardingsphere+达梦+jpa项目改造适配中遇到的一些问题与解决
  • YOLOV9训练自己的数据集
  • UG NX二次开发(C++)-CAM-获取加工操作的四种方法
  • python共享单车信息系统的设计与实现flask-django-php-nodejs