2020年6月18日晚,山东移动CLOUD CRM系统正式发布并成功上线。新系统采用全Java技术栈,通过重构底层代码逻辑完成从国产芯片到各类开源、国产软件全面云化适配改造,基于x86和ARM双计算平面实现“一云+多池+双平面” 部署,首次实现传统商用中间件国产化替换,彻底摆脱对国外产品长期依赖,规避“卡脖子”风险,为构建“自主可控”、“敏捷高效”、“共享复用”、“云化原生”的中台能力打下坚实基础。
图1 山东移动CLOUD CRM系统商用上线现场
山东移动CRM系统负责营业厅、代理商、在线客服和能力开放等渠道接入,承载着全省7000万用户业务受理等服务,日交易量高达1.5亿笔以上。由于历史原因,CRM系统中间件一直使用基于传统架构的IBM CICS产品,该产品和应用紧耦合,技术封闭,扩展性差,严重阻碍系统云化发展。在中美贸易争端持续升级背景下,随时面临技术封锁,加强CRM系统中间件关键技术自主可控,迫在眉睫。
为了构建安全可靠的IT系统,实现CRM系统端到端自主可控,实现系统前后端架构云化统一,2019年8月,山东移动联合华为公司经过全新设计并推出CLOUD CRM系统,新系统搭载国产ARM+欧拉+OpenAS+HWJDK,采用全Java技术栈,重构底层代码逻辑,以“能力沉淀、能力共享、架构开放”为原则,引入PaaS化、容器化、DSF微服务框架、TCC事务管理、Redis内存库,DevOps等新技术,打造“底层全云化,上层服务化、中心化、平台化”的IT支撑系统。
图2 山东移动CLOUD CRM系统架构演进
在基础设施方面首次引入国产ARM芯片服务器,并新建自主可控第二计算平面,实现x86和ARM架构双计算平面部署。在基础软件方面采用“轻量化”和“低成本”路线,在接入层,应用层和数据访问层全面引入OpenAS、Redis、Kafka和DDS等各类开源和国产技术,实现系统架构从传统商用“Power芯片+ AIX+CICS+OracleJDK”到“国产ARM芯片+Euler +OpenAS+HWJDK”全面国产化替换。
图3 山东移动CLOUD CRM系统关键技术
图4 基于x86和ARM双计算平面部署架构
项目从2019年8月启动,先后完成预研选型、系统规划、版本开发、集成测试、割接推广等一系列工作,于2020年6月18日成功商用上线。在交付过程中,项目组颠覆传统开发/交付模式,秉承“不堆人头“,“不丢功能”,“不停业务”和“不降指标”四不原则,开发了高效的代码迁移框架,引入了智能的自动化测试技术和灵活的灰度发布机制,经过200多个日夜的坚守和付出,成功完成1000+万行代码迁移,280+万行代码和34个功能点优化,1680个菜单和8000+多个用例测试,面对极短的交付周期和极高的质量目标,项目组超预期完成既定任务,项目交付时间提前45天,产品校验效率提升6倍,订单处理效率提升2倍,问题定位效率提升3倍。
图5 高效的代码迁移框架
图6 智能的自动化测试技术
CLOUD CRM成功上线,是山东移动CRM系统在云化演进过程中的一个重要里程碑,是国内首个完成业务支撑核心系统大规模云化重构的运营商,在华为公司支撑的CRM省份中,首次实现了去传统商用中间件和自主可控,为后续其他省公司CRM系统云化重构提供了宝贵的经验,为下一步CRM系统核心数据库国产化实施,全面微服务化演进和构建统一智能运维体系提供了架构基础。