AIOps六大技术难点
张真 51CTO

什么如何理解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等可以实现自助式的测试,打包,上线/回滚,开始关注测试和运维过程。运维人员也不再只是被动接受工单,开始关注应用质量以及流程事件跟踪。

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


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢