历时2个月,深访6位大咖,我们完成了这份AIOps指南

敢为人先的 2018-12-12 17:02:00
2018年,业界对AIOps的关注和讨论可以说是达到了一个顶峰,许多国内外企业尝试落地AIOps的实践层出不穷。毋庸置疑,AIOps已是IT运维的大势所趋。可是想要坐上这趟飞驰的时代列车,必须掌握哪些要领?

 

为帮助大家解决心中疑虑,捋清技术风向及思路,我们精心准备了一次专访,采访了阿里-柳明、新浪微博-彭冬、奇虎360-籍鑫璞、携程-徐新龙、新炬网络-宋辉、平安科技-汪洋等6位AIOps领域的先行探索者。

 

本系列文章将会汇集他们的研究心得与实践经验,解答目前业界对AIOps普遍存在的认知误区及疑惑难点,助力国内AIOps的建设和落地。本文为上篇,从大环境着眼,详析AIOps的现实路径。

 

 
目录大纲

认真读完本文,你可以了解到:

 

  • AIOps在国内的真实发展现状;

  • AIOps未来的应用主要集中于哪些方面?将实现怎样的技术突破?

  • AIOps是否适用于所有企业?为什么?

  • 同属运维领域,自动化运维、DevOps以及AIOps之间的关系是怎样的?

  • 下一步AIOps的发展将会走向何方?会对哪些领域产生影响?

 

 

Q2:为什么说AIOps是运维发展的必然方向?它在未来的应用主要集中于哪些方面?将实现怎样的技术突破?

 

A

柳明(阿里)
 

之前很多运维决策都是靠人的经验,也就是所谓的PE角色线上解决运维问题。首先他这样的专家经验不是系统能力,只能是有多少这样的人才能解决多少这样的运维问题,不具备规模化复制的能力。之后大家意识到这样的问题,开始把这样的经验沉淀到系统,变成系统能力,也就是规则系统。

 

但这样规则系统的能力不具备泛化能力,也就是说系统很难对稍微不一样的输入做出正确性的判断。所以利用大规模数据挖掘、机器学习和人工智能技术对纷繁复杂的运维大数据进行实时分析和分类及预测,为系统维护提供更具泛化能力的有效决策的方案,是解决当下运维困境的唯一选择。

 

在未来我们可以利用运维产生的大数据数据、AI预测及分类算法的能力让我们在容量规划、弹性调度、故障检查、智能诊断、问题自愈等方面取得突破。

 

 
彭冬(新浪微博)

A

AIOps是历史发展的必然趋势,是运维技术发展的一个重要节点,不因人的意志而转移。运维从人工到工具,从自动化到智能化是互联网发展及企业业务发展共同选择的结果。

 

最近马化腾向合作伙伴发表了公开信,提到很重要的一点是,移动互联网的主战场正在从上半场的消费互联网向下半场的产业互联网方向发展。产业互联网的基础是大数据、人工智能等互联网技术,企业需要稳定发展,需要解决规模性和精细化的问题,而AIOps就很好地解决了这样的问题。

 

在披上AI华丽的外衣后,无论AIOps显得多么高大上,其本质上还是运维技术,还是要解决好运维中所面临的问题。因此AIOps的实施首先要看运维基础设施的成熟度。

 

运维基础设施包括:网络、CI/CD设施、自动化平台、大数据基础平台、机器学习平台等等。

 

在实践时,AIOps用的模型的准确率非常依赖数据的准确性,决策执行则依赖自动化能力。此外,AIOps的实施需要AI技术的支撑。当然,很多算法层面的东西已经工程化,比如我们用LR做故障分类时,都不需要太理解LR算法本身,调用Python库就可以,但这并不代表我们就可以不深入研究算法原理。

 

国内外一些企业也开源了一些故障检测、异常分析、趋势预测等框架,这都降低了门槛。但要想提升这些算法的准确率,甚至是发现一些新的算法来更好地解决业务问题,还需要大量的理论基础支撑和资源投入。

 

A

籍鑫璞(奇虎360)
 

随着互联网的软硬件呈现爆发式增长,新的架构层出不穷,运维人员需要做到7*24小时的职守来保证系统的可靠性和稳定性。这种空前的压力,如果有一种“机器大脑”来减少甚至代替运维人员去做一些事情,将极大地减少他们的工作量,提高运维效率。如何得到这种“机器大脑”呢?

 

很多运维场景都可以总结成一些规则化的东西,可以经过提炼总结生成人工经验库。除了人工经验以外,还可以通过AI算法对历史数据进行分析,得到一些由机器生成的规则。如果能将AI算法+人工经验应用到OPS中,代替一部分人工决策,将推动运维从普通的自动化阶段向智能化阶段迈进。

 

AIOps未来集中在两个大方面,一是成本,二是效率。成本方面需要从节约成本、提高资源利用率为出发点,而效率方面就需要提高效率为根本宗旨,做到及时发现问题,快速定位问题,最终解决问题。AIOps需要大量的实践和探索,需要运维人员、大数据工程师以及算法工程师一起努力,才能实现技术的突破。

 

 
徐新龙(携程)

A

规模效应和时间维度上的积累会导致运维数据(日志、监控数据、应用信息等)体量异常庞大,传统基于经验规则方式的运维已经不能很好地胜任,需要借助大数据+人工智能的手段,用“机器学习”替代“规则”。从这个意义上讲,AIOps无疑是解决此类问题最合适的方案。

 

从本质上讲,AIOps的出发点和立足点主要还是提升网站可用性、降低企业运维成本、提升效率等应用场景,未来的应用也主要是体现在这些方面。通过机器学习的方式,AIOps将攻克自动化运维无法解决的一些“痛点”问题,致力于构建一种基于数据化运维的生态环境。

 

技术上的突破主要还是体现在算法和算力方面:针对特定的应用场景,构建数据模型,算法需要不断迭代提升准确率和覆盖率;面对未来海量的运维数据,实时计算和处理能力将会是一个很大的考验。另外,提升运维数据的质量也是非常重要的,尽管数据体量非常庞大,但有效和有用的数据所占据的比例却非常稀少。实践表明,算法效果的上限很大程度上受制于数据质量的好坏。

 

A

宋辉(新炬网络)
 

早期的运维工作大部分是通过人力完成的,随着IT规模的增长及信息化的进展,我们通过自动化将一些重复劳动的效率进行提高。但到了现在以及可以预见的未来,IT系统架构的复杂度越来越高,规模越来越大,同时伴随人力成本不断提高,渐渐地对于一些大型企业或重型信息化企业来讲,运维就不一定是简单依靠人力能解决问题了。因此引入和发展AI能力,对于运维来讲确实是必然趋势。

 

从目前的技术能力来看,对于AIOps的应用主要集中在异常检测及根因分析两个方面,而且在一些头部公司已取得了比较成功的应用。通过两个应用场景的突破,可以解决海量指标的实时异常分析和异常场景下快速根因定位,大大提升问题分析处理的效率。

 

对于未来AIOps技术上的突破有很多可以值得期待的,现在异常检测及根因分析已经取得了很好的效果,还有大家在致力于研究的告警关联分析、告警传播关系、多指标关联分析、根源分析等,将来有希望能迎来大家所期待的无人值守的那一天。

 

Q4:同属运维领域,自动化运维、DevOps以及AIOps之间的关系是怎样的?

 

A

柳明(阿里)
 
  • 自动化运维:利用规则、经验或者简单数据分析来自动化执行,可以认为是智能化运维的初级阶段——DataOps。

  • DevOps:开发运维一体化,解决的是开发迭代效率问题,是为运维效率低效提供的工具或平台化的能力

  • AIOps:智能化运维,是利用大规模数据挖掘、机器学习和人工智能技术对纷繁复杂的运维大数据进行实时分析分类及预测,为系统维护提供更具泛化能力的有效决策的方案。

 

所以我对运维发展阶段的看法是:人肉运维→DevOps→DataOps(自动化运维)→AIOps。所以自动化运维、DevOps、AIOps的关系更多是运维发展所处不同阶段。

 

 
彭冬(新浪微博)

A

自动化运维、DevOps和AIOps是运维发展不同阶段的产物:

 

DevOps注重开发在运维领域的角色,其目的也是更好地实现自动化运维,DevOps想通过在运维技术的基础上注入开发能力,加速运维自动化的进程。

 

自动化运维与DevOps都没有明确包含智能化的概念,而AIOps则明确了机器学习、人工智能赋能运维的目标,将自动化提升到智能化的更高地层次。尽管如此,AIOps的基石还是自动化,广义来讲,AIOps应该是包含自动化基础设施的智能化运维技术。

 

A

徐新龙(携程)
 

解释这个问题,就不得不从运维的发展历程说起了。企业发展最早期,规模小和技术落后,基本都是人肉运维,通过手工编写特定的shell脚本,就可以完成特点运维目标;

 

随着企业规模的快速扩大,人力就成为瓶颈,运维效率已经难以适应业务的增长需求,自动化运维因此应运而生。通过预定义的规则脚本,执行重复性的日常运维工作,一来减少人为因素可能导致的失误;二来极大地提高了运维效率,减少人力成本。自动化运维时代出现了很多的运维工具,这些工具替代了原来某种需要人力手工完成的运维场景,同时对运维人员也提出了具备一定开发能力的要求。

 

自动化运维时代产生的工具如雨后春笋,但这些运维工具如豆腐块般零碎,有时甚至功能重叠,系统的使用门槛普遍比较高,工具的用户主要还是运维人员自身。DevOps的出现主要强调从价值交付的全局视角出发,端到端打通软件生命周期,强调横向的融合和打通,实现一站式的持续交付和持续集成。在这期间整合了很多功能相似的工具组合成一个运维平台,从产品设计的角度出发,减低用户的使用难度和费力度,同时将这些运维平台开放给更多的研发人员使用,提供一站式的交付申请和自助平台。

 

AIOps是继自动化运维和DevOps实践后的更高阶的运维实现,主张由机器学习算法自动地从海量运维数据中不断学习,提炼和总结规则。在自动化运维的基础上,增加了一个基于机器学习的大脑,对运维数据自动分析、决策,指挥自动化脚本去执行大脑的决策,从而达到运维系统的整体目标。

 

 
宋辉(新炬网络)

A

DevOps更多是指开发运维群体之间的一种办公合作模式,它不是一个部门、团队、工具的称呼,而是一种思维方式和开发运维工作理念,强调通过部门或组织之间更好的协同从而促进更加高效率、高质量地完成业务目标,所以DevOps更多的是一种文化。

 

而自动化运维和AIOps是一种具体的运维能力或工具。通过自动化运维和AIOps可以让工具在运维中产生更大的价值,从而更好地推动DevOps的落地效果。

 

A

汪洋(平安科技)
 

前面提到从人工运维到自动化运维,再过渡到AIOps是一个自然发生的过程。自动化运维只是将人工运维的步骤通过代码实现自动化执行,来降低运维成本和风险,但并不具备自学习能力,所有的规则和动作都是写死的,并不会随着状态的变化而做出适应性改变。

 

而AIOps通过将人工智能算法代入运维,持续对数据进行分析,并且不断通过自学习来进行演化,能够对自己进行修正,从而可以不断地适应外界的变化。

 

DevOps更多的是一种文化,是从敏捷开发到快速交付和敏捷运维的延伸。DevOps和AIOps并不冲突,二者可以相辅相成,相得益彰,共同提升企业的开发和运维效率。

 

- 专访下篇精彩剧透 -

 

  • 怎样的企业适合更早一步建设和落地AIOps?

  • 建设和落地AIOps有哪些普遍存在的技术难点?如何攻破?

  • 国内AIOps先行企业目前已实现哪些相关技术成效?

  • 随着AIOps的实现,运维人员会面临失业吗?若会,如何化解这种矛盾?

  • 从事AIOps相关工作,需要重点掌握哪些知识和技能?

 

<p style="margin: 0px; padding: 0px; clear: both; color: rgb(51, 51, 51); font-family: -apple-system-font, BlinkMacSystemFont, " helvetica="" neue",="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei="" ui",="" yahei",="" arial,="" sans-serif;="" font-size:="" 17px;="" text-align:="" center;"="">
活动预告