用ML提前预测磁盘故障、智能诊断部署,MSRA在云端将AIOps玩出高度

简介: 用ML提前预测磁盘故障、智能诊断部署,MSRA在云端将AIOps玩出高度

依托 ML/AI 技术,提升云服务,这是微软亚洲研究院在智能运维领域的探索之路。


运维是一家公司正常运行的重要组成部分。为了保证在线系统的服务质量和用户体验,公司运维部门需要实时监控系统运行状况,以便对异常及时进行分析和处理。传统的人工运维方式耗时耗力,之后出现了使用大量自动化脚本的自动化运维方式,但随着系统规模日益增长,海量用户、大规模集群、复杂的系统架构自动化运维渐渐力不从心。


如何实时检测异常、快速响应故障、预测故障、合理规划容量等成为了重要研究课题。大数据和 AI 时代的到来使公司运维迈入了智能化阶段,智能运维(AIOps)应运而生。

AIOps 是「Artifical Intelligence for IT Operations」的缩写,由 Gartner 在 2016 年提出。据其解释,AIOps 有两个主要组成部分,分别是大数据和机器学习。AIOps 需要远离数据孤岛,在大数据平台中将观测数据(如在监控系统和工作日志中发现的数据)和互动数据(如在突发事件和记录中发现的数据)聚合起来。然后,对组合 IT 数据执行全面分析和机器学习策略。最终获得自动化驱动的洞察力,这些洞察力可以实现运维平台持续的修复和改进。

图源:Gartner

伴随着各行业数字化转型的趋势以及近年来新冠疫情带来的远程工作、协同合作需求,云计算进一步蓬勃发展。Gartner 研究副总裁 Sid Nag 认为云已经成为主流策略,「下一代的产品方案,几乎都是搭建于云平台上的。」越来越多的应用服务转向了云端,5G 也为云计算的发展注入了新的活力。但是,随着越来越多的用户上云,系统管理正面临着前所未有的挑战。

AIOps 与云服务的融合

在 1 月 13 日的微软亚洲研究院「智能运维」媒体沟通会,微软亚洲研究院副院长、微软杰出首席科学家张冬梅认为,AIOps 应通过创新的 AI 或 ML 技术,有效且高效地设计、构建并运营大规模的复杂云服务

张冬梅。图源:msra

其中,AIOps 又可分为不同的服务对象以及不同的服务目标:

  • AI for System(服务 / 系统):设计和构建更可靠、更高性能和更高效率的高质量服务;
  • AI for DevOps(开发 / 运维):使用智能工具为工程人员赋能,在 DevOps 中实现高生产力;
  • AI for Customer(客户):通过智能化和更好的用户体验,改善客户满意度。


下图为 AIOps 分别针对服务 / 系统、开发 / 运维和客户的应用场景:


从应用场景可以看出,AIOps 的研究主要聚焦于检测、诊断、预测和优化四个领域,每个领域涵盖的运维任务不同,又各自面临不同的挑战。我们以检测为例,包含了时间序列的异常检测、基于日志的异常检测以及多维度变化检测等任务,但检测过程中面临着差异化需求、噪音数据、高纬度以及标注数据缺乏等挑战。


一直以来,微软亚洲研究院致力于探索 AIOps 领域的研究边界。10 年前,率先开发云智能以及 AIOps 相关领域的研究,在该领域提出了全新的方法与设计,如主动系统设计(Proactive System Design)、数据驱动型安全部署(Data-driven Safe Deployment),并在 ICSE/FSE(软件工程领域)、OSDI/NSDI(计算机网络系统领域)以及 AAAI/IJCAI(人工智能领域)等全球高影响力学术会议上发表论文 50 多篇。

其中,与天津大学智能与计算学部软件工程团队、纽斯卡尔大学等合作完成的论文《 How Long Will it Take to Mitigate this Incident for Online Service Systems? 》更是获得了 ISSRE 2021 唯一最佳论文奖。

实践中的 AIOps 技术

利用大规模数据挖掘、机器学习和人工智能技术,微软亚洲研究院开发了一系列 AIOps 创新技术,并已经在云系统的故障预测、异常检测、智能诊断、容量规划、事故管理等诸多实际应用场景中落地,极大地提升了工业生产力、服务质量和用户体验和。研究成果已经应用到了微软 Skype、OneDrive、Office 365、Azure 等诸多在线服务中。

微软亚洲研究院首席研究员林庆维以磁盘故障预测、安全部署诊断和智能虚拟机预配置(PPS)为例展示了 AIOps 在软硬件故障预测、智能诊断和智能化建议 / 提示等三个应用场景中的落地及实现效果。

首先,硬盘故障预测。在故障发生之前,提前预测以避免可能的损失是智能服务的杀手锏。我们知道,硬件故障是造成虚拟机(VM)宕机和重启的最主要原因之一,而磁盘故障又是造成硬件故障的主要原因。在磁盘完全失效前,虚拟机就会受到影响,并且磁盘数据存储分布极端失衡,磁盘健康状态也会受到邻近磁盘的影响,

针对这些特征,微软亚研在论文《NTAM: Neighborhood-Temporal Attention Model for Disk Failure Prediction in Cloud Platforms》中提出了邻域 - 时间注意力模型(Neighborhood-Temporal Attention Model, NTAM),这是一种基于深度学习的全新磁盘故障预测方法。此外,本文还提出了时间渐进采样法(Temporal Progressive Sampling, TPS),一种用于处理极端数据失衡的数据增强方法。

论文地址:https://dl.acm.org/doi/10.1145/3442381.3449867

下图为 NTAM 模型概览。微软亚研在公共数据集以及从微软 Azure 中收集数百万个磁盘创建的两个工业数据集上对该模型进行了评估。结果表明,NTAM 显著优于其他 SOTA 模型。更值得关注的是,NTAM 和 TPS 方法已经应用到了微软 Azure 和微软 365 等云平台中,并在工业实践中获得收益。

其次,安全部署诊断。不规范、不安全部署会可能会引发灾难事故,因此针对部署的异常检测(Anomaly Detection)非常重要。微软亚研采用的方法如下图所示:


其中,在检测异常过程中,微软亚研在论文《Cross-dataset Time Series Anomaly Detection for Cloud Systems》中提出了主动迁移学习异常检测(Active Transfer Anomaly Detection, ATAD),它集成了迁移学习和主动学习技术。迁移学习用于将知识从源数据集迁移至目标数据集,主动学习用于确定未标注数据集中一小部分样本的信息标签。

论文地址:https://www.usenix.org/conference/atc19/presentation/zhang-xu

ATAD 概览如下。微软亚研通过实验证明了 ATAD 在跨数据集时间序列异常检测中的有效性,只需要少于 0.1% 的人工标注即可实现良好的准确率。


最后,智能虚拟机预配置。作为最常见的核心操作,虚拟机配置对用户体验产生直接影响。配置性能不良会造成长时间等候导致客户不满意,而且难以处理大客户的批量请求,造成巨大经济损失。微软 Azure 中的预配置服务(Pre-Provisioning Service, PPS)通过创建预配置的虚拟机提升了 VM 部署的性能,带来了可靠性和延迟收益。


不过,依然面临一些挑战,比如可预测的 VM 需求量少,存在大量的 VM 类型和差异化 VM 需求模式。此外,预测不确定不可避免,难以纳入优化体系中。决策变量和约束条件是离散,且离散域的优化是 NP - 难问题。对此,微软亚研提出了全新的方法框架,将不确定性感知框架用于预测与优化。结果表明,微软亚研提出的方法实现了相较于其他竞品更优的表现。


未来,微软亚洲研究院将致力于「更自动化、更主动化和更通用化」的智能运维,更高效地赋能于运维人员、开发者和客户。

参考链接:https://www.bmc.com/blogs/what-is-aiops/封面图源:bagotaj

相关文章
|
1月前
|
机器学习/深度学习 人工智能 安全
AI在灾害管理中的作用:提高防灾减灾能力
【10月更文挑战第8天】AI技术在灾害管理中的应用正在逐步改变我们对灾害的应对方式。通过发挥AI的优势,我们可以更有效地预防、减轻和应对自然灾害带来的挑战,为构建安全、弹性的社会做出更大贡献。
|
4月前
|
机器学习/深度学习 人工智能 弹性计算
智能化运维:AI在故障预测与自我修复系统中的应用
随着技术的不断进步,传统的运维模式已逐渐不能满足现代企业的需求。本文将探讨如何通过人工智能技术,特别是机器学习和深度学习算法,实现对IT系统的实时监控、故障预测以及自动化修复。我们将分析AI技术在智能运维中的具体应用案例,并讨论其带来的效率提升和成本节约效果。文章旨在为读者提供一种全新的运维视角,展示AI技术在提高系统稳定性和减少人工干预方面的潜力。
|
4月前
|
机器学习/深度学习 人工智能 运维
智能化运维:利用机器学习优化故障预测与响应
【7月更文挑战第23天】本文深入探讨了智能化运维的前沿技术,特别是机器学习在故障预测和响应中的应用。文章首先介绍了智能化运维的概念及其对现代IT运维的重要性,随后详细阐述了机器学习模型如何被训练来识别潜在的系统故障并提前预警。通过分析真实案例,我们展示了机器学习算法在实际运维中的有效性,以及如何通过这些算法减少系统停机时间,提高运维效率。最后,文章讨论了实施智能化运维时可能遇到的挑战及应对策略,为读者提供了一套实用的智能化运维解决方案。
|
4月前
|
机器学习/深度学习 数据采集 弹性计算
智能化运维:机器学习在故障预测中的应用
随着信息技术的飞速发展,系统运维面临着数据量激增、故障类型复杂化等挑战。传统的运维手段已难以满足现代企业的需求,智能化运维应运而生。本文重点探讨机器学习在智能化运维中的故障预测应用,通过案例分析展示其在提升运维效率、降低维护成本方面的显著作用,并讨论实施智能化运维时可能遇到的挑战与对策。
|
4月前
|
机器学习/深度学习 运维 监控
智能化运维:机器学习在故障预测和自动化修复中的应用
随着信息技术的迅猛发展,企业对运维工作的效率和准确性要求越来越高。传统的运维模式已难以应对日益复杂的系统环境和数据量。本文将探讨如何利用机器学习技术提升运维工作的智能化水平,实现故障的早期预测和自动化修复,从而减少系统停机时间,提高企业运营效率。通过分析机器学习在运维领域的应用实例,揭示其在实际工作中的有效性和潜力。
73 0
|
5月前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在故障预测与自动化修复中的应用
【6月更文挑战第15天】本文探讨了人工智能(AI)技术在现代IT运维领域的革新性应用,重点分析了AI如何通过机器学习算法实现对系统故障的预测和自动化修复。文章首先概述了智能化运维的概念及其重要性,随后详细介绍了AI技术在故障检测、诊断和修复过程中的关键作用,并通过实际案例展示了AI运维解决方案的有效性。最后,文章讨论了实施智能化运维的挑战与未来发展趋势。
324 3
|
5月前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在故障预测中的应用
【6月更文挑战第8天】随着人工智能技术的飞速发展,其在IT运维领域的应用也日益广泛。本文将探讨AI技术如何助力运维团队实现故障的智能预测,提高系统稳定性和业务连续性。
|
4月前
|
机器学习/深度学习 运维 监控
智能运维的崛起:机器学习在故障预测中的应用
随着信息技术的快速发展,传统的运维模式已无法满足现代企业的需求。本文将探讨如何利用机器学习技术进行故障预测,以实现智能运维。我们将通过数据分析和实验结果来展示机器学习在故障预测中的有效性,并讨论其在实际运维中的应用前景。
95 0
|
5月前
|
机器学习/深度学习 缓存 运维
智能化运维:机器学习在故障预测与自动修复中的应用
随着信息技术的飞速发展,企业系统日益复杂,传统运维模式面临巨大挑战。智能化运维作为一种新兴趋势,通过集成机器学习算法,实现对系统故障的预测和自动修复,显著提高运维效率与准确性。本文深入探讨了智能化运维的概念、关键技术及其在故障预测和自动修复方面的应用实例,旨在为读者提供一种科学严谨、数据导向的视角,理解智能化运维的价值与实践路径。
159 0
|
6月前
|
运维 算法 数据处理