您的位置:首页 > 运维架构

裴丹教授采访|如何实现智能运维及对运维行业的未来展望

2021-04-26 22:39 1096 查看

裴丹教授采访|如何实现智能运维及对运维行业的未来展望

裴丹 中生代技术

访谈实录

裴教授,很荣幸有机会采访您,也感谢您百忙之中抽出来时间接受采访。请您先跟读者打个招呼,简单做一下自我介绍吧。

大家好,我是裴丹。我从2000年开始就开始做互联网智能运维工作,到现在已经16年多了。我在美国加州大学洛杉矶分校(UCLA)读的博士,之后在美国工作了大概6年的时间,回国后加入到清华大学。在我的整个读博期间和整个工作过程中,一直都在做智能运维相关的工作,并形成了一套方法论,即通过机器学习的方法来解决互联网公司、网络运营商在生产实际中的一些比较复杂的、有挑战性的运维问题。我目前在清华的NetMan实验室工作,实验室目前大概有20个学生,都是在做互联网智能运维的一些算法层面的研究。

您的研究方向是智能运维方向,您对“智能运维”是怎么样定义的?智能运维要解决什么问题呢?

智能运维是指在互联网中的大型分布式系统不断处理海量用户体验、性能、稳定性、安全事件,从而达到如下效果:

  1. 能够准确的复现并诊断过去发生的事件;
  2. 能够及时准确的检测、诊断当前正在发生的事件,并确定最适合的应对方案;
  3. 能够相对准确地规划和预测将来可能发生的事件。
    因此可以看出智能运维是人工智能(机器学习)、互联网运维领域知识、工程开发的交叉领域,三者缺一不可

智能运维都用到了什么技术呢?怎么去实现的呢?

如前所述,智能运维是人工智能(机器学习)、互联网领域知识、工程的交叉领域。互联网领域技术和工程开发技术在此不赘述。智能运维常用到的机器学习技术包括相关性分析、回归、关联分析、聚类、决策树、随机森林、支持向量机、隐氏马尔科夫、卷积神经网络、LSTM(Long Short Term Memory) 等等。这些算法在各种(开源或闭源的)工具集中都有现成的代码实现。智能运维的一个主要挑战是根据具体需求评判应用哪些机器学习算法,并适配或改造。

基于如上机器学习技术的具体智能运维技术包括:

  1. 面向历史事件的: 批量根因分析、瓶颈分析、热点分析等;
  2. 面向实时事件的: KPI异常检测、日志异常监测、事件关联关系挖掘、报警聚合、快速止损、故障根因分析、止损建议分析;
  3. 面向未来的:配置管理、容量预测、趋势预测、故障预测、热点预测等。

我在清华大学开设了一门英文课程,叫做《高等网络管理》(Advanced Network Management),教授的内容就是各种机器学习技术在智能运维领域中的各种应用案例。 感兴趣的话,大家可以去看看我这门课的课件,识别下面二维码便可进入课程链接。

故障识别是大型互联网公司的痛点,大家都在努力的做到尽量短的时间内洞察故障根源,裴丹教授能不能举例说一下您在这部分的实践情况?

故障识别也叫故障根因分析(Root Cause Analysis) ,是智能运维领域非常有挑战性的一个工作,主要在于三个原因:

  1. 对各类事件的监控要全面,少了数据不行,实践中很难一下就全面监控各类事件;
  2. 对各类事件的监控要准确,但是很多事件的监控是依赖于异常检测的准确度的,而这个问题还没有在实践中很好解决,往往还是基于原始的静态阈值;
  3. 由于微服务的兴起,模块的更新变化变得很快,模块监控项之间的故障传播关系也在不断变化,导致无法通过先验知识建立静态的故障传播链。

三种挑战交织在一起,导致实践中做故障根因分析极具挑战性。

在这个些问题中,我们实验室的主要工作重点在问题二和问题三:

  1. 通过集成学习方法实现算法与参数的智能筛选,使得异常检测在实践中不必再手动调算法、调参数,实用性大大提升,使得实践监控变得准确;
  2. 通过关联关系挖掘和随机森林自动挖掘微服务模块间的故障传播链关系。
    以上都有相应的论文发表,我们还在尝试用最新的机器学习算法来进一步提升相应解决方案的性能。

您觉得智能运维的未来发展趋势是什么样的呢,跟APM(应用性能监控),操作系统性能监控,数据库监控,网络监控等技术的关系会是怎么样的呢?

智能运维正在经历由“基于人为指定规则”到“基于机器学习”的转变,将来会看到越来越多的科研成果和实际系统采用机器学习算法做为基础工具。目前机器学习在一个领域取得广泛成功有几个要素:可用的开源机器学习系统、实际应用场景、大量数据、大量标注,而智能运维恰好具备这几类要素。所以我觉得基于机器学习的智能运维在今后几年会取得长足的进展。

这些基于机器学习的智能运维技术是APM(应用性能监控),操作系统性能监控,数据库监控,网络监控等技术的底层基础技术,因此智能运维的发展会大大促使上述领域的发展。

2016年运维行业蓬勃发展,新技术大规模推广,如容器与微服务,配置管理工具,DevOps,SRE这样的概念和思想的落地,还有很多运维方向的公司都拿到了大手笔的融资,您对当前的运维行业发展有什么看法呢?

首先我认为上述新概念和思想的落地是运维行业的大好事儿,这标志着运维行业已经逐渐脱离了人工和经验(dark arts),而转向一个真正基于技术的行业。同时容器和微服务的不断落地,也会使得一些过去可行的技术(比如基于人工置顶规则的根因分析)遇到瓶颈,需要新的智能运维技术来适应容器和微服务等底层技术的更新。

同时,不少运维方向的公司都拿到大额融资,把大公司的运维系统及技术提供给中小企业使用,这也是一件大好事。更多的企业在应用运维技术的生产实践中,会不断的产生新的挑战,相应地会有新的技术和解决方案提出来,会对整个智能运维行业的发展产生强烈的促进作用。

如前所述,智能运维是是人工智能(机器学习)、互联网运维领域知识、工程开发的交叉领域,三者缺一不可。Google SRE 这本书对互联网运维领域知识、工程开发等方面对SRE职位的重要性有了详尽的描述,包括为事件打标签等。
我个人的一个观点是:用发展的眼光看, 未来SRE这一职位除了目前强调的互联网运维领域知识、工程开发的结合以外,也会逐渐强调机器学习技术的应用。

您以前在美国做过很长时间的运维工作,您觉得中美的运维行业发展有什么差别?

总体来说,美国运维行业在运维理念和智能运维技术的创新比国内要多一些。首先,美国的运维行业工作历史悠久,AT&T电信网络的运维在几十年前就开始了,并且依赖AT&T的科学家们,发明了很多智能运维算法,发表在计算机网络领域的顶级会议(如ACM SIGCOMM)和期刊(如IEEE/ACM Transactions on Networking)中,并引发了学术界的深度参与,这些算法的核心思想有不少在现代互联网中仍然适用。

互联网兴起后,大型互联网公司在生产实践中不断深挖运维问题的根源,提出或深入实践了微服务、容器、DevOps 等先进理念。 国内运维业总体上来说还处于应用已有先进技术的阶段,但是在一些局部的技术点上(比如普适异常检测技术)也走在了世界的前列。相信国内的运维行业在国内互联网行业不断高速发展的促进下,在不断增多的国际交流的帮助下,一定能够逐渐自主提出并实践原创的理念和技术。

您对未来几年的运维领域的技术发展有哪些期望?

我有如下预计:

  1. 在国际范围内,越来越多的先进机器学习技术会被应用到运维领域。
  2. 一些智能运维的关键技术会逐渐通过工业界和学术界的密切合作被突破,比如异常检测、异常定位、异常事件关联等。
  3. 更多的预测型的智能运维技术会被提出并实际应用,比如故障预测、热点预测、容量预测等。

最后一个问题,也是替国内运维人员提的问题,您对目前国内的运维人员的发展有什么建议?

除了提升代码开发能力,还希望国内运维人员有意识的提升应用机器学习技术的能力,并不断实践。

国际上“基于机器学习的智能运维”的实践也只是刚刚兴起,因此,就像中国的人工智能被认为有可能实现对美国人工智能的弯道超车一样,我相信国内的运维行业只要足够重视并不断尝试实践,完全有可能在“基于机器学习的智能运维领域”实现对美国运维业的弯道超车。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: