1、运维行业当前发展和前景
运维无处不在,未来所有的服务全都会跑在软硬件系统中,因此市场规模巨大。我之前在其它场合分享过《基于机器学习的智能运维》、《AIOps 中的科研问题》、《落地生根:AIOps 落地路线图》。这次主要是跟大家解答传统行业落地 AIOps 过程中遇到的一些困惑。
这些困惑是我在半年多来跟很多合作伙伴交流的过程中遇到并总结出来的。这些行业包括金融、能源、电信、工业制造、智慧城市等。
今天主要是以金融业为例来讲传统行业 AIOps 的落地探索。先总结一下金融业 AIOps 的现状:AIOps 的概念还有很多不清晰之处;对如何落地 AIOps 还有很多困惑;不少金融机构已经在 AIOps 方面立项了;大部分的金融机构正在构建一个运维大数据平台;部分金融机构从自身痛点出发尝试 AIOps;不少金融机构希望把 AIOps 作为响应国家 AI 战略的试验田。基于对以上现状的观察,我的结论是 2018 年将是金融业和传统行业尝试 AIOps 的元年。
2、AIOps 概述及价值
金融业发生的一些故障,比如说银行转帐异常、银行网银卡钱,客户无法登录银行帐户,支付宝无法登录等等。运维故障无法完全避免,重点是快速应对,不以发生故障为耻,以快速修复为荣。
为什么说运维故障难以完全避免呢?运维现在面临的接入网络、数据中心网络、软件模块之间调用关系都是非常庞大、非常复杂的, 而且还在不断地发生变化。 触发运维事件的触因 (软硬件故障、软件变更、用户请求变化、恶意攻击等等)无时无刻不在发生。所以运维工作不可能好做。
因此,运维人现在基本上是处于“水深火热”之中,7×24 小时在救火,压力很大。人少事儿多,救火、高压、背锅、如履薄冰、幸福指数低,不知道下一秒会发生什么,睡不了安稳觉,起夜率高,脑袋别在裤腰带上。
为什么会这样呢?这是因为,面对目前海量的运维监控数据,如果还用传统的方法已经是难以为继了。我们面临的任务往往是时效性非常强压力非常大的任务,如故障止损,人工决策往往需要小时级的时间。 根本原因是人是不擅于在短时间内处理海量数据做出实时准确的决策的。 怎么办呢?只能通过 AI 来解决,只有这一条路,没有别的办法。而 AIOps 会给运维人员带来革命性的影响。
它到底是做什么的呢?就是用 AI 代替缓慢易错的人力决策部分,快速给出决策,或者提前规避故障。
再给一些相对详细一点的定义。 首先 AIOps 的生态系统分为:眼、脑、心、手。我这边的主要根据是研究“脑”这部分,也就是 AIOps 的“CPU”。“心”是运维专家设定的整个系统的目标,比如整个运维系统达到”稳、省、快“的效果。
“眼”是运维大数据平台。运维事件的触因(故障、变更、用户行为变化、攻击)都会反映在监控数据里, 而这些运维监控数据都被汇总在“脑”中集中处理,由 AI 快速决策,并有由“脑”给“手”(运维自动化系统)给出执行指令。最后这个指令发送到运维自动化系统里面,进行止损、修复、规避。
通过“心脑眼手”四位一体地协作, AIOps 能为业务带来“稳、省、快”的价值,极大提升运维生产力。
那 AIOps 发展到后来的的终极形态是什么?我认为是 Autonomous IT Operations,无人值守运维。
最近看了一部电影《异形:契约》,契约号飞船搭载着冬眠中的 2000 名乘客和 15 名船员,飞往一个遥远的星球,行程几十年,只有一个机器人船员。几十年的行程没有一个人醒着,中间会遇到各种各样的问题,无数的软硬件运行的问题都被无人运维自动解决。2000 人的生命在几十年时间里完全交给无人值守运维。
无人值守运维有可能吗?还是有可能的。我们看一下系统发生变化的触因。软硬件故障我们可以通过故障自愈来处理;软件变更可以通过无人值守变更来处理;用户请求变化的时候可以通过自动扩缩容来处理;有恶意攻击时可以通过自动防御来处理。上面的每个技术都有技术人员在尝试了,我们只需要锲而不舍的坚持下去。无人值守运维也许乍一听起来像天方夜谭,但是几年前听起来像天方夜谭的无人车已经在逐渐变为现实了,为什么无人值守运维不可以最终变为现实呢?
引用比尔盖茨说的一句话:人们总是高估未来一到两年的变化,低估未来十年的变革。因此我们不要因为一两年 AIOps 没有飞速落地就觉得 AIOps 就会半途而废,而是把眼光放到十年、二十年的尺度来看 AIOps 的发展。我个人最近已经做出决定要 all in 到 AIOps 这个方向,准备退休前就做这个方向了。如果到 20 年之后退休的时候还没做成,我就再工作 20 年的时间把它做成。
3、金融业 AIOps 落地方向及应用示例
下面讲讲我认为在金融业落地 AIOps 可行的落地方向和应用示例。
首先讲一下落地 AIOps 的理想条件。首先是要有痛点,有原动力,不能为了做 AI 而做 AI;其次是运维大数据平台基本建立;有基础的运维自动化工具;不管做哪个场景,要可以量化评估效果,这样才知道到底 AIOps 有没有起到作用。
要确定尝试哪些具体场景式可以这么选:希望短期内能见效的,最好在该方向要有一些科研论文并有开箱即用的算法产品;如果想一年内能见效,那么最好要有科研论文,也许尚无开箱即用的算法产品;如果想探索前沿,可以通过设立科研项目的方式来探索。下面列举清华 NetMan 的 AIOps 实验室科研成果的产品化程度,供大家落地 AIOps 依照上述标准来选择具体落地方向。 这些方向包含 AIOps 最常见的场景:故障发现、故障止损、故障修复、故障规避,不同颜色表示不同产品化程度。
那么具体什么叫“开箱即用”呢?就是要用高效分布式的系统把某一具体算法实现出来,通过流式数据处理得出实时决策结果。在下图中,输入是运维大数据系统(“眼”),输出是运维自动化系统(“手”)。
下面通过一个视频演示,给出一个开箱即用的产品(异常检测和异常定位)的形态。首先异常检测系统,面对形态各异的 KPI 曲线,如下图中的三种不同的业务曲线,不管它长成什么样的,只需把一定时间的历史数据导入,不用调节任何参数就能做自动对该 KPI 曲线进行异常检测。这个异常检测系统还能自动处理数据缺失,不需要人工干预就自动避免缺失数对异常检测结果的影响
该异常检测系统同时还能自动检测 CPU、数据库、内存等机器指标的异常。比如说在很多系统里面有跑批量业务,每天都执行,但是执行时间会有偏移,这对一般的异常检测系统都有较大的挑战,会对 CPU、内存产生误报或漏报。但是我们这个系统自动就能处理。在另一种情况下,如果某一天,该进行的跑批业务没有跑,我们的系统也能自动报出来,提醒运维人员注意。
综合敏感度调节:上述异常检测功能肯定无法通过朴素方法达到,需要采用较为复杂的方法。我们努力做到了系统启动时就针对具体 KPI 曲线自动调参。如果万一运维人员对异常程度有不同的敏感度,我们还提供了如下两种方式来调节。第一种方式就是直接拖动滚动条来调节敏感度,从而下图中绿色箭头部分不再被检测为异常。
第二种调节敏感度的方式更直观:通过对异常检测结果进行反馈,系统自动根据反馈结果来调节异常检测算法参数。为了减少反馈开销,系统能够自动搜索整条曲线中与标注出的异常区间类似的多个区间。从而运维人员可以一次性标度多个区间,大幅降低标注开销。
异常定位。 异常检测之后,下一步要做异常定位,要知道异常发生在哪儿,从而快速止损。 比如当业务指标,即交易响应时间和交易失败数发生了变化,在屏幕的右上角就显示有一个红点,表示它已经检测出异常了。点一下红点它会告诉你定位出的异常是什么。具体而言是三台机器出了问题,反映在 5 个指标上,每一种指标都发生了一些突变。也就是说,当业务出现问题的时候,系统自动定位除了异常所在的计算资源及其异常的指标。我们的目标就是希望通过一个屏幕、一个页面把最有价值的信息都集中在一起,让我们的运维能够更好做。
4、金融业对 AIOps 落地的十大困惑
上面给出了一些 AIOps 在金融业的落地方向以及应用示例。下面针对来自金融业对落地 AIOps 的常见困惑给出我的解答。
1、到底什么是 AIOps?。我们想把 AIOps 作为落地 AI 的抓手,会不会有些宣称 AIOps 的产品并没有用到 AI。如何甄别真假 AIOps? 我这里给出如图所示的标准。
2、现在尝试 AIOps 会不会太早,会不会成为小白鼠?事实证明现在已经有不少机构已经在立项尝试了,所以已经不早了。这边是创新技术的一个传播曲线,大家可以根据自己公司的定位和自己部门的定位,在这里面找到自己的位置。
3、有很多互联网公司现在有了 AIOps 的案例,是不是说互联网的案例并不适用于传统行业呢?真相是好的算法可以是普适的(如我们的异常检测算法),所以要具体问题具体分析。
4、是不是说一定要先做一下整体的顶层设计才开始落地呢?要不然把路走歪了怎么办,能不能现在设计出来,5 年领先,10 年不落伍?但是好的顶层设计肯定是需要经验丰富的 AIOps 人才,但是不存在这样的人才。那么做什么能够有把握肯定错不了呢?把数据标准化、自动化做好,接好大数据平台,准备好算力,从相对成熟的 AIOps 算法切入,组建 AIOps 团队并逐渐培养 AIOps 人才。这是 AI 应用的普遍规律,同样适用于 AIOps。
5、现在的数据不太全,等数据采集完整了再说。其实真相是不同的 AIOps 场景对数据的要求是不一样的,只有不断探索才真正知道什么叫做完整,否则你都不知道你缺的是什么,所以你根据目前自身的数据情况,选择一些合适的 AIOps 方向来落地。
不如之前演示的异常定位,只需要你的业务指标的监控,比如说你的总的交易量、服务器的数据、内存的数据,这些在大多数金融机构已经有了,因此这种场景就能落地了。此外可以通过不断地尝试落地各种场景才能发现你真正缺的是什么,然后再进行完善。
6、能否完全依赖内部的软件开发人员自己搞一下新的 AIOps 算法?其实真相是这样的:整个 AI 的发展历程,它是先有大量的论文,才有落地的实践,海量的论文可能剩下几个主流的方法能用。比如说在计算机视觉、语音、NLP 方面都是这样的,因此 AIOps 也不能突破这个历程。AIOps 系统的研制本质上是科学研究,需要大量的科学实验才能研制成功。所以每一个算法在我们的实验室里面都需要有专业人才一年以上的潜心研制。所以如果要研制新算法,建议还是要与专业算法人才合作,通过合作培养提升自有 AIOPs 人才。
7、开发人员照着论文实现一下已有的 AIOps 算法不就行了?真相是论文都是大浪淘沙的,在产品化的过程中往往会带来新的科研挑战,需要 AIOps 算法人才长期深度的投入。比如说我们产品化异常检测的时候,经历了传统方法、有监督异常检测、无监督异常检测、辅助标注、对百万级曲线进行异常检测,自动适配曲线巨变等等。每一步都有一篇发表在学术顶会上的论文,都需要一人年专业 AIOps 算法人才的投入,都踩过不少坑。所以开发人员照着一篇已经发表的论文来实现异常检测的话,这些坑是否都要自己再踩一遍呢,要花多少时间呢?所以建议是与专业的 AIOps 算法人才合作产品化。
下面再就异常检测给出更多细节。在之前跟百度的一个合作中,我们从 KPI 中提取出多个特征,然后要求运维人员给出标注,然后在多维的特征空间里面通过随机森林自动训练异常检测器,因此运维人员就不用再自己挑选算法和参数。
但是这个方法的问题是运维人员只对最重要的曲线愿意做标注,对于其它曲线不愿意做标注。因此在和阿里的合作的一篇新论文中,我们通过完全无监督的方法,用了深度生成模型来做,准确度比之前的更高。
上述无监督方法准确率效果很好,但是它有一个小问题,就是它的深度生成模型训练时开销量较大。因此我们做了另外一个工作,KPI 聚类我们用聚类核训练深度生成模型,之后把聚类核的模型和参数应用到同一类里的一千条、两千条曲线上进行异常检测。效果也非常不错,准确率损失很少,但是训练时间降低了 10 倍以上。
在此引用毛主席《实践论》中的一段话“实践、认识、再实践、再认识,这种形式循环往复以至无穷,而实践和认识纸媒一循环的内容,都比较地进到了高一级的程度,这就是辩证唯物论的全部认识论,这就是辩证唯物论的知行统一观”。做 AIOps 也是一样,要不断地实践,不断地认识,不断迭代,才能真正落地 AIOps。
8、AI 是不是无所不能?能不能用黑盒方法训练 AIOps 的算法?
不是这样的。想通过各种各样的基础的机器学习的方法直接训练出算法解决运维的场景是不可能的。做 AIOps 要从系统的角度,把纷纭复杂的运维的场景拆解成不同的算法模块,而每个模块都是 AI 擅长解决的问题。因此要做 AIOps,需要有一个 AIOps 的架构师把这个工作做好,否则拆解不好就做不好。
9、哪个部门做 AIOps??应用、系统、网络、数据库部门感觉很难独立推动尝试 AIOps。真相:AIOps 基于融合的运维大数据,输出跨部门的决策建议,从已有金融 IT 人员选拔组建内部 AIOps 团队,积极实践 AIOps,接受 AIOps 正规培训。
10、运维人员接纳 AIOps,会不会自己丢了工作?一二十年内还不太可能。AIOps 可以改善运维人员的工作生活状态,是难得的转型 AI 机会,无人值守运维还需要好多年才能实现,还是要拥抱变化,抓住时代赋予的机遇。
5、AIOps 挑战赛
我们跟高效运维社区也一起举办了 AIOps 挑战赛,感谢数据赞助的搜狗、腾讯游戏、Ebay、百度、阿里巴巴;感谢腾讯游戏赞助了网站建设和网站计算资源;感谢微软 Azure 赞助决赛计算资源;感谢华为赞助竞赛奖金。
我们的预赛已经结束了,决赛正在如火如荼的进行中,目前预赛排名第一的团队已经超过了 82%,国内的各大高校、互联网公司、银行、运维厂商都有参与。
我们 5 月中旬已举行这次比赛决赛前 5 名的现场答辩、颁奖。同时举办 AIOp 学术研讨会,宣讲 AIOps 领域已经发表的学术论文。
后续比赛我们会采用奥运会的模式,主办方是中国计算机学会互联网专委会,现在公开征集工业界承办方。工业界承办方要提供数据、组织线上比赛、提供计算资源和奖金。其它工作由主办方和承办方共同完成。欢迎工业界积极参与承办后续 AIOps 挑战赛。
6、AIOps 未来展望
总结一下,AIOps 将为各行各业的运维带来革命性的影响,其终极形态是无人值守运维。我们演示了故障发现和故障止损等应用示例,并给出了若干近期可落地 AIOps 场景方向。然后回答了一些传统行业落地 AIOps 十大困惑。最后我们也想指出,落地 AIOps 核心关键是 AIOps 人才的培养,需要传统行业在内部通过合作、尝试、探索的方式培养自己的 AIOps 人才,加速 AIOps 的落地。 2018 年将是传统行业 AIOps 的元年。
最后,我要指出,无人值守运维是持久战。套用一下毛主席的《论持久战》的句式: 无人值守能实现吗,答复是会实现。能够快速实现吗?答复是不能速胜,必须是持久战。这个结论是正确的吗?我认为是正确的。
作者介绍:
裴丹博士是清华大学长聘副教授,国家青年千人。从 20 年前开始做运维相关工作,从分布式系统一直做到路由、运营商、wifi、互联网、企业级,最近有很大的精力在传统行业 ( 特别是金融业)智能运维上。裴博士 AIOps 相关领域发表 100 余篇学术论文。部分工作还被美国 MIT Technology Review 进行了报道。
评论