QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

华为云 AOM 立体运维系列 -- 立体运维架构与定位

  • 2020-04-01
  • 本文字数:2777 字

    阅读完需:约 9 分钟

华为云AOM立体运维系列--立体运维架构与定位

随着越来越多企业应用上云,云上应用的规模与复杂度日趋增长,对云上应用的运维,也提出了新的挑战。华为云 AOM 服务面向大规模企业应用的运维,在实践中演进并构建了一套完整的面向云上应用的立体化运维系统。下面以一个典型的云上应用架构为例,分享华为云 AOM 立体运维的架构与定位。后续会有立体运维系列的文章,讲述各子系统的技术细节及优秀实践,欢迎持续关注。

一、常见云上应用的架构

云上应用早期较多的是购买云服务 I 层资源(多为基础设施如主机等计算资源)自建各种集群,运维人员多以主机监控为中心进行运维,同时自己搭建应用及数据库等监控系统进行应用层和业务层运维。随着容器技术的普及,越来越多的企业转向 CaaS 和 PaaS 来管理应用,通过微服务框架开发,业务的实现也更多的使用云上服务,如分布式中间件,函数服务,AI 服务等,同时运维也转向云上的运维服务。



一个典型的现代云上应用架构:



经过域名解析阶段后,静态资源命中 CDN 后直接返回,无命中时会回源去拉取,动态请求直接访问 WEB 服务,在请求到达四层和七层 ELB 之前,多数企业应用也会选择 WAF 来清洗异常流量。


经过 ELB 后,请求到达业务应用服务器,业务实例多为分布式构架,微服务之间相互调用,一般情况下企业运维人员较多的关注点是应用实例这一层,多为企业自行开发的服务。


持久化层当前各 CSP 提供的中间件不一样,华为云上用户使用较多的如分布式缓存,分布式数据库等。由于提供动态扩容及较高级别的 SLA,越来越多的企业不再需要专业的 DBA,转而使用云上的服务,开发上也更加敏捷。


如此多的云服务和各种资源,任何一个环节出现问题,都将导致应用 KPI 异常,用户体验下降,进而导致企业运营受到影响,而每个使用公有云服务的企业,如果投入大量人力去自建运维系统并且将整个请求的各个环节关联起来,成本会非常高。因此华为云 AOM 在帮助企业对应用运维的过程中,通过实践构建了一套立体运维体系,帮助企业更好的进行一站式运维。下面章节将为您介绍立体运维的定位及架构。

二、立体运维的定位及架构

立体运维定位:


AOM 立体化运维主要是围绕用户应用进行监控,一站式完成用户体验监控,应用性能监控,基础设施监控。


参考以上典型云应用架构,通过将业务请求路径上经过的不同资源进行分层,围绕分层设计不同的专业运维服务子系统,将不同数据在不同子系统上串联协同、关联分析,构筑一个云上的运维平台,从而最大化的实现数据价值,为运维人员提供一个统一的运维中心,达到一站式立体化运维的目的。如下为 AOM 立体运维分层:



华为云 AOM 立体运维分层


构建AOM立体运维,除了要覆盖应用的端到端资源以外,重点还要通过多种运维数据进行数据分析,通过多种可视化手段进行友好的界面展示。因此AOM立体运维体系建设包括以下工作:


资源模型化


其实就是将应用依赖的资源接入 CMDB,但是云上业务的 CMDB 与自建数据中心运维有所区别,后者多对应的是 SRE(网站可靠性工程师)层面的 CMDB,而 AOM 所需要的 CMDB 是面向云资源的量身打造的 CMDB。主要有以下特征:


  • 分离业务模型与存量资源模型(后续文章后详细解读)

  • 存量模型能表述不同的云服务下的不同云资源

  • 支持对云服务内云资源建立映射关系

  • 支持对跨云服务的资源建立映射关系

  • 支持云资源标签管理(打标签,同步标签,按标签查询)

  • 支持历史资源快照

  • 资源模型化这一步是所有数据关联及运维平台化的基础,通过统一的模型将不同资源关联起来后,可以帮助用户快速的找到故障的根因,也能通过关联关系对大量告警进行分析,抑制重复告警等。


数据可视化


良好的可视化界面不但能提高运维人员运维效率,还可以通过直观的展示查看各种资源消耗趋势,帮助企业分析运营走势,预测未来资源使用情况等。AOM 数据可视化遵从以下原则进行设计


  • 建立左右逢源的资源拓扑图

  • 资源拓扑是指一个资源与其他资源的关联关系,如云主机与 ELB 及 VPC,CDN 的关系,通过一个资源拓扑图进行展示。如下



所谓左右逢源是指以一个资源为中心,拓扑图展示其上下各一层的关联资源即可,避免拓扑过大,但又能通过一个资源找到上层或者下层资源。


  • 关联资源下钻

  • 建立拓扑后,通过图上的资源链接,可以跳转到选中的另一个资源的拓扑图中去,而新的拓扑图是以新的资源为中心,如此来达到通过关联资源不断下钻的目标,方便运维人员查找问题。

  • 云资源快速跳转

  • 一个云资源可能涉及到多个云服务,如 ELB 实例,涉及 ELB 服务本身,VPC,CDN,ECS,而各个云服务入口较分散,需要在资源名称增加超链接快速跳转到云服务 console。

  • 视图模板化

  • 各资源监控数据的展示,由 AOM 默认提供模板,但同时要支持用户自定义模板,由于运维人员关注的指标或其他数据侧重点不一样,因此要能通过模板支持同一个资源不同视角的查看方式。

  • 功能向导化

  • 复杂功能需要通过向导快速指导用户进行设置或配置,以减少用户学习文档或者视频的时间成本。


服务平台化


平台化目标要支持用户通过各子系统通过开放 API 实现自动化运维。指标,日志,事件告警等数据要支持用户通过接口订阅,转发到外部系统供用户运维平台进行分析,分析结果通过 API 输入立体运维平台并通过事件驱动平台业务持续分析。


也就是通过数据流,实现平台与用户运维系统的协同,实现流程化自动化。


自动化将会协助用户实现故障自动恢复,如通过数据分析后发现需要扩容,可以通过事件触发或者 API 调用弹性伸缩子系统进行实例扩容。还可以在资源空闲时缩容以节省企业运营成本。


分析智能化


针对指标数据提供动态阈值计算能力,无需用户设置阈值,通过机器学习进行异常检测,对于大型系统的运维可以有效的降低人工配置成本。同时也避免静态阈值设置不合理需要不断调整的重复工作。


针对日志数据,智能提取模板,分析可变参数与静态文本,通过日志关键字监控,实时掌握应用异常情况。


AOM 整体架构:


以下为 AOM 整体的架构,主要分为五个子系统,每个子系统通过多个微服务提供不同功能,整体协同实现立体运维目标。



  • ALM 模块负责事件告警的管理及相关性分析,支持用户配置通知策略以及时将告警发送给运维人员。

  • ALS 模块负责分析日志。

  • INV 模块即 CMDB 模块,实现资源的管理及资源的映射及查询等能力。

  • AMS 模块主要负责指标数据的管理,提供阈值配置能力。

  • DPA 模块主要负责大数据计算及智能化能力,在线和离线分析数据,以事件驱动各子系统运行。


另外架构图中的底座环境,展示了 AOM 运维范围,从基础设施到 PaaS 层应用及容器和 VM 应用,覆盖了应用运行所依赖各层资源。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/ARzbhbsqI6YePpSxamK4Lg


2020-04-01 21:121938

评论

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

【一定要看哦】转瞬之间的成长,传播知识的梦想(赠予极客邦【1周年】)

码界西柚

程序人生 1 周年盛典 InfoQ 写作平台 1 周年 InfoQ 的朋友们

一文带你了解华为云GaussDB的五大黑科技

华为云开发者联盟

数据库 华为云 GaussDB(for Influx) 时间线 tpmC

量化策略倍投系统搭建,马丁策略交易

弱网下的极限视频通信学习感悟!

txp

音视频

北美一工作搜索引擎公司技术岗面经

HoneyMoose

ceph-csi源码分析(4)-rbd driver-controllerserver分析

良凯尔

Kubernetes 源码分析 Ceph CSI

LeetCode题解:191. 位1的个数,位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

NumPy之:数据类型对象dtype

程序那些事

Python 数据分析 Numpy 程序那些事

耗时5小时,用低代码搭了2套应用,我才明白它为什么能火了

优秀

低代码 低代码开发 低代码开发平台 低代码平台

软件 IT 专业大学生职业方向情况调查

李孟聊AI

大学生日常 IT 大学生

迪安精选:那些好用的浏览器扩展

迪安

浏览器 插件 扩展

First Unique Character in a String 的变种问题返回第一个找到符合条件的字符

HoneyMoose

一房地产数据服务初创公司的面经

HoneyMoose

图的学习总结

Nick

数据结构 数据结构与算法

ceph-csi源码分析(3)-rbd driver-服务入口分析

良凯尔

Kubernetes 源码分析 Ceph CSI

Faiss源码剖析:类结构分析

华为云开发者联盟

机器学习 KNN Faiss 类结构 Quantizer

Python3 print变量打印输出功能后面隐含的几个知识点

老猿Python

Python print str repr

浙江宁波市区块链研究机构发布首个全国性公证联盟运营链

CECBC

区块链

SpringSecurity+JWT认证流程解析

学Java关注我

Java 编程 程序人生 计算机 架构】

弱网下的极限实时视频通信

疯狂的驸马

音视频 编码 极限视频通信

让宝妈宝爸告别安全顾虑,区块链构建母婴行业新生态

CECBC

母婴

GitHub开源的中国亲戚关系计算器

不脱发的程序猿

GitHub 开源 程序员 4月日更 中国亲戚关系

飞桨中国行落地合肥,与当地企业共话产业智能化升级

百度大脑

智能化 飞桨中国行

Kubernetes 上如何控制容器的启动顺序?

张晓辉

Kubernetes istio

vue+webpack+vue-cli

Vue js 打包 webpack vuecli

uni-app rtm插件集成指南及常见问题--iOS

anyRTC开发者

uni-app ios 音视频 WebRTC sdk

人类视觉神经科学助力音视频产业革命-弱网下的极限实时通信

张音乐

音视频 笔记 弱网下的极限实时视频通信

抵制羊毛党,图计算“加持”互联网电商风控

华为云开发者联盟

风控 图计算 互联网电商 羊毛党

golang单元测试踩坑系列(一)

geange

单元测试 Go 语言

客服中心简单分析

zzz

中国区块链产业全景图

CECBC

技术应用

华为云AOM立体运维系列--立体运维架构与定位_软件工程_华为云产品与解决方案_InfoQ精选文章