近日,以“数智未来,因你而来”为主题的鲲鹏应用创新大赛2023正式落下帷幕。本次大赛激发行业应用创新,促进人才培养,凝心聚力全产业开发者,吸引了企业、科研院所、高校共1600多支团队、6000多名开发者踊跃参与,经过6个月的激烈角逐,最终从3大赛事、5大赛道中评选出13个金奖、16个银奖、19个铜奖。本次大赛涌现了一批优秀的开发者和技术方案,他们推动着鲲鹏产业的进一步发展,从“用上”鲲鹏到“用好”鲲鹏,并成长为鲲鹏计算生态中不可或缺的新力量。
今年,五大赛道之一的鲲鹏原生应用创新(运营商)赛道备受关注,其中江苏电信IBOC团队打造的《基于openEuler+鲲鹏的江苏电信CRM系统设计》更是获得了现场评委的一致认可,最终夺得金奖。这一方案究竟有哪些独到之处?
一场大型核心业务系统的全面优化
一直以来,江苏电信推动并注重技术创新,在服务器和操作系统等方面更是作为重点投入。在这一过程中,openEuler和鲲鹏也逐渐进入了江苏电信的合作伙伴范围中。
目前来看,基于鲲鹏生态的openEuler已然成长为国内发展势头最为强劲的开源服务器操作系统社区。2021年openEuler系服务器操作系统装机量达到55.3万套,2022年openEuler在政府、金融、运营商行业实现新增市场份额第一,跨越生态拐点。2023年预计达成中国新增服务器操作系统市场份额35%,成为中国新增市场份额绝对第一。openEuler社区的企业层面数量从3年前几十家发展到现在的700余家,可以看出openEuler已创造显著的经济和社会效应。
同时,秉承“硬件开放、软件开源、使能伙伴、发展人才”的计算产业战略,鲲鹏计算产业生态逐步完善。目前在全国范围内已落地4500多个鲲鹏合作伙伴,13500多个解决方案通过鲲鹏兼容性测试认证,全国24个鲲鹏生态创新中心已发展超过200万鲲鹏开发者。鲲鹏计算产业广泛应用在政府、城市、金融、运营商、电力等各个领域落地生根,为行业发展提供强有力的支持。
基于openEuler和鲲鹏生态的蓬勃发展,江苏电信CRM系统决定全面拥抱openEuler+鲲鹏平台。但是,江苏电信CRM系统属于典型的大型核心业务系统,不仅影响大,而且在全国范围内也缺乏类似案例,系统的全面升级工作难度颇高。
江苏电信IBOC的仇伶玮表示,团队在探索的过程中遇到诸多挑战,例如在推进容器化的过程中,各类PaaS组件尚不完全兼容openEuler+鲲鹏环境,而且在直接迁移后,可能会带来效率和性能的降低。从底层来看,容器资源池也很难实现平滑迁移,这意味着需要新建鲲鹏资源池,迁移成本可能居高不下。而且,在开源社区里,基于openEuler的基础镜像较少,同时大部分的镜像不支持鲲鹏环境……这些问题都给团队带来了不小的麻烦。
江苏电信IBOC团队仇伶玮
在江苏鲲鹏·昇腾生态创新中心的支持下,现如今,整个江苏电信的17个CRM业务中心均已完成适配,涉及13个地市的一亿多用户。底层Kubernetes资源池已相当于百台鲲鹏物理服务器的规模,资源池所依赖的Calico、Crane、Istio、Ingress、Kube-Prometheus、调度器等插件,CRM业务依赖的分布式缓存CTG-Cache、消息队列CTG-MQ、Mysql数据库等各类组件均进行了openEuler+鲲鹏的适配与优化,从而实现了整体效率的提升。
系统提升,打造全新能力
一次复杂的系统升级往往意味需要调动大量的研发力量,但这样大规模的人力投入巨大。为了减少系统升级过程中在构建、发布流程中的人力重复浪费,江苏电信IBOC团队构建了自动化、智能化、自助化的发布流水线,以此来提升版本交付效率。
在自动化方面,通过Jenkins来串联代码仓库、镜像仓库、K8S集群等3个平台和4个环节,并借助江苏电信盘古PaaS平台实现了一键自动发布,效率提升约4倍。在智能化方面,团队通过Harbor镜像仓库,来智能适配鲲鹏,自动识别镜像架构,实现镜像自动构建、自动下发不同环境,提升异构环境部署效率约10倍。在自助化方面,团队通过Jenkins实现各开发团队一键自助发布应用版本,大幅提升研发协作效率约4倍。
除了自建的工具之外,团队还使用了鲲鹏开发者套件DevKit、鲲鹏应用使能套件BoostKit两款鲲鹏提供的效能工具。
鲲鹏开发者套件DevKit主要用于CRM系统应用层优化。团队基于鲲鹏开发者套件DevKit此完成了整个CRM系统百万行级代码的鲲鹏兼容迁移,并通过了源码迁移完整性扫描,基于openEuler和毕昇编译器等特性实现性能优化。同时,团队还自制了openEuler、Nginx、毕昇JDK、Tomcat四种基础镜像,并由此制作了50多种CRM业务容器镜像。针对鲲鹏环境,团队重构改造了原来的CI/CD流水线,实现自动构建兼容鲲鹏环境的容器镜像,并实现了自动部署、自动测试,这也节约了很大的人力成本。
鲲鹏应用使能套件BoostKit主要用于底层PaaS平台的优化。针对开源MySQL数据库直接运行在鲲鹏环境性能有所下降的问题,团队通过鲲鹏应用使能套件BoostKit实现MySQL并行查询优化、无锁优化、线程池优化、NUMA调度优化,让数据库查询效率的成倍提升,写效率略微提升,保障性能更加平稳,实现TPCC的显著提升。同时,团队选择通过上层的多集群管理工具、统一负载网关,并借助集群内的容器调度器实现架构感知的自动调度功能。容器资源池由多种异构Kubernetes集群组成,而且单个Kubernetes集群也可由多种架构主机组成,这样计算任务就可以自由调度,并由此实现了应用迁移至鲲鹏环境。
优良的工具可以提升整体效率,但这并不代表所有问题都能迎刃而解。比如资源利用率低的问题,此前容器资源池分布在不同机房,且操作系统、架构不同,若拆分过细则会导致每个小资源池利用效率都不高。再比如,操作系统、服务器架构的演进是一个复杂的过程,此前CRM系统规模庞大而且运行在架构完全不同的资源池上,这会导致难以直接新建同规模资源池来迁移。
在这些新的问题面前,团队希望通过资源池和计算任务统一调度,实现CRM系统平滑迁移举。为了实现这一目标,团队将不同机房、不同域的主机整合为统一的资源池,并对整个CRM系统完全进行了容器化和云原生化改造,将CRM系统和其它实时在线/离线分析应用抽象为统一的计算任务,利用负载间的差异提高资源利用率。并且团队通过多集群管理工具、原生调度器、开源调度器、自研调度插件协同,实现了计算任务在多种资源之间自由调度。
创新拓展,敢为行业先
“我们使用鲲鹏开发者套件DevKit,实现Java应用代码的优化,基于鲲鹏应用使能套件BoostKit,完成了MySQL PaaS组件的优化。”仇伶玮总结称,“在完成整体的CRM系统的适配优化之后,江苏电信CRM系统总体性能提高了约25%~50%。”
一次成功的尝试,不仅能让自身受益,还能为后来者开辟新的路径。江苏电信CRM系统的适配优化项目便有力的诠释这句话。
本次系统适配优化后,可对于内部起到更好的业务支撑,进一步加快江苏电信的业务创新和服务转型。从结果来看,项目最终实现市场营销、销售、服务等活动的自动化,利于全面、准确、前瞻的洞察客户需求。
如果把眼光放到更远处,本次设计的方案拥有良好的普适性,可以便捷的复制使用到各个运营商集团及各省分公司。面向未来,江苏电信内部将以该方案为标杆范例,全面推进其他业务系统适配,从而带来更加卓越的性能升级和优化。
众行致远,大道不孤。江苏电信IBOC团队打造的方案立足自身,谋于业内,为有类似需求的企业打造良好的范例。这一方案与鲲鹏应用创新大赛的初衷不谋而合,大赛旨在发掘更多优秀的解决方案和开发者,助力实现鲲鹏生态、合作伙伴和开发者之间共同的价值提升。未来,鲲鹏计算产业持续为数字经济发展打造新的模板,不断服务于千行百业的核心场景之中,成为中国计算产业夯实发展底座。