GOPS2018 | 华为云运维最佳CP引领AIOps新风向
在第九届全球运维大会GOPS上,华为云应用运维域首席架构师蔡小刚做了以“华为三位一体探索AIOps关键技术的实践”为主题的演讲,从4个方面与大家分享华为云运维采用产学研三位一体模式促进云管平台关键技术探索的实践,涉及大规模Kubernetes容器集群的管控,Serverless环境中因果序列追踪、多源数据的RCA分析探、聚类算法实现网络包的Blackbox分析。
作为全球领先的云计算服务商,华为云提供两大运维服务——应用运维管理(AOM)和应用性能管理(APM)服务,实现复杂云应用的端到端性能洞察。华为云应用运维投入持续研发,在智能AutoScaling、Serverless的调用跟踪、基于AI的异常检测和RCA分析、基于Clustering的Blackbox分析等方面进行了创新性探索并取得长足的进展,增强了大规模云应用的智能运维(AIOps)能力。
华为云应用运维域首席架构师现场分享
关于“华为三位一体探索AIOps关键技术的实践”的演讲
大规模K8S容器集群的管控
华为已经在试验环境中成功验证了百万容器级别的管控。由于容器集群的计算资源异构、网络虚拟化、集群类型多样、秒级扩缩容等导致的复杂性,以及客户应用技术栈的多样性(比如微服务化、Serverless化、基础组件服务化)导致的复杂性,对管控提出了两方面的要求:一是满足平台自身的OM运维;另外一方面要满足部署在平台上的客户应用系统的运维诉求。华为云应用运维域针对性设计实现了应用及资源模型化---Inventory建模,实现了传统意义上的CMDB和OSLC的能力,把基础设施和应用映射起来,为跨资源、跨层面的关联提供了现实可能。
容器弹性伸缩Auto-Scaling的决策来自华为云运维服务,除了预定义的scaling外,还实现了机器学习算法的Auto-Scaling,为复杂的大规模应用提供更智能的选择,最大化节省客户资源成本开销。
除了上述两点,华为云应用性能管理(APM)和应用运维管理(AOM)还实现了开箱即用的性能数据采集、在线感知和计算、异常告警、应用拓扑、调用链分析等功能,结合华为云性能测试服务(CPTS)、大数据智能分析等生态服务,实现对应用运维的端到端性能洞察。良好的云原生分布式架构成功解决了海量数据、大规模应用部署带来性能下降的挑战。
Serverless环境中因果序列追踪
Serverless使得开发者无需关注基础设施,只用聚焦业务逻辑并进行简单部署就可以完成,提供了快捷的开发方式。这也意味着APM for Serverless是一个全新的子领域,需要一种针对性的应用性能跟踪、评估的机制。华为云联合美国加州大学教授,对Serverless场景进行深入研究,采用Go语言,对分布式日志记录系统Chariots的理论进行了实现和扩展:GoChariots。它本质上是在logging之前通过队列排序,按照因果顺序(Causal Order)依次追加日志记录。
通过为Serverless和微服务云应用程序提供因果顺序跟踪,并且可以跨云(不与特定云服务商绑定)。它可以以复制模式运行,因此跨数据中心应用程序可以与最近的副本进行通信,大大降低了通信开销,提高了可用性和进度。由于SDK使用HTTP POST将事件发送到后端,因此对function的开发语言没有约束。
另外,结合AWS Lambda环境,华为云开发了GammaRay,基于第三方开源AWS Instrument SDK for Python(Fleece)库埋点,验证了Causal Order Tracking(COT)理论。GammaRay是对X-Ray的扩展,只适用于AWS Lambda调用关系分析。
(具体细节参考华为在IC2E的full paper: Tracking Causal Order in AWS Lambda Applications。)
多源数据的RCA分析探索
根因分析RCA已经是个老话题了,单点技术不断进步完善、积累和突破,但仍然是森林中的“树”,为了避免盲人摸象的问题,必须进行全面的分析。
一个复杂系统中,一旦故障的发生会引起连锁反应,直接体现就是故障的传导链。在此场景中,首先要解决异常检测(anomaly detection);其次要解决问题的定界定位(RCA:root cause analysis)。针对异常检测,除了传统静态阈值比较,华为云还开发了基于时序数据分析的动态阈值,典型的有ARIMA算法等。大部分情况下,利用APM的应用拓扑、事务分析就能发现性能瓶颈或者问题。为了更全面的分析,华为云联合欧美大学教授和华为海外专家一起利用ML对调用链数据做了深层次的数据分析。如在多个时序变量预测的单一事件场景中,采用了隐马尔科夫模型(HMM:Hidden Markov Model),在工程实现中结合APM中的Inventory数据、拓扑数据和调用链数据来确定事件依赖关系,从而发现故障传导链。当前我们还在合作研究验证无监督机器学习应用在日志、指标的实时Stream关联分析与预警。
聚类算法实现网络包的Blackbox分析
在业务通用的两种主流分布式追踪技术采集方案代码侵入式埋点和非侵入式探针外,华为云开发一种全新的用非侵入式方法来实现调用拓扑级别的分析。数据采集工具vProbe支持识主流的应用协议,通过旁路监听网络获得数据。数据只涉及基础的性能数据,不涉及业务或者隐私方面的数据(必要时采取数据脱敏措施)。
在BlackBox分析研究中,学术界有很多研究,但是其工程实现远远满足不了产品级别要求。华为云不断尝试创新方法,经过理论分析和原型推导验证,最后利用Hierarchical Clustering实现了服务之间的因果路径推导,准确率基本达到了90~95%以上,与基于Whitebox方法得到的应用拓扑基本一致,区别在于不能做到单一transaction的性能追踪,但对整个应用的性能态势感知和瓶颈识别已经完全可以满足问题的及时告警和定界定位。
我们相信云计算及其应用运维,单纯的人海战术已经失灵,而DevOps、AIOps和NoOps是必然选择。此路漫漫其修远兮,同道携手上下求索……
长按二维码即可免费体验
华为云应用运维APM服务~
相关链接:
-END-