云计算带来了集约化、效率、弹性与业务敏捷的同时,对云上运维提出了前所未有的挑战。如何面对新技术趋势的挑战,构建面向云时代的智能监测平台,让云上应用获得更好的保障,是如今摆在每一个企业面前的一道难题。
在日前的【T·Talk】系列活动第八期中,51CTO内容中心特别邀请到了乘云产品VP张怀鹏做客直播间,为大家分享打造云时代数字化观测利器的经验与思考。【T·Talk】也将本期精彩内容进行了整理,望诸君能够有所收获:
数字化转型与数字经济建设是当前时代的大趋势,数字化转型可以说是人类历史上的第四次工业革命。我们日常的办公方式、支付方式、购物方式,包括出行方式等,无时无刻不受到数字化的影响。简单来说,目前我们已经由传统的IT时代迈入了数字化DT的时代。
在数字化DT的时代,数字化转型几乎重新定义了当前企业的业务以及业务体验的方式。但随着各行业数字化转型的不断深入,越来越多的数字化应用事故也开始逐渐显露。例如年初某省市的健康码崩溃、核酸检测系统异常等,都对社会面造成了非常大的影响。
据调查,目前60%的CEO认为数字化转型非常重要,企业也在这部分人群的带领下大踏步地向数字化转型和人工智能演进。然而与此形成鲜明对比的是,95%的企业应用并没有得到有效的监测与关注。
当前数字化运营手段,大多都产生于传统的数据中心时代,大量的工具或技术都没有考虑到云计算的场景。随着云计算的普及,信息化的场景发生了天翻地覆的变化。应用本身的复杂性呈现爆炸式增长,分布式越来越多,依赖关系也越来越复杂,软件迭代节奏也越来越快。在这样的场景下,企业急需构建面向DT时代的,基于业务和数据流的一套解决方案。
DT时代产生了太多新的技术、新的场景,例如目前热度很高的云原生,云原生的要求加速了传统运维向应用运维的演进。传统场景存在大量基础设施,但随着业务上云,基础设施都将托管给运营商或运营者,企业不再需要为传统的机房管理、弱电管理、硬件的监控、裸金属的监控、UPS配电及温湿度烦恼。因此传统的设备运维也演变成了Site reliability以应用为重心的运维,企业对传统运维的投入将会变得越来越少。
目前来说,我们处在向智能化运维转型的阶段。现在需要做的是让数字化运维、IT运维变得更轻、效率更快、成本的支出更少。运维团队的精力需要集中在企业业务本身,业务才是运维人员所需要关注的重点问题。这些都会带来对智能运维的需求。
关于智能运维,Forrester和Gartner曾在报告中进行过定义:AIOps是一套将AI和数据科学应用于业务和运维的数据领域,以建立关联,并能够提供实时的规范性和预测性答案的软件系统。AIOps可以是一套软件系统,因此它可以是一个落地的产品。AIOps能够增强并部分取代传统的主要的IT运维的功能,包括可用性和性能监控、事件关联和分析、IT的服务管理和自动化。
AIOps ,面向的是Operations,Operations是需要覆盖观测、管理与处置三方面。但目前业界整体水平更多的是聚焦在观测层面。Forrester对此也给出了一个经典的语句:AIOps承诺了更强的可观察性和稳定性。
Forrester认为,当前AIOps的一个核心价值,就是将事前能力增强,提升和扩展你的可观测能力。
观测性最早诞生于控制理论中,指系统可以由外部输出,推断其内部状态的程度。在IT领域中,Gartner将可观测性定义为软件与系统的一种特性。具体指根据系统生成的遥测的数据来判定当前系统的状态以及系统情况,这种能力便是可观测能力或称可观察能力。
传统的监控的技术和工具很难跟踪当前的越来越多的分布式架构中的通信路径和依赖关系,在云原生的场景或者在云端的场景,依赖关系非常复杂,不再像传统很多的单体架构的应用一样。而可观察性能够更好地控制复杂系统,通过可观察性三大数据支柱能够非常直观详细地了解到复杂系统的方方面面。
可观察性不仅只服务于运维,还能够服务于开发部门、SRE部门、Support部门、市场部门与Business部门。因此如果能够将AIOps和可观察性融合为一体,打造出来一体化的平台,将会得到非常完美的产品,能够一举两得。
企业通往IT智能运维的两条典型的技术路径可以形象的归纳为“外挂AIOps”与“内生AIOps”。外挂AIOps,通过旁路的方式将AIOps的平台植入企业IT运维的环境中。AIOps是一个独立的算法平台,通过接入企业异源异构的数据,而后通过数据工程师梳理数据之间的依赖关系,并借助大数据处理技术,实现项目制的交付。
内生AIOps强调的是一体化的技术路线,通过内生AIOps引擎,能够实现数据处理全流程的闭环,不需要数据工程师参与。类似于快递的流程,寄件人的物品相当于数据。拿到数据后,由快递员实行封装、仓储、调度、运输等操作。但最终收件人收到的就是这个物品,中间的所有的处理环节是不需要寄件人和收件人去处理的。内生AIOps强调这一能力,将AI的能力嵌入到一体化观测平台当中。
外挂AIOps一般使用传统的机器学习AI,这种技术本质上是一种统计方法,将Metric、log、事件等信息进行关联分析,旨在降低告警的噪声。通过机器学习AI,我们能够获得一组关联告警。因此其需要一定的时间周期,一般来说外挂AIOps需要人工或历史记录去提出一个推荐性或者可能性的根因。
同时,外挂AIOps需要大量外部数据的依赖,外挂AIOps厂商通常只做算法平台。数据的清洗、CMDB的实体间的依赖关系等等,都需要外部的数据。因此,想要落地外挂AIOps,需要企业的信息化运维的体系建设非常成熟,需要有调用数据的前提、有APM的产品、且可观察性得做的相对完善,才能去做外挂的AIOps。
内生AIOps则提供了一个确定性的人工智能分析,将确定性的分析结果作为目标,也就是在问题发生后,问题发生原因的根因是确定性的,且是一个接近实时的结果。内生AIOps维系了一张实时性非常高的矩阵式依赖关系地图,这项技术不需要去依赖传统静态的CMDB,而是这张依赖关系地图本身就相当于一张实时的CMDB,能够将依赖关系进行实时的变化,借助内生的关系实现了管理分析。
在AIOps的落地层面,企业需要考虑的问题也比较多。从企业管理者的角度来说,除了成本、团队等基础问题外,还需要考虑不同部门之间的平衡,以及成本、稳定性和效率之间的平衡问题。AIOps的目标,是既要解决问题,还要合理地解决问题。在保证成本的同时,最大化地提高企业业务的稳定性与效率。
在Forrester的一篇报告中提到,企业落地AIOps时有以下几点关键能力需要着重思考:
传统AIOps平台,也就是外挂AIOps平台在数据处理过程当中会使用到很多工具拼凑组装,打造一套摇摇晃晃的大数据系统。如果发生工作人员的更换,则很有可能给新的交接者遗留大量的技术债务。
第一步的数据收集环节,需要依赖大量开源与商业工具。第二步将数据注入大数据平台。第三步,人工梳理数据关系以及清洗数据。前三个步骤是非常耗时的。第四步,发现问题、定位问题,这一步AIOps厂商才会参与进来,厂商团队需要落地到客户现场驻点按需打造。厂商会询问需求,并提供相应服务。第五,构建仪表盘。第六,系统的扩展,随着应用系统的规模的扩大,整个系统呈线性增长。
整个流程中,数据工程师需要花费将近80%的时间用来做数据的清洗、采集和组织,整个方案需要尖端的运维领域人才,既要是运维专家,还需要懂算法、懂开发。本身AIOps是一套支撑的系统,是用来解决问题的,但外挂式AIOps很有可能会使运维变得更重,需要一支专门的团队来维护AIOps平台本身。
内生AIOps的数据处理流程则非常简单,一个工具即可解决数据采集。且由其是一个高度商业化的产品,且具有开箱即用的仪表盘能力,包括引擎等。因此后续的处理流程都是黑盒的,无需企业过多关心,也不需要业务工程师懂算法并具备SRE的技术水平。
同时,内生AIOps会随着企业业务系统的规模的扩展,呈非线性的增长。包括用户的团队以及产品的整个系统,都是呈非线性增长的。整个方案布置下来的话,企业只需要要安装一个Agent,后续很多都是自动化的能力。这使得企业的运维人员能够将精力聚焦企业自身的业务。
业界需要新一代的软件智能平台,能够全覆盖整个数据处理流程。将客户想要的结果直接交付,而不是呈现原始数据。总的来说,在外挂AIOps与内生AIOps两条技术路径当中,更推荐企业使用内生的AIOps,其属于智能运维的新的范式。
内生AIOps平台的目标是构建一个集AIOps和可观察性于一体的一体化平台。其需要具备观测能力,且观测能力要以应用监控为中心,应用监控才是面向最终用户的现象层。同时,还需集成基础设施的监控,包括云平台的监控以及黑盒的监控。最后还需要具备面向前端的数字体验的能力。
新的AIOps平台需要打造出持续的自动化,从数据的接入到数据结果的输出实现自动化。需要具备事前能力,拥有预测与预警的能力。
新的AIOps平台需要提供高阶的可观察性,并不只是把原始数据、原始零件展示给企业,而是要关注现象、关注体验,给出准确结果,这样才能尽可能地减少海量噪音对企业带来的影响与干扰。
内生AIOps的数据处理模型,有很多差异化的地方,比如在数据采集上面强调一个Agent的能力。在数据处理上面,我们强调指标体系,指标体系的构建和传统的方式有所不同,我们强调内生AIOps内生于一体化平台。
内生AIOps平台主要会从以下五个方面帮助云原生运维实现化繁为简:
首先,直接获取优质的监测数据。一句比较经典的总结是“高质量的观测来源于高质量的遥测”,高质量的后端的分析一定要求高质量的前端的遥测数据的产生。可观察性关注三大支柱,如果要做高阶的可观测性、内生的AIOps分析,需要五大支柱,除了传统的追踪数据、指标、日志数据,还需要非常关键的拓扑数据与代码数据,数据的质量能够直接决定模型的上限。
直接获取优质的监测数据,这些数据一定是实现非侵入式的、自动化的采集,不用修改源代码、业务与应用,且能够实现上下文信息和自动化的结合。上下文信息能够辅助实现真正的根因分析,能够帮助根因分析提取高保真的背景的信息,能够帮助平台构建实时的服务流图和拓扑图,进行依赖关系。包括矩阵式的关系拓扑的技术,这些上下文信息也是非常关键的。
拓扑图,主要展示整个应用环境的依赖关系,包括垂直的堆栈和水平的堆栈。服务流图是从一个服务或请求的维度去提供整个交易的视图,通过服务流图和拓扑图,可以说明服务之间调用的序列。服务流图显示的是交易的整个分布的序列,是有序的,而拓扑图则是更高级的抽象,显示的是依赖关系等。
直接获取优质的监测关系需要用到商业化的Agent的技术,虽然目前市面上已经有许多开源的工具或者免费的工具,但商业化Agent技术有着以下几个开源工具所不具备的优势。
以上优势是很多免费的工具不具备的。内生AIOps平台依赖于One Agent技术,Agent拥有边缘计算的设计,在边端端点上做了很多数据的聚合、数据的清洗的工作。
内生AIOps平台的能力,旨在构建持续的自动化。监测复杂的云原生环境,一定离不开自动化。包括自动化的部署、自动化的适配、自动化的发现、监控、注入、清洗等一系列自动化。在复杂的云原生环境当中,凭人力是难以了解这些端到端的业务的,所以需要用高度的自动化能力来作为辅助工具,去辅助自动运维。
内生AIOps平台能够构建实时矩阵式的拓扑。能够按图索骥,看到图纸当中水平方向,比如服务层的依赖关系图,还有容器层、主机层、进程级等。垂直向则是服务是跑在什么容器上,这个容器对应的是哪一个进程,这个进程是落在哪一个云主机上面。
输出影响面分析则相当于网络安全的思维,在运维当中也是一样。系统出现了故障或异常,其影响面有哪些,会影响哪些用户、会影响哪些服务、影响哪些应用,其根本原因是什么。通过自动化的手段和技术,把结果输出给用户,并不需要运维人员人工分析。
最后,自动化运维非常重要的能力,就是直指根因,见证成果。传统的技术需要基于知识库、基于CMDB、基于因果推断不同的方法,而AIOps则提供内生型根因定位。其能够打通数据依赖关系,除了对象间的依赖关系,还可以打通不同数据类型间的依赖关系,比如调用链、日志、指标间的依赖关系。其提供的是一个实时的根因定位,具有高度的适应性,在低开销的同时,准确率非常高。而且具备无监督的技术,不需要过多的人工辅助去实现这些能力的交付。
企业若想数字化转型成功,需要做到所有的应用、数字化服务以及支撑其运行的动态多重云平台都能完美地工作,而且要每时每刻做到这一点。
这些高度动态化、分布式的云原生技术,与传统的场景截然不同。这导致由微服务、容器及软件定义云基础设施所带来的复杂性在当前一发不可收拾。这些复杂性超越了团队管理能力的极限,并且还在不断扩大。要想随时了解在这些瞬息万变的环境中所发生的的一切,就必须提升可观测与智能运维能力。
我们需要借助高度的自动化与智能化技术,让云原生运维变得更轻、效率更快、成本的支出更少,让企业团队的精力需要集中在企业业务本身,真正的迈向智能化运维时代。
张怀鹏,乘云产品VP。2017年加入杭州乘云数字技术有限公司,负责【DataBuff 一体化观测与智能运维】产品线日常管理,担任IPD集成产品开发团队经理,参与市场管理、需求分析、团队协同、流程结构化、质量控制等工作。
以上是如何让云原生运维化繁为简的详细内容。更多信息请关注PHP中文网其他相关文章!