首页 > 其他分享 >华为云GES助力九洲平台:探索确定性运维的新实践

华为云GES助力九洲平台:探索确定性运维的新实践

时间:2024-02-17 10:55:35浏览次数:34  
标签:GES 服务 运维 CloudMap 九洲 查询 华为

本文分享自华为云社区《基于华为云GES的九洲平台确定性运维实践》,作者:华为云GES团队 华为云SRE九洲团队。

1 制约运维自动化的三大挑战

传统的云资源运维存在诸多问题:对风险的管控仍然依赖人工而不是工具系统,风火水电基础设施在遇到问题时因无法定位影响只能全局管控,使影响面无故扩大。由于缺乏云资源的拓扑信息,部分资源依赖获取不到会导致许多问题的搁置……提升云资源的自动化运维能力,面临诸多挑战:

缺乏拓扑信息,依赖分析难

不同的云资源(如租户信息、云服务信息、机柜机房信息)来源于不同的系统中,从软件层面的云服务,到硬件层面的机房机柜等,都可能出现各种各样的问题,并且不同的云服务之间存在着一些依赖关系,一个云服务出问题可能影响其他云服务。

自动化程度低,问题定位依赖人工

即使拥有这些依赖关系并存储在配置管理数据库中,传统运维手段也只能定位问题节点,对于问题的爆炸半径(如问题节点依赖的机柜机房信息、或依赖的其他云服务)往往要依赖手工定位。

运维诉求杂,查询类型多

此外运维例行维护、故障定位需要进行类型繁多的查询,既需要有实时性要求的单点深度链路查询支撑运维,也需要全局类链路统计等偏离线任务的查询支撑下游任务。

2 华为云图引擎GES助力CloudMap高效检索图数据

从数据入库到计算查询,华为云图引擎GES为九洲平台CloudMap的存储、查询和分析提供了一站式解决方案。

2.1 高效数据导入,保证数据时效

在复杂、庞大数据量的背景下很难使用传统的结构化数据库进行数据建模,图引擎帮助快速构建点到点、点到边之间的数据建模;

从基础设施到云服务,使用图引擎构建全栈元数据,创建了过亿的点边关系,同时这些点、边支持增加属性机制,让每个点、边都能存储对应的属性;

数亿带索引的属性数据小时级数据导入,保证了数据的时效性。

图 1 简化后的元数据截选

2.2 全程一套查询API,降低开发成本

华为云图引擎GES提供了丰富的API接口查询能力。图引擎团队支撑CloudMap团队了解和学习相关查询接口和Cypher语法,实现接口化的查询逻辑。CloudMap的查询请求通过GES的Cypher、PipelineQuery、PathQuery等接口完成,这些请求响应和返回格式统一,便于处理,简化了CloudMap的处理逻辑,降低了运维诉求杂,查询类型多带来的业务开发成本。查询请求的高效响应,让长链路的空间关系数据得以快速查询并消费。

2.3 同时支持离线/在线任务,“一份数据做两件事情”

秒级响应能力:在图引擎的强大算力支持下,九洲平台CloudMap实现了多点、多跳查询的能力,在复杂的空间关系中快速、准确的找到需要的数据及关系。其中利用业界领先的技术,图引擎将大量6-8跳查询的响应控制在秒级,使得CloudMap进行实时故障影响面分析、设备依赖关系查询成为可能;

离线计算能力:在对于需要庞大计算量、大量数据的分析型任务中,图引擎提供了异步任务能力,通过提前执行离线查询/算法任务并缓存结果,保证了结果获取的效率,支撑了CloudMap向下游应用提供数据;、

强大索引机制:图引擎支持像关系型数据库一样的索引构建能力,可以基于label、属性等进行索引创建,实现全图属性过滤任务的快速响应;

稳定可靠的查询能力:由于数据量大、查询链路长的原因,在查询过程中往往会使用大量内存,图引擎通过内存管理技术控制总内存使用量,让查询稳定可靠。


图 2 CloudMap空间数据3D拓扑示例

3 九洲平台CloudMap解决方案

图 3 CloudMap数据概览

华为云图引擎GES团队支持九洲平台CloudMap完成了亿级空间数据构建,数十个查询API落地九洲平台支撑每天的业务查询。九洲平台通过租户资源拓扑构建、网络流量路径分析、服务动态依赖发现打造全链路可视能力,构筑基于站点视角的数字化平台,实现分钟级问题定界。

图 4 CloudMap云上资源拓扑示意图

3.1 构建租户资源拓扑,使得依赖分析成为可能

租户资源拓扑是将实体抽象成与其大小、形状无关的“点”,而把连接实体的线路抽象成“线”。CloudMap通过整合各类系统中的数据信息,将华为云的租户与其相关租赁的物理机、虚拟机进行关系的构建并存储到华为云图引擎GES中,构建租户资源拓扑,使得依赖分析成为可能。配合GES提供的查询语句和API,在租户出现问题时第一时间能够通过“线”溯源回对应的租赁机器,并快速定位和解决其中的问题。

图 5 CloudMap租户资源拓扑示意图

3.2 绘制流量路径,截断问题蔓延

华为云作为国内TOP云服务厂商,每日网络流量数据是比较庞大的,对于网络流量路径的管理和可视就如地图之于道路交通一样重要。而在运维场景下,掌握了网络流量路径可以进一步的补充由基础设施、基础服务到高阶服务之间的链路关系。CloudMap通过将请求流量进行监控,绘制出一个整体、清晰的物理和虚拟网络路径,可以准确截断问题的蔓延,提高自动化运维水平。

图 6 CloudMap高阶资源关联的物理网络拓扑示意图

3.3 服务依赖动态发现,爆炸半径自动呈现

服务依赖发现是发现分布式软件系统中各组件依赖关系的过程,随着华为云的规模扩张,服务往往会被拆分为多个子服务。分布式软件系统通过不同子服务之间的组合,提供了稳定多样化的服务。与此同时,由于这些错综复杂的依赖关系,也伴随着很多连锁反应。其中最经典的案例就是由于单个服务的故障导致其在分布式软件系统中快速传播,导致大量的服务失效。在华为云的日常运维中,掌握各个服务的动态依赖是让云稳定可靠不可或缺的一项技术,它关系到了能否快速的找到保障服务的各个关联服务,避免其他服务引火烧身。使用GES的多跳查询能力,CloudMap及时定位单服务问题的影响范围,避免大量服务失效,解决爆炸半径求解难的问题。

图 7 CloudMap云服务资源拓扑示例

4 九洲平台CloudMap的应用

作为站点数字化平台,九洲平台CloudMap在图引擎GES上搭建运维图模型,建立站点空间数据关系。通过叠加空间数据和运维作业数据,从而打破数据孤岛、消除数据断裂点、沉淀专家经验,形成运维知识图谱,释放数据价值,助力故障快速定位定界。

图 8 九洲数据流

截止目前,CloudMap在GES上存储的空间关系数据已覆盖52+云服务,在分布式缓存服务DCS、云数据库服务RDS、文档数据库服务DDS和大数据服务MRS等高阶服务故障快恢场景应用落地。除此之外,CloudMap还为站点风控、变更风控、故障快恢、站点工作台等多个运维场景提供了数据底座和计算能力,极大提升了现网运维效率。

GES在此过程中也为CloudMap提供了数据底座,助力其挖掘关联数据,释放数据的潜在价值。目前,GES图引擎已经在智能运维、数据血缘、制造业物料管理、金融反欺诈、社交推荐、企业关联关系等多个业务场景支撑客户达成客户业务目标,未来GES会探索更多业务场景,帮助更多客户和开发者使用图,用好图,并取得业务成功。

 

如需更多了解,请关注:

 

点击关注,第一时间了解华为云新鲜技术~

 

标签:GES,服务,运维,CloudMap,九洲,查询,华为
From: https://www.cnblogs.com/huaweiyun/p/18017781

相关文章

  • P10111 [GESP202312 七级] 纸牌游戏
    原题链接思路1.任意一轮出牌,只有三种选择2.每一轮的得分只与当前一轮出的牌和上一轮出的牌相关由此我们可以设\(dp[i][j]\)为第\(i\)轮,出牌\(j\)的得分3.由于扣分机制,扣的分数与扣的次数有关,所以我们再加一层\(dp\)代表扣的次数code,注意细节#include<bits/stdc++.......
  • 【运维测试】移动测试自动化知识总结第1篇:移动端测试介绍(代码笔记已分享)
    本系列文章md笔记(已分享)主要讨论移动测试相关知识。主要知识点包括:移动测试分类及android环境搭建,adb常用命令,appium环境搭建及使用,pytest框架学习,PO模式,数据驱动,Allure报告,Jenkins持续集成。掌握操作app的基本api,掌握元素定位及获取元素信息的api,掌握事件操作api,掌握app模拟手势......
  • day01_运维介绍与虚机安装
    上课须知1.上课的软件笔记软件typora记录markdown语法的文本编辑器通讯录于超1110-110101教你如何搭建游戏私服看看运维的操作。。网页游戏browser/server浏览器/服务器www.4399.comwww.taobao.com,服务端更新了,www.jd.com1.服务端,有一个企业,部署......
  • CF1927G Paint Charges
    题意简述你有\(n\)个道具,对于第\(i\)个道具,你可以选择覆盖\([i-a_i+1,i]\)或\([i,i+a_i-1]\),或者什么都不做。求覆盖所有\(1\simn\)所需要的道具的最小数目。\(n\le100\)。\(O(n^3)\)解法首先明确一个事实:被一个或多个区间包含的区间,使用该区间对应的道具是没有......
  • POJ--3764 The xor-longest Path(Trie)
    记录13:562024-2-10找到俩个点,获得最大的边权异或值。利用异或的性质,一个值被异或俩次相当于没有异或即axorbxorb=a所以先从顶点出发,获得每个点路径上的异或值,然后对这俩个值进行异或就获得了他们之间路径的异或值。获取从顶点到每个点路径上的异或值后,可以利用trie来......
  • G. Paint Charges
    G.PaintChargesAhorizontalgridstripof$n$cellsisgiven.Inthe$i$-thcell,thereisapaintchargeofsize$a_i$.Thischargecanbe:eitherusedtotheleft—thenallcellstotheleftatadistancelessthan$a_i$(from$\max(i-a_i+1,1)......
  • 2024年世界体育界的第一大丑闻:利昂内尔·梅西 (The biggest scandal in the world of s
    无德球员,梅西亲日辱华,不顾球迷感受,拒绝在中国的比赛中上场,并以所谓的伤病为借口,却在3天后的日本比赛中完全恢复如初,并进行了30分钟的高强度的对抗比赛并射门,可以说梅西的这一行径就是对中国亿万百姓的侮辱,一个不懂得尊重中国人的人比不配得到中国人的尊重。Theunethicalpla......
  • CodeForces 1927G Paint Charges
    洛谷传送门CF传送门看到\(n\le100\)考虑\(O(\text{poly}(n))\)dp。发现从左向右决策,因为一个点可以向左或向右覆盖,所以需要记最靠左的未覆盖的位置\(j\)和最靠右的已覆盖位置\(k\),状态就是\(f_{i,j,k}\),dp最小的覆盖次数。转移的讨论很简单。考虑不覆盖还是向左......
  • 如何做好单位的运维工作
    做好单位的运维工作,需要从多个方面入手,以下是一些建议:制定完善的运维策略:明确运维目标,制定合适的运维策略,确保运维工作的有序进行。建立高效的运维团队:选择具备相关技能和经验的运维人员,建立高效、稳定的运维团队,确保运维工作的顺利进行。优化运维流程:简化运维流程,提高运维效......
  • uniapp 实践二 uni-id-pages
    导入用到以上的组件。发现没办法弄到分包但是uni-id-pages这个可以弄到分包里面作者的建议:如果改动不大,那么每次更新uni-id-pages时,在HBuilderX的对比界面对比一下就好如果改动较大,建议复制一套前端页面到自己工程的pages目录下,pages.json里只引用根目录pages下的页面,不引......