关于 AIOps 的过去与未来,微软亚洲研究院给我们讲了这些故事
作者 | 贾凯强
出品 | AI科技大本营(ID:rgznai100)
在过去的15年里,云计算实现了飞速发展,而这种发展也为诸多的前沿技术奠定了基础,AIOps便在此环境中获得了良好的发展契机。在数字化转型的浪潮下,云计算已经成为了整个社会的基础设施之一。当企业把服务建立在云上,云计算的平台性能、安全性等要求也在不断增加,这种情况下,运维的升级便已如箭在弦上。
为了进一步明晰AIOps技术发展的趋势,微软亚洲研究院常务副院长,微软杰出首席科学家张冬梅,微软亚洲研究院首席研究员林庆维两位专家为大家做出了明确的解析。
云时代下,AIOps的希望与契机
在云计算时代里,云平台的系统规模已然成为了一种大规模分布式且复杂度非常高的操作系统。系统之间存在各种问题,尽管工程师在设计时已经尽量将其模块化,但不改的依然是系统的复杂度。而要保证复杂系统的稳定、高效和安全等,就必须在整体设计、开发、运维等各方面完成模式转变。
张冬梅博士介绍称,云计算带来的范式转变主要包括了四个层面。首先是基于规则的系统,变成数据驱动的系统。以前开发模式基本上是凭借着经验和想象而来,难以预测运行状态如何,软件在运行的时候会发生很多事情,模式的转变就是希望把运行时产生和记录的数据进行分析,增加对整个系统状况的理解。基于此,整个系统在设计时将不再一成不变,而是有不断变化的思想,从基于规则到数据驱动。
第二则是从静态到自适应的发展。当系统不再是固定的,如CI/CD一样,系统可能随时开发,随时变化,并附带诸多检查,当新代码提交并构建后,经过测试会再进行部署,依赖部署策略,在更大的范围内部署到整个平台上去。整个过程从静态变成了动态,系统也需要在动态过程当中,根据外部环境的变化进行自身的调整。
第三则是从局部到整体的观念转化。在一个大的云计算系统中不能只看一点,应该把视野放大。比如在云平台里面肯定会有存储,但是当某块硬盘坏掉时,要考虑的不仅仅是换硬盘,还要考虑为什么它会坏?它坏了之后,是否旁边的也存在风险。
第四便是防患于未然。以往的被动式反应是等系统出了问题才去处理,但是云时代更要做的是防患于未然,要主动在其快出问题的时候,先行采取措施,让问题最好不要出现。而AIOps便是这样的一种机制。尤其是在大的云计算平台,其往往可以根据自身特点和期望,对其设计、实现、运维这三个方面实现模式转变。
事实上,微软亚洲研究院早在十余年前就开始对AIOps领域进行研究。那么到底什么是AIOps呢?张冬梅博士解释称AIOps是通过创新的AI、ML技术,让用户可以有效且高效地设计、构建、运营大规模复杂的云服务。
微软亚洲研究院常务副院长、微软杰出首席科学家张冬梅
关于现在,AIOps能够带来怎样的改变
微软亚洲研究院在尝试AIOps的更多可能,关于AIOps的定义,其主要有三个方面的研究。
第一是服务/系统,即AI for System。软件的源代码只有运行起来才是一个软件系统,而从运行的系统观点来看待问题,其便关系到系统的性能、稳定性、安全性等各方面的问题。
第二是客户,即AI for Customer。系统可以服务于个人,也可以服务于企业。那么为用户服务时便一定要注重用户体验。
第三是开发/运维的生产效率,即AI for DevOps。开发和运维主要是针对开发人员和运维人员,如果能够用智能技术帮到他们,提高生产效率,则可以让平时的工作能够变得更加顺畅。
那么AIOps的应用场景包含了哪些呢?在系统服务方面,会常常用于异常行为检测和预警,其可以基于数据采取机器学习的方法,再结合专业领域知识,实现较好的判断和预判。
在开发和运维方面,如CI/CD等。其不仅需要在不影响用户的情况下快速让系统恢复正常,还需要找出问题出现的原因,但是由于系统的复杂性导致很多时候很难发现问题漏洞,因此需要甄别如日志等各种信息并进行大量的诊断,从而可以通过智能的方法将诊断工作提高效率。
在客户方面,也需要让客户的体验提升。微软的云平台经过多年实践后,将AIOps方面的实践提炼成工具,并提供给客户。当客户自己构建服务和运维时,基于整个云平台,就能够帮助客户构建其他服务。
在整个运维系统里面,AIOps的研发难度可谓排名前列。在不同的场景中,有着不同的系统、客户和DevOps运维等。不同的场景会使得研究的角度不同,研究人员需要针对共性问题进行抽象,并从研究角度解决共性问题,找到可推广的算法或者解决方案,这样才能提高解决问题的效率。
在AIOps的研发过程中,其主要面对的挑战有四个领域。首先是检测,也就是需要知道问题能否及时知道;第二是诊断,要及时的找到问题在哪里,并了解根本原因;第三是预测,其需要防患于未然,而不只是出现问题才采取措施;第四是优化,面对多重约束等问题需要不断地将模型和产品进行打磨优化。
面向未来,AIOps还有哪些发展
微软亚洲研究院多年以来在AIOps方面进行了深入的研究工作。其在AIOps方向上起步非常早,早在2009年前后便已经成立了Software Analytics Group(软件分析组),并希望从数据驱动的角度研究软件领域。这其中包括了运行系统问题、用户体验问题、开发效率问题等。
云计算作为过去10到15年里整个软件和工业范式的转变,云计算系统也变成了运行软件的主要形式。因此,Software Analytics研究的焦点便集中到云计算系统,微软亚洲研究院也相应提出了云智能/AIOps。Software Analytics做的事情就像是软件行业的数字化转型。用数字化转型的观念来看,AIOps就像把整个云计算平台用最先进的AI技术,实现持续不断的创新。
张冬梅博士认为,AIOps的发展一定要落地,如果不能对软件工业进步做出任何贡献,那么技术就没有太大意义。因此微软亚洲研究院在研究的同时,也在寻找机会将其真正部署到微软的Azure云平台里面,从而对公司和社会做出一些贡献。
林庆维随后对微软亚洲研究院在AIOps方面的工作进行了补充。服务系统方面,检测异常行为很重要。现在硬件问题是虚拟机宕机的原因之一,在大型的硬件平台中,磁盘故障是造成硬件问题的主要原因。研究员们希望在出故障之前,系统能更早地意识到或者是能预测出磁盘故障并采取措施。如把用户的虚拟机迁移到别的机器上去,或者通过软启动等方式解决问题,让用户不会受到影响。其可以作为一个机器学习的问题,让模型从大量硬盘的历史数据中学习到知识之后,根据目前磁盘的状态,预测将来是否可以及时采取措施。
开发和运维方面,在云平台上不会像桌面软件那样很长时间才更新一次。云平台上,每时每刻都有非常多的新的部署产生,需要时时刻刻检测其安全性,避免任何一个部署出问题,进而导致整个云平台宕机。因此,这就需要通过AIOps的方法,以智能的方式来解决问题,在中间阶段将问题抑制,回归到安全状态。针对安全部署诊断问题,在云平台上面的部署,需要确保从小规模部署到大规模的每一步都是安全的,最后才能部署到云平台。在整个部署的过程中需要检测所有的健康信号,包括各种资质、传感器信号、状态等,必须精确评估是否与部署相关。
因此,微软亚洲研究院提出了迁移学习方案和主动学习方案,即主动迁移学习异常检测ATAD。该方案在云平台上的挑战主要集中在难获得高质量的标签数据,所以微软亚洲研究院采用了迁移学习的方式将其他数据学到的知识转化为目标领域。并通过主动学习,让工程师给出不同的优先级,得到最好的学习效果。通过迁移学习和主动学习,其能够实现较好的效果。用少于0.1%的人工标注,得到了非常好的准确率。目前这一方案已经用于云平台中,达到了高效的准确度和召回率,且没有大的遗漏。
微软亚洲研究院首席研究员林庆维
在AIOps未来的研究方向上,微软亚洲研究院希望其能够更加自主化,帮助用户做出最优的决策,而不需要人工干预;再比如希望其能够更加主动化,不能等问题出现才想起来解决问题,应该在问题出现之前,就将其扼杀于萌芽状态;第三则是希望其能够更加通用,希望以后跨平台的AIOps应用,不仅是服务于云平台,而是服务于所有平台。
分享
点收藏
点点赞
点在看
相关文章:

JS 正则表达式 0.001 ~99.999
^(0|[1-9][0-9]?)(\.[0-9]{0,2}[1-9])?$转载于:https://www.cnblogs.com/wahaha603/p/9050130.html

深入浅出PHP(Exploring PHP)
一直以来,横观国内的PHP现状,很少有专门介绍PHP内部机制的书。呵呵,我会随时记录下研究的心得,有机会的时候,汇总成书。:) 今天这篇,我内心是想打算做为一个导论: PHP是一个被广泛应用的脚本语言…

懒人神器 !一个创意十足的 Python 命令行工具
作者 | 写代码的明哥来源 | Python编程时光当听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就会附带装了 n 多依赖库,就…

Regular Expression Matching
正则匹配 Regular Expression Matching Implement regular expression matching with support for . and *. . Matches any single character. * Matches zero or more of the preceding element.The matching should cover the entire input string (not partial).The functio…
PI校正环节的程序实现推导过程
PI校正环节在经典控制论中非常有用,特别是对负反馈控制系统,基本上都有PI校正环节。1.下面分别说明比例环节和积分环节的作用,以阶跃信号为例。①比例环节单独作用以上分析说明,若只有比例环节的控制系统,阶跃响应也是…

几行 Python 代码实现邮件解析,超赞~
作者 | Yunlor来源 | CSDN博客前言如何通过python实现邮件解析?邮件的格式十分复杂,主要是mime协议,本文主要是从实现出发,具体原理可以自行研究。一、安装通过mailgun开源的Flanker库实现邮件解析。该库包含了邮件地址解析和邮件…

深入理解PHP原理之变量(Variables inside PHP)
或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候࿰…

jQuery中的.height()、.innerHeight()和.outerHeight()
jQuery中的.height()、.innerHeight()和.outerHeight()和W3C的盒模型相关的几个获取元素尺寸的方法。对应的宽度获取方法分别为.width()、.innerWidth()和.outerWidth(),在此不详述。1. .height()获取匹配元素集合中的第一个元素的当前计算高度值 或 设置每一个匹配…

Python实战之logging模块使用详解
用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了logging模块来…

深入理解PHP原理之变量作用域
作者:laruence(http://www.laruence.com/)地址: http://www.laruence.com/2008/08/26/463.html PHP变量的内部表示是如何和用户脚本中的变量联系起来的呢?也就是说,如果我在脚本中写下:<?php $var"laruen…

Azure AI的又一里程碑,Neural TTS新模型呈现真人般情感饱满的AI语音
在人与人之间的对话中,即使是同样的字句,也会因为所处情景和情感的不同而表现出丰富的抑扬顿挫,而这种动态性恰恰是各种AI合成语音的“软肋”。相比于人类讲话时丰富多变的语气,AI语音的“心平气和”往往给人带来明显的违和感。 …

VS2010中“工具选项中的VC++目录编辑功能已被否决”解决方法
http://blog.csdn.net/chaijunkun/article/details/6658923 这是VS2010的改变,不能够在“工具-选项”中看到“VC目录”了。 但是呢,我们可以在另外一个地方找到它,请看下边的对比照片。 VS2008中: VS2010中: 打开方式非…

Bminer 7.0.0 ETH挖矿教程(Linux 64)
Bminer产品介绍Bminer是目前最快的挖矿程序,Bminer是基于NVIDIA GPU深度优化的挖矿软件。Bminer支持Equihash和Ethash两种算法的虚拟币,包括:ETH(以太坊),ETC,ZEC(零币),…

深入理解PHP原理之变量分离/引用(Variables Separation)
引自: http://www.laruence.com/ [风雪之隅 ]在前面的文章中我已经介绍了PHP的变量的内部表示(深入理解PHP原理之变量(Variables inside PHP)),以及PHP中作用域的实现机制(深入理解PHP原理之变量作用域(Scope inside PHP))。这节我们就接着前面的文章,继…

C# 属性、索引
属性(property): public string Name {get{return _name;}set{_name value;} } 简写为: public string Name { set; get;} 索引器(index): 索引器为C#程序语言中泪的一种成员,它是的对象可…

分享几段祖传的 Python 代码,拿来直接使用!
作者 | 周萝卜来源 | 萝卜大杂烩今天分享几段工作生活中常用的代码,都是最为基础的功能和操作,而且大多还都是出现频率比较高的,很多都是可以拿来直接使用或者简单修改就可以放到自己的项目当中日期生成很多时候我们需要批量生成日期…
JVM——Java虚拟机架构
Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。 平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种平台…

深入理解PHP之数组遍历
本文地址: http://www.laruence.com/2009/08/23/1065.html 经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php$arr[laruence] huixinchen;$arr[yahoo] 2007;$arr[baidu] 2008;foreach ($arr as $key >…

Github 年度最受欢迎的 TOP30 Python 项目,超值
作者 | 俊欣来源 | 关于数据分析与可视化今天小编整理归纳了2021年Github上面最受欢迎的30个Python项目,帮助大家在打磨技术与提升自我上面更进一步。通过代码来获取Github官网有开源的接口,因此数据的获取也就方便了许多,代码如下url https…
Linux字符设备驱动程序的框架(新写法)
这是老版本内核的的Linux驱动注册函数写法: major register_chrdev(0, "hello", &hello_fops); /* (major, 0), (major, 1), ..., (major, 255)都对应hello_fops */ 新版本内核Linux驱动注册函数写法#define MAJOR(devid) ((unsigned int) ((devid…

将一个普通的java项目转化为maven项目
在学习Spring事务时,我参考的书的源码不是maven项目,整本书依赖的100多个jar包都在一个文件夹里,我本来对spring每个模块的学习源码都放在一个Github仓库里,每一个项目都是maven项目,这样想要将项目转化为maven项目&am…
深入理解PHP内存管理之谁动了我的内存
本文地址: http://www.laruence.com/2011/03/04/1894.html转载请注明出处首先让我们看一个问题: 如下代码的输出, var_dump(memory_get_usage());$a "laruence";var_dump(memory_get_usage());unset($a);var_dump(memory_get_usage()); 输出(在我的个人电脑上, 可能…

蓝懿教育九月二十七日记录
将VIew移动做成动画效果 这种动画效果没有中间的位移可以添加动画的View属性center,frame,alpha,transform , backgroundColor//继续做消失的动画[UIView animateWithDuration:1 animations:^{iv.alpha 0;} completion:^(BOOL finished) …

新年快到了,让我们一起用 Python 编织中国结吧
作者 | FrigidWinter来源 | CSDN博客新年快到了,今天博主教大家用Python编织中国结~中国结的组成部分中国结是一种手工编织工艺品,它身上所显示的情致与智慧正是汉族古老文明中的一个侧面。因为其外观对称精致,可以代表汉族悠久的历史&#x…

pwa+webpack,初探与踩坑
0.前言 我们都知道pwa是一个新技术.,依靠缓存,离线了还能正常跑,而且秒开。我把以前原生写的小游戏迁移到react,再迁移到webpackreact,最后再升级到pwa。具体介绍不多说,我们开始撸吧。 1.webpack webpack攻…

linux sar 命令详解
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程…

PHP底层工作原理
简介 先看看下面这个过程: 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);PHP总共有三个模…

使用 Pandas、Jinja 和 WeasyPrint,轻松创建一个 PDF 报表
作者 |周萝卜来源 |萝卜大杂烩我们都知道,Pandas 擅长处理大量数据并以多种文本和视觉表示形式对其进行总结,它支持将结构输出到 CSV、Excel、HTML、json 等。但是如果我们想将多条数据合并到一个文档中,就有些复杂了。例如,如果要…

通过Excel生成批量SQL语句
项目中有时会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert into来实现,但…

抵御「黄貂鱼」攻击,谷歌使出禁用2G「大招」
整理 | 于轩 责编 | 张红月出品 | CSDN(ID:CSDNnews)你还在使用2G吗?相信很多人第一反应都是“怎么可能?”确实,现在绝大数人都在使用技术成熟的4G网络,以及更高网速的5G。但是你有注意到…