写点什么

面对复杂技术栈,中泰证券如何做云原生转型?

  • 2023-09-08
    北京
  • 本文字数:2199 字

    阅读完需:约 7 分钟

面对复杂技术栈,中泰证券如何做云原生转型?

近年来,云原生转型已成为众多企业关注的焦点,中泰证券也不例外。但中泰证券的云原生转型面临着很大挑战。

 

中泰证券的软件架构非常复杂。除了传统架构,还有一些自行研发的云原生架构、独立框架以及独立的 C++框架等,云原生架构的比例较低。数据库方面同样如此,内部数据库类型繁多,Oracle 占了 30%,此外还有 MySQL、SQL Server 等等。过多的技术栈,各种架构交织在一起增加了转型难度。

 

中泰证券金融科技委员会主任兼科技研发部总经理何波在“2023 网易数帆城市行”大会上,分享了自己做云原生转型的过程。面对复杂的技术栈,中泰证券的技术团队的策略是将技术的复杂性与业务研究的复杂性分离。“通过标准化技术,我们可以将技术复杂性下沉,从而更多地关注业务复杂性,减少处理技术细节的时间和精力。”何波表示。

转型过程

 

从软件工程的演进来看,架构逐渐复杂,但基本原则一直清晰:低耦合、高内聚。通过不断将复杂性标准化下沉至基础框架,可以更好地实现从作坊式向工业化的转变,从而应对更加复杂的体系。



中泰证券在构建微服务体系的过程中,经历了技术选型、技术验证、引入开源实现及完全自研等一系列的过程。对于技术选型,中泰证券不希望重复发明轮子,也不希望完全受制于开源的实现,所以在技术选型时遵循如下原则:


在云原生转型过程中,中泰证券按照一系列明确的步骤进行了架构的迁移,其中一个关键举措是将应用与环境进行解耦。中泰证券需要逐步将原有的粗放式架构层层拆分,将其中台化。新自研项目除少数性能敏感的系统外,全部采用微服务架构;传统架构根据业务分类分组按需进行服务拆分改造;异构系统按需做服务适配,以 API 形式提供服务,保护投资,复用能力。

 

通过微服务的转型,技术团队成功将研发工作从上层抽离出应用和环境,也解决了过去部署过程中常见的配置文件和环境问题。借助 Kubernetes(K8s),团队成功实现了配置与环境的解耦。目前,中泰证券已经成功在 17 个 K8s 集群上运行了 2000 多个 pod。

 

应用和环境解耦后,接下来就是应用和配置的解耦。在传统的开发模式中,许多应用都含有大量的配置文件,有时甚至会将配置存储在数据库中。然而,这种做法在软件的配置、交付和上线过程中经常导致问题,因为不同环境中的配置可能不同。但实际上,应用本身与配置是没有直接关联的。按照云原生原则,中泰证券将配置转移到环境变量中,并通过配置中心进行管理,成功将应用与配置解耦,使得测试环境和生产环境中的应用完全一致,避免了配置文件引起的问题。目前,其已经建立了 4 个配置中心,涵盖了 80%的自研项目。

 

中泰证券的另一个重要改进是将中间件进行 PaaS 化。团队采用了网易数帆轻舟云原生平台作为中间件的资源池,将资源的管理从单个应用下沉到资源池中,避免了每个应用独立构建这些中间件。无论是 Redis、Kafka 还是多达 40 种不同版本的 MySQL 数据库,都被纳入了这一 PaaS 化的管理中。

 

金融机构的数据库存储量是很大的。为了提高维护性和升级的便捷性,中泰证券对数据库进行轻量化处理,摒弃存储过程,回归到分布式数据库存储。这样,架构不仅保障了数据的完整性,还将大部分业务逻辑下沉到应用层,资源层的 PaaS 化也为外部提供了便利。此外,中泰证券对制品库进行了全面的管理,实现了统一的交付渠道。

安全建设

 

技术发展过程中,建立一个更加安全和高效的治理体系至关重要。而中泰证券主要面临着技术栈多样性的挑战,涵盖了注册发现、配置中心、底层数据库、PaaS 等。

 

对于安全问题,中泰证券的技术团队认为,最关键的是要能够及早暴露出故障率。除了前述的技术栈,确保良好的监控和可观测性显得尤为重要。在实际操作中,技术团队需要明确监控的程度,确定哪些指标有意义、哪些无意义,并对衡量标准作出充分考虑,避免系统出现问题时仓促采取行动。

 

因此,中泰证券非常重视混沌工程的实践,通过模拟红蓝军演练,在系统中引入破坏并尝试恢复,从而更快地发现潜在故障。在这个过程中,技术团队进行了攻防演练,涵盖了大量故障处理,包括基础故障、CPU、内存使用率、磁盘使用率、中间件问题、MySQL 异常等。这一实践在某二级部门中得以应用,涉及到 20 多个业务场景、100 多个混沌场景以及 300 次的演练,有力保障了业务的运行。

 

接下来,中泰证券进入安全工具的应用阶段,通过代码扫描等安全工具,在 CICD 安全环节中加入了更多的监测。此外,无论是常规发布还是紧急发布,安全门禁都被置于产品的每个关键点,以确保发布和审核的安全性。

结束语

 

为了评估转型效果,中泰证券对资产进行了分类:实用资产和战略资产,实用资产包括服务器、网络、财务系统等,战略资产包括企业用来向客户提供产品或服务的工具,可以形成差异化竞争优势。去年,中泰证券的战略资产占比为 20%,如今已提升至 28%左右。

 

总体而言,云原生转型带来了研发质量和效率的提升。通过减少重复劳动和不必要的开发,中泰证券实现了研发效率的增加。测试能力的提升以及自动化测试平台的使用,也节省了大量的测试时间,大幅度降低了测试成本。

 

何波还表示,中泰证券最近也在尝试用大模型自动生成代码、自动化测试等,希望开发人员可以聚焦在写业务代码上,并且通过云原生改造真正把技术沉淀下来,变成一些标准化的东西使用。

 

目前,中泰证券自研项目的研发部分完成了约 70%。“我们的目标是进行全面的云原生转型。”何波表示,云原生带来了研发质量和效率的提升,通过敏捷 IT 能力的构建,为证券业务数字化转型加速,更好地支撑业务创新与客户体验提升。

 

2023-09-08 09:564787

评论

发布
暂无评论
发现更多内容

JavaScript 浅拷贝与深拷贝

编程江湖

建立堡垒机的原则有哪些?需要注意哪些方面?

行云管家

网络安全 数据安全 信息泄露 资产安全

开源服务社会:EMQ 映云科技获评“优秀中国开源原生创企”

EMQ映云科技

物联网 开源项目 mqtt

在线HTTP/HTTPS协议GET,POST,RESTful接口测试

入门小站

工具

Hoo研究院调研报告 |从公链Terra生态看区块链稳定币的三大核心产品

区块链前沿News

Hoo 虎符交易所 虎符研究院

[架构实战营] 模块九作业

张祥

架构实战营

Linux云计算好学吗?Linux云计算运维学习资料 Linux基本操作命令

学神来啦

Spring Boot 实现通用 Auth 认证的 4 种方式

码农架构

Java springboot spring 5 1月月更

什么是生产管理?制造企业想要做好生产管理应该怎么做?

优秀

企业生产管理

一步一步理解Generator函数的原理

恒生LIGHT云社区

JavaScript 前端 Generator

Cloudera的企业数据云

郭华

云计算 大数据 数据仓库 云原生

Linux之|etc|group文件

入门小站

Linux

恒源云(GPUSHARE)_云GPU服务器如何使用iKataGo?

恒源云

运维 镜像 算力

存储空间降为MySQL的十分之一,TDengine在货拉拉数据库监控场景的应用

TDengine

数据库 大数据 tdengine 物联网

FabEdge V0.4 新特性:支持多集群通讯

BoCloud博云

云原生 边缘计算 网络 开源社区

浅析SaaS软件和传统软件交付模式的区别

郑州埃文科技

一个cpp协程库的前世今生(十六)读写锁

SkyFire

c++ cocpp

面向对象

你?

某厂审批流引擎核心技术揭秘

空空

InfoQ写作平台|Python板块试运行

IT蜗壳-Tango

InfoQ-Python板块

时空大数据 AI 研究院在京成立,助推时空产业高质量发展

百度大脑

人工智能

技术干货 | ToB 业务场景下自动化测试的实践及探索

网易云信

运维 自动化

企业堡垒机搭建核心需求是什么?可以自己研发搭建吗?

行云管家

网络安全 信息安全 数据安全 IT资产

前端开发之JS数组去重方法

@零度

JavaScript 前端开发

IOS技术分享| anyRTC 互动白板场景实现

anyRTC开发者

ios 音视频 在线教育 视频会议 互动白板

大数据开发之SparkSQL面试篇

@零度

大数据 spark SQL

到底什么是云?其实云计算从业者也不懂!

Geek_f56666

云计算

深入理解百度在离线混部技术

百度Geek说

云计算 云原生 后端

当技术重构遇上DDD,如何实现业务、技术双赢?

百度Geek说

架构 后端 DDD 技术债

Mysql的逻辑架构与存储引擎

编程江湖

MySQL

Flutter:GridPaper 示例

坚果

flutter 1月月更

面对复杂技术栈,中泰证券如何做云原生转型?_企业动态_褚杏娟_InfoQ精选文章