AIOps 自从 Gartner 于2016年提出至今已有一段时间,虽然在顶级互联网及电信企业,已有较多落地,但至今仍无基于生产实践的理论体系及实施指南。
高效运维社区和云计算开源产业联盟(OSCAR联盟)牵头,和互联网大厂如 BATJ、360、华为、平安科技等的 AIOps 负责人联合编写了国内外首个《企业级 AIOps 实施建议》白皮书,以缩AIOps 实施路径。
一、整体介绍
AIOps,即 Artificial Intelligence for IT Operations,智能运维,将人工智能应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维没办法解决的问题。
早期的运维工作大部分是由运维人员手工完成的,这被称为手工运维或人肉运维。这种落后的生产方式,在互联网业务快速扩张、人力成本高企的时代,难以维系。
这时,出现了自动化运维,用可被自动触发的、预定义规则的脚本,来执行常见的、重复性的运维工作,从而减少人力成本,提高运维效率。
自动化运维可以认为是一种基于行业领域知识和运维场景领域知识的专家系统。
但是,随着整个互联网业务急剧膨胀,以及服务类型的复杂多样,“基于人为指定规则”的专家系统逐渐变得力不从心。自动化运维的不足,日益凸显,这也为 AIOps 带来发展机遇。
AIOps 不依赖于人为指定规则,主张由机器学习算法自动地从海量运维数据(包括事件本身以及运维人员的人工处理日志)中不断地学习,不断地提炼并总结规则。
AIOps 在自动化运维的基础上,增加了一个基于机器学习的大脑,指挥监测系统采集大脑决策所需的数据,做出分析、决策,并指挥自动化脚本去执行大脑的决策,从而达到运维系统的整体目标。
AIOps 基于自动化运维,将 AI 和运维很好的结合起来,其需要三方面的知识:
1、行业领域知识:应用的行业,如互联网、金融、电信、物流、能源电力等,并熟悉生产实践中的难题;
2、运维场景领域知识:包括异常检测、故障预测、瓶颈分析、容量预测等;
3、机器学习:把实际问题转化为算法问题,常用算法包括如聚类、决策树、卷积神经网络等。
AIOps 是 企业级 DevOps 在运维(技术运营)侧的高阶实现。
AIOps 和 DevOps 两者并不冲突,企业级 DevOps 涵括包括运维在内的整个软件生命周期,。此部分可具体参考《研发运营一体化能力成熟度模型》。
AIOps 是运维的发展必然,是自动化运维的下一个发展阶段。
Gartner 相关报告预测 AIOps 的全球部署率将从2017年的10%增加到2020年的50%。其应用行业,除了互联网以外,还包括高性能计算、电信、金融、电力网络、物联网、 医疗网络和设备、航空航天、军用设备及网络等领域。
二、AIOps 目标、原则及能力框架
AIOps,通俗的讲,是对规则的AI化,即将人工总结运维规则的过程变为自动学习的过程。
具体而言,是对我们平时运维工作中长时间积累形成的自动化运维和监控等能力,将其规则配置部分,进行自学习的“去规则化”改造,最终达到终极目标:“有AI调度中枢管理的,质量、成本、效率三者兼顾的无人值守运维,力争所运营系统的综合收益最大化”。
2.1、AIOps 目标
利用大数据、机器学习和其他分析技术,通过预防预测、个性化和动态分析,直接和间接增强IT业务的相关技术能力,实现所维护产品或服务的更高质量、合理成本及高效支撑。
2.2、AIOps 指导原则
2.3、AIOps 能力分级
AIOps的建设可以先由无到局部单点探索、再到单点能力完善,形成解决某个局部问题的运维AI“学件”,再有多个具有AI能力的单运维能力点或学件组合成一个智能的运维流程,如智能化的监控预测及告警,免干预的自动化扩缩容,免干预的性能调优、免干预的成本组成调优等。
具体可描述为5级:
1)开始尝试应用AI能力,还无较成熟单点应用
2)具备单场景的AI运维能力,可以初步形成供内部使用的学件
3)有由多个单场景AI运维模块串联起来的流程化AI运维能力,可以对外提供可靠的运维AI学件
4)主要运维场景均已实现流程化免干预AI运维能力,可以对外提供可靠的AIOps服务。
5) 有核心中枢AI,可以在成本、质量、效率间从容调整,达到业务不同生命周期对三个方面不同的指标要求,可实现多目标下的最优或按需最优。
(上图一级中 Ai 为笔误,应为 AI )
2.4、AIOps 能力框架
注:“学件”(Learnware)一词是南京大学周志华老师的原创,学件(Learnware)= 模型(model)+规约(specification),具有可重用、可演进、可了解的特性。
“可重用”的特性使得能够获取大量不同的样本;
“可演进”的特性使得可以适应环境的变化;
“可了解”的特性使得能有效地了解模型的能力。
很多人可能在自己的应用中已经建立了这样的模型,他们也很愿意找到一个地方把这些模型分享出去。那以后一个新用户想要应用,也许不用自己去建立一个,而是先到“学件”市场上找一找有没有合适的,可以拿来使用修改。
因为学件是在专家基础上建立的,所以比较容易得到专家级的结果,又因为共享出来的是模型,所以避免了数据泄露和隐私泄露的问题。
部分关键场景的能力分级方法:
三、AIOps 平台能力体系
AIOps 工作平台的能力体系主要功能是为 AIOps 的实际场景建设落地而提供功能的工具或者产品平台,其主要目的是降低 AIOps 的开发人员成本,提升开发效率,规范工作交付质量。
具体的工具或者产品应具备以下功能或模块:
1、交互式建模功能:该功能支持用户在平台上交互式的进行模型的开发调试,通过简单的方法配置完成模型的构建。
2、算法库:用户可以在算法库中找到常见常用的算法直接使用,算法按照用途分类,以供用户方便的使用。
3、样本库:样本库用于管理用户的样本数据,供用户建模时使用,支持样本的增删改查等基本操作。
4、数据准备:该功能支持用户对数据进行相关的预处理操作,包括关联、合并、分支路由、过滤等。
5、灵活的计算逻辑表达:在基本常用的节点功能之外,用户还需要自由的表达一些计算逻辑,该需求主要是通过让用户写代码或表达式来支持。
6、可扩展的底层框架支持:平台本身要能够灵活的支持和兼容多种算法框架引擎,如Spark、TensorFlow等,以满足不同的场景以及用户的需求。
7、数据分析探索:该功能是让用户能够方便快捷的了解认识自己的数据,用户只有基于对数据充分的认识与理解,才能很好的完成模型的构建。
8、模型评估:对模型的效果进行评估的功能,用户需要依据评估的结论对模型进行调整。
9、参数以及算法搜索:该功能能够自动快速的帮助用户搜索算法的参数,对比不同的算法,帮助用户选择合适的算法以及参数,辅助用户建模。
10、场景模型:平台针对特定场景沉淀的解决方案,这些场景都是通用常见的,用户可以借鉴参考相关的解决方案以快速的解决实际问题
11、实验报告:模型除了部署运行,相关挖掘出来的结论也要能够形成报告,以供用户导出或动态发布使用。
12、模型的版本管理:模型可能有对个不同的版本,线上运行的模型实例可能分属各个不同的版本,版本管理支持模型不同版本构建发布以及模型实例版本切换升级等。
13、模型部署应用:模型构建完成后需要发布应用,模型部署应用功能支持模型的实例化,以及相关计算任务的运行调度管理。
四、AIOps 团队角色
AIOps作为一个团队,由不同角色组成,一般有三种不同角色,他们是运维专家、数据科学家、智能运维研发工程师,以下介绍三种角色分工:
1)运维工程师
特征:具有丰富的运维领域知识、熟悉较为复杂的运维问题、具备解决运维难题能力。
职责:运用机器帮助运维人员完成基础性和重复性的基层运维工作;人工处理机器还不能处理好的运维难题;基于经验对于较为复杂的运维问题给出最终决策—不断训练机器。
2)运维数据工程师
特征:具备编程、数学、统计学、数据可视化、机器学习等能力。
职责: 致力于智能运维平台架构、模型标准、数据分析方法;不断应用最新的机器学习技术设计优化智能运维算法;监督智能运维系统性能并实施优化和改进。
3)运维开发工程师
特征:良好的开发语言基础、大数据处理技术能力。
职责:数据采集、自动化处理、实现和运用算法等。
五、AIOps 常见应用场景
AIOps 围绕质量保障、成本管理和效率提升的基本运维场景,逐步构建智能化运维场景。在质量保障方面,细分为异常检测、故障诊断、故障预测、故障自愈等基本场景;在成本管理方面,细分为指标监控,异常检测,资源优化,容量规划,性能优化等基本场景;在效率方面,分为智能变更、聊天机器人等基本场景。
三大方向的各阶段能力描述如下所示。
5.1、质量保障方向
质量保障是运维的基本场景之一,随着业务的发展,运维系统也在不断的演进,其规模复杂度、变更频率非常大,技术更新也非常的快,与此同时,软件的规模、调用关系、变更频率也在逐渐增大。
在这样背景下,需要AIOps提供精准的业务质量感知、支撑用户体验优化、全面提升质量保障效率。
5.2、效率提升方向
效率提升是运维的基本场景之一,随着业务的发展,运维系统的整体效率的提升就成为了运维系非常重要的一环。在这样的背景下,除了增加人力是远远不够的,还需要AIOps提供高质量,可维护的效率提升工具。
5.3、成本管理方向
成本管理方向是当公司内部的业务日益增多的时候,如何在保障业务发展的同时,节省不必要的开支,有效地控制成本。成本是每个企业都很关注的问题,现在业界的资源利用率普遍偏低,平均资源使用率能做到20%以上是很少的。
AIOps 通过智能化的资源优化,容量管理,性能优化实现IT成本的态势感知、支撑成本规划与优化、提升成本管理效率。
六、AIOps 实践路径建议
6.1、未实现自动化运维时
AIOps的开展,受限于自动化数据采集,网络、磁盘、成本方面的工作难以深入发展。建议聚焦质量保障的原子场景。
6.2、已经实现自动化运维时
详见下文。
6.2.1、质量保障方向
6.2.2、效率提升方向
(敬请期待)
6.2.3、成本管理方向
七、AIOps 实施及关键技术
实施阶段详见如下,相关关键技术详见 即将于4月13日 GOPS2018深圳站即将发布的 《企业级AIOps实施建议》白皮书。
7.1、数据采集
7.2、数据处理
7.3、数据存储
7.4、离线和在线计算
7.5、机器学习
八、AIOps 效果度量
详见 即将于4月13日GOPS2018深圳站即将发布的《企业级AIOps实施建议》白皮书。