侯旭 汇丰科技顾问专家 中国DevOps社区峰会2022·武汉 PUBLIC 峰会2022·武汉 个人简介 中国DevOps社区峰会2022·武汉 PUBLIC 目前:汇丰科技,环球市场与证券服务部,股票证券融资技术部门,顾问专家 经历:金融科技领域,先后服务于香港和广州的多间金融机构 技术应该服务于业务的需要,而非成为让业务落地的门槛。 技术:.NET,Java,SpringBatch,Python,Vue.JS 老“系统”的基本情况 中国DevOps社区峰会2022·武汉 PUBLIC •架构老旧:基于VBA、C#进行开发 •高度定制:涵盖6大类工作性质 •难以复用:服务于全球5个国家和地区 •内容庞杂:超过70个常用的功能模块需要维护和迭代开发 成因分析 中国DevOps社区峰会2022·武汉 PUBLIC 议题概要 项目愿景–新系统想要实现的效果 转型策略–技术选型以及迁移的策略 需要迁移的功能松散且无序,如何分而治之确定最合适的技术栈 资源有限,如何在保证日常工作进度的同时兼顾新系统的开发 前后对比–项目复盘 问题讨论Q&A 中国DevOps社区峰会2022·武汉 PUBLIC 项目愿景 中国DevOps社区峰会2022·武汉 PUBLIC 用户上线其他 技术选型(1/2) 中国DevOps社区峰会2022·武汉 PUBLIC 按功能分类 18% 2% 4% 6% 4% 66% 对账文件传输保证金计算账单计算新 按交互性分类 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 零交互性低交互性高交互性 技术选型(2/2) 中国DevOps社区峰会2022·武汉 PUBLIC •全套自研还是做增量开发? •采用BS架构是否可行? •如何在新系统下持续保持高效交付? •各种类型需求的最优解是什么? •新的技术栈能否吸引人才? 迁移过程(1/3) 中国DevOps社区峰会2022·武汉 PUBLIC 批处理作业+前端统一控制页面迁移低交互性功能模块 后端独立微服务+前端高度定制页面迁移高交互性功能模块 批处理作业迁移零交互性功能模块 迁移过程(2/3) 中国DevOps社区峰会2022·武汉 PUBLIC 第一阶段:创建原型,选取最合适的技术栈 第二阶段:搭建批处理作业开发环境 第三阶段:编写高交互性模块 1.编写并发布一个典型的高交互性模块,在服务器上完成所有前期部署工作,解决自动化发布过程中存在的难题,向最终用户展示新系统的可塑性。 1.在测试服务器和生产服务器部署运行环境。 2.抽象并编写可复用的方法代码。 3.平均开发周期由2周减少至3天。 1.筛选兼容性和可扩展性最好的平台进行二次开发。 2.采用不同编码方式创建批处理作业,并筛选出编码-发布-运维最合适的方案。 3.准备CICD发布管道。 新开发需求 33% 67% 旧系统新系统 迁移过程(3/3) 中国DevOps社区峰会2022·武汉 PUBLIC 持续优化批处理作业处理框架 搭建低交互性处理框架 对终端用户开放权限 优化高交互性模块的开发效率 新老系统交付效率对比 中国DevOps社区峰会2022·武汉 PUBLIC 需求管理 开发构建 编译打包 部署发布 监控运维 项目复盘(1/3) 中国DevOps社区峰会2022·武汉 PUBLIC 项目复盘(2/3) 中国DevOps社区峰会2022·武汉 PUBLIC 项目复盘(3/3) 中国DevOps社区峰会2022·武汉 PUBLIC 开发 运维 业务 开发的难度 高效运维的可行性 业务人员的需求 中国DevOps社区峰会2022·武汉 企业价值观 尊重差异携手共赢勇于承担全力以赴 中国DevOps社区峰会2022·武汉 PUBLIC 更多精彩,请关注微信公众号:汇丰软件人才招聘 中国DevOps社区峰会2022·武汉 中国DevOps社区峰会2022·武汉 PUBLIC 关注社区公众号了解更多活动