张真:AIOps六大技术难点与宜信运维的重大变革

张真:AIOps六大技术难点与宜信运维的重大变革

张真·宜信研发总监

什么如何理解AIOps?

要理解AIOps,首先要弄懂与DevOps之间的关系。张真表示,AIOps可以看成DevOps的高级阶段,AIOps不是要完全取代成熟的DevOps工具链,而是给DevOps工具链装上“大脑”,将人工决策驱动的运维过程转型成系统自主决策驱动的过程,所以与DevOps工具链深度集成是落地AIOps的必由之路。

用一个形象的比喻,可以把AIOps看成运维的“钢铁侠”模式,系统不再是简单的工具,而是像钢铁侠战甲一样可以协助甚至独立自主的完成任务。

所以,AIOps其实就是将AI技术应用到IT运维领域,提升效率和创造现实价值的“工程化”过程。既然是AI的工程化过程,就需要务实的看待AI技术,需要选择合适的AI技术去解决有效的运维场景,例如智能报警,智能巡检,智能上线,智能自愈等等。

 

AIOps的六大技术难点

 

理解AIOps之后,我们来看看AIOps的技术难点。这部分,张真从六方面进行了阐述:

AI“工程化”的复杂性

目前,机器学习是AIOps的重要手段,其他还有自然语言处理,高级搜索,知识图谱等,也需要综合应用到这个领域,才能达成实际“工程化”的落地效果。换言之,把AIOps认为就是算法落地是片面的。

不仅如此,为了解决特定场景的问题,可能还要“借鉴”或“移植”其他领域的技术和方法,如宜信在实践中从IoT领域受启发创立的“微智能”方法,结合知识图谱,建立微智能知识图谱技术。

如何获取高质量,高时效的监控数据

算法的运用是以数据为前提的,尽管经典监控架构已经可以覆盖Metrics,Logging,Tracing三大类数据,但由于每种数据都是各自一套系统捕获,归集,存储,使得数据的时效,对齐,品控的标准难以一致。

此外数据格式也可能差异很大,在经典大数据架构下,还要经过清洗,格式转换,面对海量数据时,时效就会进一步下降。

多维度数据的关联难度大

经典监控架构由于采集不统一,即便Metrics也可能来自不同的监控系统,例如面向网络监控,面向主机监控,面向应用监控可能就是三套不同的系统,更不用说Logging,Tracing的数据,这就造成了多维度数据的关联难度大。

除时效外,可实时关联的数据是系统能够“接近”甚至“达到”专业人员的任务决策能力的另一个关键。

机器学习模型的训练困境

智能运维运用机器学习的重要目标之一就是能够识别故障特征。但是运维SLA的目标是保证系统可用性99.9...%。这样的矛盾造成故障在实际运行过程中尽管时有发生,但相对于机器学习需要的样本实在是太少。

目前,宜信解决方案是建立一套与生产相同的仿真环境,它是样本收集,也是训练模型的场所,当然即便如此,也有仿真环境的局限性,有些场景也难以模拟。

如何实现运维场景的实时感知

运维的时效性也要求系统的感知足够充分,这里不仅仅是监控数据,之所以运维人员比系统有更强的判断力,在于他们掌握了更充分的运维场景的信息,例如他们清楚网络架构,设备之间的关联关系,物理机/虚拟机分布,应用关联关系,应用技术栈,甚至业务用途等,它们是问题定位,根因分析,影响评估的基础,所以这些信息也要能被实时感知起来,而这一块在传统监控中是缺失的。

遗留技术栈,混合架构增大复杂性

不管金融行业,还是其他行业,只要不是新企业,都面临大量的遗留系统,它们在技术栈,架构上可能存在很大差异。因此对它们的感知,数据采集需要额外的投入。

另一方面,如果遗留系统还在不停的引入新的业务需求,会进一步引入新的复杂性。

AIOps于金融行业的应用现状

当问及AIOps于金融行业的应用现状如何,张真表示,智能运维目前是处于从初创走向成熟的阶段,但其应用范围还与行业特点相关,不同行业在运维模式上存在差异,这些差异会影响落地进展。金融行业还处于智能运维的早期试验阶段,这与金融行业的特点息息相关。

一方面,金融行业是传统行业的代表,也包括互联网金融企业,都需要严格落实合规,安全,法务,流程等,所以对智能运维带来的新技术需要更长时间的适应;

另一方面,多数金融企业的基础平台,如监控,发布,CMDB,安全管控等,甚至包括支持金融业务的系统,建设已有很长时间,在技术栈,架构,部署,组织运作等层面都需面临面向智能运维的转型,这种转型是带有变革性的。

目前业内有切身痛点,同时又具备相关技术研发能力的企业会较早进入智能运维初级阶段,宜信也是其中之一员。2017年9月,宜信开源了支撑AIOps的三大利器,也希望能够促进AIOps在金融领域的发展。

宜信运维的重大变革

罗马非一日建成,宜信运维也是从手工运维一次次变革,迭代到当下智能运维时代。宜信运维的重大变革大致可分为手工、自动化、DevOps工具链、基于全维监控移动化与智能运维五大阶段。

手工运维时代

手工运维时代是人力+计算机脚本的模式,例如资产管理靠人工录入,数据准确性完全依赖流程;应用打包依靠人工触发,然后上传到生产环境;应用部署依靠人工输入命令或运行脚本完成;监控只能看到最基本的几个指标;运维协作依赖于“人找人”等等,这个阶段称为“石器时代”。

自动化运维初期

自动化运维初期是人力+专业系统的模式,每一种专业系统覆盖一个运维领域。例如建立了监控系统,提升了运维的监测效率;资产管理系统帮助提升资产管理的效率;持续集成系统帮助管理代码,Build以及版本等;发布系统实现应用部署的远程发布等等。

这个阶段是运维的工业革命时代,效率被提升,同时也要注意到专业领域的系统其实是“割裂”的,人力依然是核心的驱动力。

DevOps工具链建设期

DevOps理念的发展以及相关开源工具帮助建设DevOps工具链,这个时期的明显特征是通过DevOps工具链的建设从需求,开发,Build,测试,集成到发布/回滚的端到端流程被打通,开发,测试,运维的协作被较好的解决。

这个时期也伴随了人员技能,团队运作模式的转型,例如功能测试人员逐步被自动化测试平台取代,他们会转型为测试平台的研发和运维。开发人员不再只关注开发,借助自动化测试,CI/CD等可以实现自助式的测试,打包,上线/回滚,开始关注测试和运维过程。运维人员也不再只是被动接受工单,开始关注应用质量以及流程事件跟踪。

当然,这个时期的监测,管控,安全,运维处理等还是依赖人力+专业系统的模式。

基于全维监控的移动化运维

这个阶段还是自动化运维的范畴,但事实上宜信已经启动了智能运维的建设,把它分为三个台阶:全维监控,全维关联和全维智能。全维监控是基石,之所以强调全维,正是对前面难点中提到的“高质量,高时效的监控数据”和“运维场景的实时感知”的应对理念。

一方面,全维监控宜信重构了整个监控运维体系,使用统一监控系统采集Metrics,Logging,Tracing数据。同时在这个基础上补充了Profiling(画像)数据,它可以看成将用户端到数据中心,以及数据中心内部的数字投影,这使得系统可以感知与人类相同甚至更加细粒度的“现实”场景。

另一方面,为了解放人员的“视野”,移动化运维模式也引入进来,这需要监控体系能够支持这种工作模式,使包括业务,开发,测试,CI/CD,运维等所有人都可通过移动设备随时监控,排障,甚至处理各种事件。

智能运维建设期

当前,宜信正处在智能运维建设阶段,是人工智能技术的综合应用时期。全维关联,是将全维的监控数据和画像数据完整的,高时效的关联在一起。

一方面可以支持更快更好的自动化运维;另一方面,也夯实智能运维的第二个基石,使得系统可以全面地使用这些数据来实现协助甚至自主决策的运维。

在这个阶段,任务机器人(AI-Mission Robot,也叫运维机器人)系统被建设起来,并初步具备了“智能”。同时,这个阶段也促进了团队运作方式的进一步转型,从单链条的协作方式逐步转向以系统为中心的多维协作,系统为所有人提供客观的,统一的视图,也为各种事件处理提供执行计划、协助建议、甚至主动决策与实施。

张真表示,智能运维建阶段是最具颠覆与飞跃性的迭代 ,目前已经在一些场景下落地:

  • 如人可以通过各种渠道(微信,Web IM,各种IM)与任务机器人使用自然语言进行对话,用自然语言的形式下达目标,任务机器人会根据目标自主规划如何达成这一目标;
  • 如智能报警这个场景中,人可以通过自然语言向任务机器人订阅报警,修正报警的参数,任务机器人也不是简单将报警推送到交互渠道上,它会自动筛选/汇总报警事件,将真正有意义的报警事件推送给人;
  • 如智能上线的场景中,人可以下达上线的系统,时间等目标信息,任务机器人一方面会按照与人的约定进行任务执行的规划,也会在上线过程中遇到问题时,主动判断是否要继续,是否需要人的协助,是否要终止,转而进入问题诊断;
  • 如智能巡检的场景中,任务机器人以自主驱动的模式,高频率对成千上万的应用实例进行异常检测,问题定位,根因分析,影响评估,自愈执行,这个模式的目标就是完成初级到中级运维工程师的日常巡检任务。

全维智能—宜信运维的未来规划

当问及宜信运维的下一步规划,张真表示,会很快迎来第六阶段:全维智能。主要发力如下三方面:

不断提高任务机器人的决策准确性。这里需要更多的数据积累,模型调试和整合,也需要尝试更多的技术和方法,使得它的“智能”更加接近专业人员。

不断提高任务机器人的学习能力。机器学习需要大量的训练工作,目前“离线”训练还是主流的方法,但是线上环境“千变万化”,需要将这种“学习”逐步推向“线上”;此外,需要使用“更少”的数据获得“更多”的判断力,概括来说就是实现“小数据,大任务”的模式。这里看似矛盾,其实因为运维的时效要求,训练数据越多自然效果越好,但是也意味着训练时间越长,这也是一个更大的技术挑战,。

不断提高任务机器人的通用性。尽管宜信已经在一些场景下取得进展,但是还没有覆盖运维的所有场景,需要不断发展新技术来适应更多的场景。更大一点说,不同行业的运维模式也是有差异的,如何通过一套系统的方法,甚至一套产品化的系统来应对不同行业的运维场景,也是一个挑战。

张真老师,是5月18-19日,于北京·粤财JW万豪酒店即将举行的2018WOT全球软件与运维技术峰会重量级嘉宾,分享的议题是“运维机器人之任务决策系统演进之路”,亮点内容内容抢先看:

首先,从总体分享UAVStack的智能研发/运维一体化路线蓝图,如前面提到,宜信智能化之路分为三个阶段:从全维监控到全维关联,最后到全维智能。

接着,分享运维机器人相关内容。运维机器人是全维关联,全维智能两个阶段的核心,而其任务决策系统又是其“大脑”的“智能”重要组成之一。宜信运维机器人又叫任务机器人(AI-Mission-Robot),从类人行为上,它有两种基本行为模式:任务驱动和自主驱动。

  • 任务驱动是接受来自人的指示而采取行动;
  • 自主驱动是人给定目标,它自主规划达成目标的方案并采取行动。

无论是那种模式都依赖于任务决策系统。

议题会从宜信实践出发,阐述任务决策系统的关键原理,架构演进,典型场景的应用剖析。

开发者可以从张真对任务机器人“大脑”聚焦和深入的剖析,从中获得如下一些启发:

  1. 从任务决策系统的架构演进,来共同探讨任务机器人的“智能”是如何“被创造”。
  2. 从任务决策系统的“任务驱动”技术演进,来讨论自然语言是如何被“映射”成一个系统的API并被准确执行。
  3. 从任务决策系统的“自主驱动”技术演进,来深入了解任务机器人是如何做到“发现问题,定位问题,分析问题”。