运营商系统快速上云的实践分享

运营商系统上云的背景

系统上云是数字经济发展的潮流,在数字化转型的浪潮中,上云已经成为推动各行各业创新和效率提升的关键力量。运营商作为服务行业和企业上云的服务商,积极响应国家号召的同时为行业上云打造案例标杆,自身的系统要首先上云。

运营商运营支撑体系上云也有内在的需要,系统架构不统一、依赖传统IOE硬件、单体架构等,带来了部署成本高、维护困难、无法根据业务弹性伸缩、新业务扩展支撑响应慢等一系列问题。互联网企业的云化实践以及前期的试点经验都表明,上云是高效解决这些问题的必由之路。

系统上云的目标

参考互联网企业云化实践思路,结合运营商现网系统情况,按照“先云化,再上云”的策略,采取去IOE、微服务化、容器化、中心化、统一和多底座兼容、云化工具配套 6大举措实现上云,最终达成节省IT投资、简化配置部署、弹性伸缩、快速集成、灵活扩展和降低运维难度的目标。

图片

上云的挑战

运营商系统上云存在很多挑战,包括但不限于架构适配改造工作量大,性能、可靠性和安全风险高,现有标准不满足云化特性,缺乏底座能力,存在工程实施周期长、风险高、业务迁移难和运营效率低等多方面挑战。

传统架构笨重,适配改造困难

运营商的系统往往是基于传统的、大型的、集成度高的架构设计,这些系统需要大量的改造才能适应云环境。例如,将单体应用拆分为微服务架构,需要重新设计服务的模块、通信机制等等。旧系统未微服务化,依赖较重的中间件,烟囱式支撑业务,升级较为繁琐,无法动态伸缩部署,前后端未做分离,定位问题困难等,需要在较短时间内完成系统的架构升级。

现有标准不满足云化特性,缺乏统一平台底座

现有系统基于IOE构建,使用重量级中间件或开源中间件,未使用统一的PAAS组件。缺乏统一平台底座,导致系统云化改造缺乏统一架构标准、改造工作量大、扩展支撑难度高,例如不具备低代码快速配置实现前端需求能力、报表快速配置能力。

工程实施风险大周期长

上云要求复杂的项目管理、多方协调和技术实施,这些因素可能导致上云项目延期或预算超支。追求快速上云的过程中,过于复杂或不明确的项目目标和范围设定可能导致实施进度缓慢,难以在预定计划完成。

业务迁移难

运营商业务复杂,为保证业务正常运行,需同时兼顾新老系统需求的并行支撑。共性需求没有统一研发,不能共享成果,人力资源浪费,个性化需求响应不及时,端到端全流程有断点,无法快速的承接迁移业务。

配置开发工作量大/表单界面多

流程业务配置工作量大,需要配置流程、环节、时限和业务组件埋点等,表单个性化需求较多、表单界面多,需投入较多前段人力开发。

运营困难

定制化需求多,变更较为频繁,上线后难运维,缺乏故障快速发现、定位、处理手段,并且无法快速进行需求研发迭代。

运营商系统快速上云实践

在运营商系统上云实践过程中,为达成系统云化特性标准,针对上云过程中的诸多困难点,按照“八步法”组织实施,有序推进,实现了系统并行实施和快速上云。

画蓝图

总体思路是基于统一底座实现多业务系统统一云化架构,优化资源利用率,整体上实现业务与技术的解耦,提高系统的灵活性和可维护性。

架构自下而上分为硬件层、PAAS层、应用层以及展示层,其中硬件层提供必要的计算能力、数据存储能力和网络通信能力,是支撑上层应用运行的物理基础,硬件资源通常通过虚拟化技术被抽象化,以支持更灵活和可扩展的网络功能和服务;PAAS层为上层业务应用提供了统一的云化技术底座,提供流程平台与搜索引擎、开放的API设计能力、低代码能力的表单设计器、灵活的规则配置平台与报表平台等组件或能力;应用层基于服务能力开放平台支持模块化服务,通过API快速集成构成多业务系统,采用容器化技术来封装和部署各种应用和服务,保障云资源环境的一致性,支持快速部署和拓展,资源隔离,可伸缩性;展示层提供云化应用系统的统一对外交互界面。

图片

定标准

针对上云的挑战和目标,对标上云目标特性,制定了以下目标措施:

  • 完成系统去IOE及去Weblogic、Websphere 等商业软件;

  • 统一使用平台PaaS组件,包括不限于Cache,pg,mq等等;

  • 能力注册:对外提供能力注册平台,有效调用,应用和界面解耦,核心功能能够注册并调用;

  • 代码平台托管:全量代码托管到平台代码仓库且动态更新;

  • CI/CD:容器化实现平台的编译打包和部署,实现动态伸缩;

  • 敏捷开发:平台实现从软件开发需求到可部署代码的开发全过程管理;

  • 故障快速定位解决: IaaS/PaaS/SaaS相关业务指标监控,故障时快速发现并定位,较短时间内处理解决。

搭底座

以微服务化架构对外提供服务,实现应用与平台解耦,基于这个核心底座,可以快速进行业务流程的加载,实现敏捷开发、实现需求开发测试上线转维的全周期管控。统一底座包含如下一系列共享平台组件:

流程平台:严格遵循BPMN规范,提供全面的流程管理功能,包括流程定义、监听配置和部署。支持流程实例的创建、启动和完成,支持任务节点的生成、完成,以及环节参与者的指定、签收、改派和加派等操作。此外,平台还提供灵活的微流程设计工具,以适应各种业务需求,确保流程管理的高效和灵活。

自定义表单设计器:支持低代码的方式快速配置表单的各项业务属性、数据源,适合不同设计与应用场景。

API设计平台:支持多种通信协议,如:http/restful、soap/webservice、websocket。

规则平台:支持一个规则定义下有百万级规则实例数,可根据多种条件组合规则进行智能调度。

报表平台:新报表平台支持多数据源、可视化设计、多种类型表格及图表,提供丰富模板,支持快速自定义配置。

搜索平台:集成高效的Elasticsearch查询分析服务,优化并加速工单搜索过程确保快速准确地检索相关工单信息。

升架构

架构升级原则依托于云原生的10要素(前后端分离、应用与数据解耦、中心化&微服务设计、无状态设计、应用与配置分离、统一日志、水平扩展、快速启动、容器部署、应用敏捷交付)实现架构弹性伸缩,具备研发云、云眼、云桥等平台对接的能力。

图片

用工具

合理的利用工具能提升研发、配置效率,做到事半功倍的效果,业务发布助手以及底代码表单工具为快速上云实践提供了巨大助力。

业务发布助手:实现将业务场景设计的流程、表单、埋点、调度策略、时限规则等业务配置打包,发布到其他环境,如从研发环境生成业务包,发布到生产环境,避免重复配置,提升上云业务配置效率。

低代码表单工具:基于低代码表单平台“拖拉拽”的模式快速实现界面需求,省去大部分的编码工作量,降低了研发门槛,节约资源投入,提高效率。

图片

迁业务

业务迁移的过程采取专题需求版本统一研发、规范发布、自动数据迁移比对和共性能力预置等手段,帮助核心业务流程快速迁移整合。

统一研发:针对专题需求,由统一团队对需求进行统一分析、设计和研发,制定基线版本,最大程度上缩短交付周期。

规范发布:统一版本包(应用包+数据包)、部署操作手册、演示脚本等,支持定制需求落地。

自动数据迁移比对:对于复杂流程,针对性的设计了数据迁移比对流程,较好的实现了旧系统数据的迁移到云化系统。

图片

共性能力预置:针对具有共性的业务场景在出厂时预置了对应的模块以及配置数据,实现快速的业务迁移,具备可复制性可推广性。

建模式

为应对多项目并行交付的挑战,确保项目同步推进,统一支撑团队通过优化资源配置和规范化交付流程,快速识别并解决潜在问题,统一版本输出,加强各省项目的统一性和效率。同时建立了项目交付模型框架,在交付前中后六个阶段规定了标准动作输出,系统化地推进交付运营并提升交付质量。

图片

优运营

系统迁移上云,需优化需求保障、研发提效、运维提升等各种运营指标,做到事中并行保障,事后优化提升。

1、针对多项目并发需求,采取统一支撑,亮点共享,个性需求小循环,共性需求大循环的模式。

统一团队作为需求分析接口人过滤共性需求还是个性化需求,如果判定为个性化需求就由各自团队内部进行分析、设计、研发、测试、交付;如果是共性需求则由统一团队进行后续的流程,做到多点交付,亮点共享,节约成本。

2、运维上采取多个有效措施,来解决发现难、定位慢、解决差的问题。

针对中间件比如cache,mq,数据库等问题,利用监控平台进行日常监控,出现问题及时发现并告警通知。针对应用类故障的引入调用链相关,提供图形化界面快速定位故障点,避免传统人工排查日志定位。针对故障出现的业务数据修复,引入业务清障助手,可以批量快速的处理故障引发的异常业务数据。

图片

基于上云采取的积极有效措施,团队在一年内完成了超过30套系统的快速上云,取得了良好的效果。经运行监测发现,系统上云后,系统性能上提升35%左右,稳定性大幅提高,系统部署和运维成本降低幅度达到75%,系统不再依赖昂贵的硬件和商用中间件,节省了大量的IT投资;云环境支持快速部署新服务和应用,响应变化的速度比传统IT架构快50%以上;DevOps和自动化工具的集成简化了开发和运维流程,使得新功能从开发到上线的时间可以缩短至几小时或几天。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/652477.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PS中常用的快捷速查表以及常用的工具速查表

PS中常用的快捷速查表:大家有需要可以收藏一下 文件菜单 新建 ... CtrlN 打开 ... CtrlO 在 Bridge 中浏览 ... AltCtrlO 打开为 ... AltShiftCtrlO 关闭 CtrlW 关闭全部 AltCtrlW 关闭并转到 Bridge... ShiftCtrlW 存储 CtrlS 存储为 ... Shi…

康医养产教服务平台发布会

五月的上海,繁花似锦。22号下午在上海市长宁区虹桥路1999号黎黎酒家隆重举办“康医养产教服务平台发布会!” 【韩邑 康医养产教服务平台发起人】 【盛汇中国创造学会理事】 【宋舒易博士上海会会联盟发起人】 为促进健康产业链可持续发展,结…

计算机网络——在地址栏输入网址(URL)之后都发生了什么

网址,也叫域名,域名就像一个 IP 地址的可读版本,比如,百度的域名 www.baidu.com,他的 ip 是 110.242.68.3,输入 IP 一样可以跳转到百度搜索的页面,我想没有一个人没去记百度的 IP 吧。其实我们真…

钡铼技术BL205模块在智能制造产线的灵活配置与优化

钡铼技术的OPC UA耦合器BL205模块在智能制造产线中的灵活配置与优化是当今工业领域中的一个关键议题。随着工业4.0和数字化转型的不断推进,生产线的灵活性和智能化程度成为了企业追求的目标。在这一背景下,BL205模块以其分布式、可插拔、结构紧凑、可编程…

I.MX6ULL Linux 点灯实验理论及汇编点灯

系列文章目录 I.MX6ULL Linux C语言开发 I.MX6ULL Linux 点灯实验理论 系列文章目录一、I.MX6ULL GPIO二、I.MX6ULL IO 命名三、I.MX6ULL IO 复用四、I.MX6ULL IO 配置五、I.MX6ULL GPIO 配置六、I.MX6ULL GPIO 时钟使能七、硬件原理分析八、实验程序编写 一、I.MX6ULL GPIO 一…

嵌入式进阶——外部中断(EXTI)

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 STC8H中断外部中断外部中断编写配置外部中断调用中断触发函数 外部中断测试测试外部中断0测试外部中断2、3或者4 PCB中断设计 STC8…

Unity 生成模版代码

1、创建模版代码文本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ClassNameScritpItem : MonoBehaviour {public GameObject go;// Start is called before the first frame updatevoid Start(){go new GameObject();}// …

驱动开发学习之新旧字符设备接口,自动创建设备的点灯

1.前言 本章将介绍新旧字符设备接口,以及自动创建设备节点的点灯实验。 2.实验原理介绍 2.1.寄存器知识 学习过单片机的兄弟都知道,点灯有以下步骤: (1)开启相应的GPIO时钟 (2)如果需要配置复用&…

聊聊如何感知项目引入哪些功能特性

前言 使用过springcloud全家桶朋友,应该知道springcloud涉及的组件很多,为了让开发者快速了解项目引入了springcloud哪些组件,springcloud引入了HasFeatures,配合Actuator,可以让开发者感知到项目引入的组件功能类型、…

C++ std::reference_wrapper:让引用更强大

std::reference_wrapper 的通俗易懂解释 一、简介二、std::reference_wrapper 的初衷三、常用示例3.1、与 make_pair 和 make_tuple 一起使用3.2、引用容器3.3、通过 std::thread 按引用传递参数给启动函数3.4、引用作为类成员3.5、按引用传递函数对象3.6、与绑定表达式一起使用…

苹果手机备忘录共享到微信,为何显示不支持的类型

作为一名苹果手机用户,我深知其系统的流畅与便捷。然而,在日常使用中,我发现了一个令人不解的问题:为何苹果手机的原生备忘录无法直接分享到微信?每次当我尝试将备忘录里的内容共享给微信好友时,总会遇到“…

代码随想录算法训练营第四十二天|62.不同路径、63. 不同路径 II

62.不同路径 文档讲解:代码随想录 题目链接:. - 力扣(LeetCode) 记录每个格子的状态 二维矩阵-->二维dp数组 dp数组 题目是要求到达最后一个格子有多少种路径 所以dp[i,j]: 到达第(i,j)个格子有多少种路径 递推公式 到达一…

WPS文件没有保存怎么恢复?5个解决方案轻松恢复!

“我在WPS上编辑了一个文件,但是还没来得及将它保存,我不小心就退出软件了,现在不知道有什么方法可以恢复WPS文件呢?大家可以帮帮我吗” WPS作为一款功能强大且用户友好的软件,给我们的工作带来了很多的便利。但我们在…

记录一次内存取证

1.情景复现 我姐姐的电脑坏了。我们非常幸运地恢复了这个内存转储。你的工作是从系统中获取她所有的重要文件。根据我们的记忆,我们突然看到一个黑色的窗口弹出,上面有一些正在执行的东西。崩溃发生时,她正试图画一些东西。这就是我们从崩溃…

# WIN10/WIN11 找不到【应用商店 Microsoft.WindowsStore】怎么办?

WIN10/WIN11 找不到【应用商店 Microsoft.WindowsStore】怎么办? 解决方法: 1、右键【开始】菜单,点击【Windows PowerShell (管理员)】,输入: Get-AppxPackage -allusers | Select Name, PackageFullName 2、查询…

期望薪资30k字节java2面,A给B转账的同时B给A转账怎么并发量最高

一面 1、自我介绍 2、详细介绍一下自己的做的项目?根据项目提了一些问题 3、hashmap原理 4、B树原理? 5、final禁止重排序原理? 6、设计一个榨汁机类,面向对象怎么设计? 7、get、post区别,使用场景&…

AI大模型探索之路-实战篇9:探究Agent智能数据分析平台的架构与功能

系列篇章💥 AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5:探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6:掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…

kettle学习之子映射组件

映射组件就跟java中的函数方法一样,类似一个子流程。 练习开始 根据数据库表中的id查询出想要的字段,并把字段存到excel表中 一、表输入 二、子映射 映射输入规范,类似java方法中的形参 name vsxcd是方法返回的参数 三、excel输出 运行结果…

前端基于word模板导出word文档

项目环境 vue2 js vue-cli等 依赖包都可以在npm官网找到对应文档 npm官网(英文) 1、依赖 安装依赖 docxtemplater npm i docxtemplaterfile-saver npm i file-saverjszip-utils npm i jszip-utilsjszip npm i jszip在对应页面或模块中引入依赖 import Docxtemplater …

关于(苍穹外卖)Cache问题的一点困惑与思路

因为本人,em---昨天看的,今天早上就有点迷惑了,在这里记录一下,并捋一下思路, 首先要明确的一点就是,我们是在uesr端进行缓存的,并且,菜品缓存是中的key是 String key "dish…