作者:放纵
在当今数字化世界中,如何充分挖掘和发挥数据价值已经成为了企业成功的关键因素,大数据也成为企业决策和运营的重要驱动力。在《当我们在谈论DataOps时,我们到底在谈论什么》一文中也提到,企业在面对到数据量巨大、数据种类繁多、数据急剧增长的困境时,如果不能对数据进行有序的组织和管理,非但不能产生数据价值,反而会引起企业的“数据灾难”,这也正是DataOps存在的价值。将DataOps思想进行工程化落地实践,统一建设高效规范的数据模型和数据体系,基于数据驱动的思想,真正解决生产过程中遇到的痛点问题。
但在真实的大数据运维实践中,我们也深刻的感受到,即使按照DataOps的数据管理和数据运维的方法论,建立了规范标准的数据运维平台,但依赖人工的故障排查定位以及故障处理恢复仍旧变得越来越困难,这也是DataOps的局限性。尤其是像在面对到海量数据可观测性分析、异常发现、故障根因定位、智能自愈等诸多场景下,DataOps都面临不小的困境和挑战,难以满足企业智能运维发展的需要。
因此,为了应对现代运维领域所面临的诸多挑战,AIOps的运维思想应运而生。关于AIOps(Artificial Intelligence for IT Operations,IT智能运维)的定义Gartner早就给出过更详尽的阐述,本文不做过多展开。我们所理解的AIOps是指结合大数据和 Machine Learning,将包括运维数据的采集和处理、异常检测、事件关联、异常诊断以及故障恢复等在内的 IT 流程自动化,从而减少平均修复时间(MTTR)或平均检测时间(MTTD)。此外,我们需要强调的是DataOps和AIOps是两种不同的运维思想,但是二者又相辅相成,可以更加全面的为企业发展提供数字化、自动化、智能化运营的支持。
基于这个背景,本文将探讨在大数据场景下,通过DataOps和AIOps的结合,建设符合业务需要的智能运维平台,以满足大数据产品在自动化、智能化运维方面的诉求。同时结合我们在智能运维场景的一些最佳实践,可以更加深刻的感受到AIOps为大数据智能运维领域带来了全新的可能性。
ABM(apsara big data mananger )作为一个“飞天大数据AI管控平台”,算得上是较早进行AI研究和投入建设的大数据运维平台之一。与早期的“烟囱式”、高门槛、定制化的情况相比,经过多年的大数据产品业务实践和功能演进,已经建设成为一个面向服务不同角色用户、提供端到端的产品化使用体验的智能化运维服务体系。整个数智服务体系包括数据运维平台(DataOps) 、智能运维平台(AIOps) 、智能运维场景服务以及依赖的中台基础服务组件。
数据运维平台(DataOps)
数据运维平台的核心是大数据运维数仓,依赖大数据平台(MaxCompute、Flink以及Hologres等)构筑运维数仓,进行数据建模,把实体、实体拓扑、指标、日志、调用链、事件等海量运维数据进行统一管控。作为数智运维体系的基石,为上层提供规范标准的数据支持。
ABM中台
ABM中台为数智服务体系建设提供了必要的基础服务组件,作为整个数智服务体系的粘合剂,包含了像采集服务、作业服务、通用诊断框架、工单服务以及通知服务等,它们为体系的高效运作提供了技术支持和保障。
智能运维平台(AIOps)
智能运维平台是达成自动化、智能化运维的关键,提供了一站式的智能运维解决方案。整个智能运维平台包括两部分内容:算法服务平台和解决方案平台。
通过上述介绍可以看出,智能运维平台按照功能的高内聚、低耦合性和所面向的用户角色进行了架构分层设计,将需要依赖算法知识和工程能力的部分封装在算法服务平台,并通过解决方案平台屏蔽了算法的使用细节和复杂度,以通用运维解决方案的形式将算法服务的能力暴露出来,使得不同的用户角色可以更加专注于自己所擅长的领域。
智能运维场景
智能运维场景的建设,最终还是要围绕运维工作的本质,解决“稳定性、成本、效率”领域的相关需求。通过数智运维平台和相关的中台服务组件,针对现阶段难以解决的业务痛点,SRE运维人员有了一套新的解决问题的思路和途径,可以以更低成本、更加灵活、更加高效的手段,应对运维工作中的诸多挑战,保障业务的持续发展。到目前为止已经沉淀了几十个业务相关的智能运维场景,涵盖了团队负责的多个核心大数据产品。
依托ABM的智能化运维体系,在日常大数据产品的运维工作中, 团队沉淀了很多优秀的智能运维领域的案例。下面通过几个经典案例的分享,希望能让大家直观的感受到ABM在智能运维领域的成果,更好的体现智能化运维体系的价值。
Flink集群热点机器
关于热点机器的定义,我们在 《SREWorks数智服务尝鲜,你的数据准备好了吗?》 有过介绍。当时更多的是从机器的物理水位指标出发,构建机器的“物理画像”,找到离群机器,发现集群的热点机器。但在真实的业务场景中我们发现,虽然从物理指标上来看,机器确实已经处于热点机器的范畴,但实际情况却是运行在这部分机器上的任务并没有任何异常。
我们以Flink产品为例,按照之前的机器“物理画像”的模式,如果机器被确定为热点,那么SRE会把运行在该机器上的Job进行重新调度,以此来消除热点机器可能导致的稳定性隐患。在这个过程中,由于没有关注机器上Job的运行状态,经常会导致正常运行的Job被人为干预,引起Job的运行中断。为了降低对线上业务的影响,提高系统的稳定性,我们首先把相关的实体数据和指标数据接入数据运维平台,其次基于算法服务平台的时间序列异常检测算法进行机器物理指标和业务指标的异常检测,将潜在的热点机器筛选出来;然后根据机器和运行在其上的Job的拓扑关系,结合异常指标数据,进行关联的根因诊断;最后按照集群层面,发现集群存在的热点机器并推送给业务SRE。更进一步,SRE一旦有了集群的热点机器数据就可以基于通用自愈服务,进行热点机器的自动化处理,无需人工干预。
ChatOps智能助理
目前计算平台的大数据产品不论在公司内部还是公有云上都有广泛的用户群体,在产品的运行使用过程中,无论是产品本身还是用户使用层面,难免会存在各种各样的问题。而随着用户体量的不断提升,技术支持人员的答疑工作量也显著增加,尤其面对一些相似问题,严重降低了工作效率。为了解决当前的困境,提高答疑效率,降低技术支持人员的压力,我们对外提供了ChatOps智能助理服务,通过答疑机器人实现自助答疑的能力。
ChatOps智能助理通过智能问答场景与机器人关联方式,灵活管控机器人所使用的知识库范围。ChatOps通过智能解决方案平台,目前对接了三个主要的智能问答引擎:
基于ChatOps智能助理服务,用户的相关问题可以直接通过答疑机器人进行解决,极大的减少技术支持人员的答疑工单量,显著提升答疑效率和用户体验。
MaxCompute计算资源配置推荐
阿里云MaxCompute提供了三种计费方式:包年包月、按量计费和按时计费,用户可以结合业务的实际情况和MaxCompute提供的TCO选型工具,选择合适的付费方式。但对通过包年包月方式付费的用户来说,固定计算资源配额Quota的方式存在两方面的问题:成本浪费和作业产出SLA。一方面,用户为了保障少部分关键作业产出的SLA,通常会配置充裕的计算资源Quota,导致计算资源大部分时间处于闲置状态,造成成本浪费。另一方面,用户为了降级成本,人为削减Quota,极有可能导致关键作业无法按时产出,对业务产生不必要的影响。
因此,我们通过结合实际作业资源用量和用户资源配置的期望,对包年包月的计算资源Quota生成更优的动态配置推荐方案,进一步帮助用户节省计算资源的成本,实现降本增效的目标。
下面是计算资源优化的基本逻辑:
关于计算资源动态配置的更多细节和案例,推荐关注阿里云官网MaxCompute《计算资源优化推荐》和《使用成本优化功能实现降本增效》两部分内容。
https://help.aliyun.com/zh/maxcompute/user-guide/computing-resource-optimization-recommendations
https://help.aliyun.com/zh/maxcompute/use-cases/use-cost-optimization-to-achieve-cost-reduction-and-efficiency-enhancement
本文首先介绍了目前大数据场景下运维所面临的问题和挑战,并探讨了AIOps在大数据运维领域的必要性以及智能化运维所带来的优势,然后介绍了ABM在大数据场景下的智能化运维体系的架构和建设思路,进一步从稳定性、效率和成本三个方面分享了我们在智能化运维实践中所构筑的几个典型场景,让读者对智能化运维能有一个更加直观感受。最后我们也希望对AIOps有兴趣的同学,一起探讨更多智能化运维建设思路和更多的可能性。