【AICon 全球人工智能与大模型开发与应用大会】改变 AI 时代下写代码的模式 >>> 了解详情
写点什么

华为云 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:121529

评论

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

在牛客逮到一个阿里10年老Java开发,聊过之后收益良多...

Geek_1df311

Java 编程 架构 面试 计算机

如何修复org/jacoco/agent/rt/internal_773e439/Offline异常?

Changing Lin

11月日更

在 JavaScript 中如何检查对象为空

编程江湖

掌握Java的内存模型,你就是解决并发问题最靓的仔

华为云开发者联盟

Java 内存模型 线程 并发 工作内存

趣谈哈希表优化:从规避 Hash 冲突到利⽤ Hash 冲突

热爱java的分享家

Java 架构 编程语言 经验分享 哈希表

外卖跑腿系统专业开发外卖跑腿app源码开发

风行无疆

行业分析| 为什么uni-app在音视频领域这么火?

anyRTC开发者

uni-app 音视频 移动开发 语音通话 视频通话

为何每次用完ThreadLocal都要调用remove()?

热爱java的分享家

Java 程序人生 编程语言 经验分享

分区丢失导致文件丢失?巧用EasyreCovery找回!

淋雨

数据恢复

干货必收藏!墨天轮最受DBA欢迎的250份学习文档合集

墨天轮

MySQL 数据库 oracle postgresql

元气部落盲盒软件原生开发芒趣盲盒app源码

风行无疆

优秀!阿里甩出GC面试小册,仅7天Github获赞96.9K

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

Alibaba最新神作!耗时182天肝出来1015页分布式全栈手册太香了

热爱java的分享家

Java 面试 分布式 编程语言 经验分享

你的web知识有所欠缺。

喀拉峻

Web 安全

彻底搞懂访问者模式的静态、动态和伪动态分派

Tom弹架构

Java 架构 设计模式

工具 | 一条 SQL 实现 PostgreSQL 数据找回

RadonDB

数据库 postgresql RadonDB

会声会影编辑面板常用功能介绍

懒得勤快

CSS布局(四)之文本布局

Augus

CSS 11月日更

又一次漏洞复现与分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

pringBoot + Mybatis Plus + ClickHouse增删改查入门教程

程序员万金游

MySQL 数据库 mybatis Clickhouse

Go语言学习查缺补漏ing Day6

Regan Yue

Go 语言 11月日更

多商户入驻系统开发多商户入驻app源码开发

风行无疆

Function Mesh:Serverless 在消息与流数据场景下的火花

Apache Pulsar

大数据 架构 云原生 Apache Pulsar pulsar社区

24 K8S之Service资源及其模型

穿过生命散发芬芳

k8s 11月日更

秋招拿到offer之后,分享面试阿里、头条、腾讯的经过以及一些总结

Geek_1df311

Java 编程 程序员 架构 面试

帧彩视界之Pseudo HDR:为普通SDR设备用户提供HDR体验

微帧Visionular

视频编码 HDR

DAS易用性设计

赫杰辉

TypeScript 之 Typeof Type Operator

冴羽

JavaScript typescript html5 翻译 大前端

Micro Focus Fortify 最新能力发布,应用安全进入“一切皆代码”新时代

艾媒报告:百度输入法AI功能领跑行业 用户满意度第一

百度开发者中心

百度 AI

Pulsar 分级存储 -- S3 演示

Apache Pulsar

大数据 架构 云原生 分布式存储 Apache Pulsar

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