【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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

评论

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

Kotlin-源码里成吨的-noinline-和-crossinline-是干嘛的?

android 程序员 移动开发

Kotlin写一个解释器(2)---语法分析,安卓项目开发范例大全

android 程序员 移动开发

Kotlin的自定义View,实现带弧形的进度条,androidjetpack详解

android 程序员 移动开发

Kotlin系列三:空指针检查,万字长文总结Android多进程

android 程序员 移动开发

Jetpack组件---ViewModel 概览,android高级面试2020

android 程序员 移动开发

Jetpack-在数据变化时如何优雅更新Views数据,ffmpeg音视频开发实战6下载

android 程序员 移动开发

JNI 与 NDK 入门(一),设计思想与代码质量优化+程序性能优化+开发效率优化

android 程序员 移动开发

Kotlin学习手记--泛型、泛型约束、泛型型变,天呐

android 程序员 移动开发

Kotlin学习手记——注解(1),2021年字节跳动74道高级程序员面试

android 程序员 移动开发

Jetpack Compose 1,阿里P8架构师Android大厂面试题总结

android 程序员 移动开发

Kotlin(1) lambda表达式和高阶函数操作符,android软件开发基础

android 程序员 移动开发

Kotlin-编程核心基石—高阶函数,androidrom定制

android 程序员 移动开发

Kotlin学习手记——注解,flutter下拉加载

android 程序员 移动开发

Kotlin 协程和 Android SQLite API 中的线程模型,嵌入式系统工程师面试

android 程序员 移动开发

Kotlin(五)深入理解Kotlin类与接口,androidndk开发视频

android 程序员 移动开发

ZOHO | 破解这家ToB厂商持续增长的密码

海比研究院

Jetpack Compose和View的互操作性,这个回答让我错失offer

android 程序员 移动开发

Kotlin协程它不香吗?,kotlin开发游戏

android 程序员 移动开发

Java虚拟机规范(Java SE 8) 第一章,赶紧收藏起来

android 程序员 移动开发

Kotlin 插件的落幕,ViewBinding 的崛起,音视频开发工程师

android 程序员 移动开发

Kotlin 的协程用力瞥一眼,大厂架构师经验分享

android 程序员 移动开发

Kotlin下的5种单例模式,一招教你看懂Netty

android 程序员 移动开发

Kotlin + 协程 + Retrofit ,携程Android面试题

android 程序员 移动开发

入选《2021爱分析·区域性银行数字化厂商全景报告》,网易云信助力南京银行打造转型标杆

网易云信

人工智能 金融行业

贝壳Flutter瘦身实践

贝壳大前端技术团队

flutter 瘦身 for web

最新消息!旺链科技加入庙行镇“乐创助企联盟”

旺链科技

区块链 产业区块链

Jetpack 之 LifeCycle 组件使用详解,android开发书籍

android 程序员 移动开发

博睿数据“智能体验运营,释放商业潜能”催化剂项目获TM Forum创新方案最佳实施奖

博睿数据

Jetpact Compose状态管理简单理解,android设计模式的应用场景

android 程序员 移动开发

Kotlin-新版来了,支持跨平台!,android热修复实现

android 程序员 移动开发

沉浸式体验,文化与科技融合创新的新业态

海比研究院

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