作者诠释了智能化运维是一种全新的数字化能力,是企业数字化转型的必备能力,以及如何拥有这种能力。
作者:杨辰
上海擎创信息技术有限公司CEO、中治研(北京)国际信息技术研究院特约高级研究员,曾在BMC、HP等国际科技企业担任技术、产品要职,拥有20多年信息系统运维管理和专家服务经验。专注在智能运维数据治理和模型、产品研发。
一、为什么数字化转型中企业必须具备智能运维能力
数字化转型是当前每一家企业都必须面对的挑战和机遇,犹如滚滚洪流,奔流向前,如果没有能够抓住时机进行数字化转型,那可能只会失去竞争力而黯然离开历史舞台。
对于很多企业来说,数字化转型等同于一种生命力的重塑,因为它能够帮助企业建构一套以客户为中心的系统,通过重塑企业中人员、流程和数据的协同模式,能够为客户创造更大价值,提升企业在数字时代的竞争力。以金融服务行业为例,根据IDC分析报告,FinTech在金融行业的应用正逐步呈现出金融服务场景化、平台化、智能化的发展趋势,以云计算和大数据为首的科技发展推动着金融行业的业务场景创新与技术应用创新,而核心目标就是“以客户为中心”。
著名科技趋势分析组织Gartner将数字化转型细分为信息数字化、业务数字化两个方面。在企业的业务流程中,对于已经由信息技术支撑的业务品种来说,信息数字化即通过相应的技术令其过程数据得以留存,并利用其提升及优化业务运行效率;而对于不具备信息技术支撑的业务品种,就需要通过新技术的运用构建相应的数字化业务。无论是信息数字化,还是业务数字化,在其背后都会涌现日益复杂的业务系统、基础架构和日益增长的运维数据,这对于企业运维而言,都是非常巨大的挑战。
在传统运维方式下,工具众多但各自为政、数据处理和实时分析能力薄弱且依赖于经验和规则,导致故障的根因定位十分困难,解决问题效率非常低下,运维的实用性就大打折扣。因此必须借助一定的手段和方式,如对客户的IT运维数据实现全量的集中化管理,实现数据实时处理、智能分析和预测,进行多维度高效根因定位。
而这些都是智能运维AIOps所具备的。智能运维是一种全新的数字化运维能力,也将是数字化转型的必备能力。智能运维相对于传统运维模式而言,能够在四个方面有本质的效能提升:
• 运维数据治理。通过高性能实时处理的数据平台广泛采集、处理和分析数字化业务运行过程中的多样化运维数据,包括告警、指标、日志、配置以及运维工单等类别,不仅提升了运维大数据的治理能力,优化了数据质量,而且为进一步激活运维数据的价值打下了良好基础;
• 业务数字化风险。使运维人员不仅提升了历史运维数据的分析能力并且能够对实时数据进行异常检测和问题预判,有效降低数字化业务的运行风险,提升可用性、稳定性;
• 运维人力成本。使真正意义上的跨域根因定位成为可能,降低对专业运维人员经验技能的依赖,迅速缩短故障排查时间并有效降低人力成本;
• 业务侧影响力。以业务视角利用多元化数据提高运营分析和决策能力,比如端到端的分析业务交易状态,提供给业务、客服部门及时反馈和决策支持依据,充分增强业务影响力;
二、智能运维能力建设的五大困惑
数字化转型势在必行,而智能运维模式显然优势诸多,因此其能力建设是大部分传统运维人必须要思考的事务。但因为智能运维毕竟还是最近几年出现的新兴事物,在企业建设智能运维能力的过程中,许多企业势必会面临着方方面面的挑战和困惑。下面来我们来谈一谈几种典型的困惑。
困惑一:智能运维=机器学习算法?
在一些人看来,智能运维就是智能算法加上传统运维,只需加入机器学习算法即可,与传统运维唯一的区别就是算法的有无。究竟是否如此?我们借鉴一个成熟市场的例子来看这个困惑的答案。Google开源的安卓系统现在已经成为大多数安卓平台手机的系统标准,市场上这样的手机有数百个品牌,几十亿部之多,如果说软件代码的本质就是算法,那么这几百个品牌手机的核心算法都是安卓。但是若在图中的三款手机中选择,不考虑价格的情况下,相信很多人一定会选择体验更好的小米或者华为手机,而不会考虑边上的杂牌机。
既然都是安卓系统,为什么会出现这种情况?原因在于算法(源代码、操作系统)对于一个产品而言虽说重要但并非全部,它仅是一款优秀产品的基础,决定产品优秀与否还有其他关键因素。这就如同合适的机器学习算法之于智能运维,它只是一个基础,并不意味着全部。智能运维还需要贴合用户需求的算法建模、功能设计和工程化落地能力,这才是产品用户体验的关键因素。在智能运维建设中普遍存在三个挑战,都需要考虑除算法之外的数据平台能力:
挑战一,任何算法若生产可用必须要经过数据训练和建模,在过程中数据质量、参数调整和结果的分析比对的便利性都很重要,在运维过程中也会有许多情况需要对既有模型做优化调整,这就必须要构建数据平台和机器学习平台的能力,否则无法使算法产生生产效能;
挑战二,功能设计必须场景化,实用化,并考虑和既有运维手段的衔接,否则算法也无用武之力;
挑战三,智能运维能力所需的数据平台工程化水平门槛很高,包括大规模流式数据处理能力,算法的分布式运算和迁移学习等,都不是传统运维工具所具备的数据能力,无法直接叠加。
困惑二:运维成熟度不高不敢考虑智能运维?
在传统运维向智能化转型的过程中,可以从两个维度来设计其演进的路线。横向看是数据类别维度,运维数据主要分为告警、指标和日志三类,日志的量最大。这三类数据占到运维数据的80%以上,其他运维数据如配置关系、工单和业务数据等,也有一定的参考价值。 而从纵向来看,则是对数据处理和分析的能力维度,智能运维的本质就是逐步提升对运维数据的分析处理能力。
因此要谈到最佳实践,对于运维成熟度度高的的企业,可以按照数据处理能力的维度,统一规划、分层实施,实现从运维数据局部集中到跨域集中,也就是先建立运维大数据平台,通过加强数据治理、优化数据质量,而后再过渡到基于算法的统计分析乃至流式实时处理,构建多样化智能运维场景,逐层实现智能运维能力建设。但这种方式并非放之四海而皆准,对于成熟度不高的企业,迫切需要解决的是实际运维问题,而智能运维这时应该能成为解决实际问题的工具,它可以根据客户当前的运维成熟度选择具体应用场景,按照不同的路线图进行建设,这才是智能运维的应有的能力。
例如一家城市商业银行,它目前最大的问题可能只是监控效能低下,误报漏报多,我们可以先从集中告警入手,利用算法去重降噪,再查看相关告警之间的有效告警场景,筛选出最可能影响业务问题的告警。在提高告警处理效率后,再通过分析告警的源头,进一步解决监控指标静态阈值设定不准确的问题,用智能异常检测替代之,从而根本上提升监控效能。这就是场景化方式导入智能运维的方法。
困惑三:已经建设了大数据平台还需要建设专门的运维大数据平台吗?
智能运维能力依赖于运维数据的处理分析能力,因此运维大数据平台的建立和通过数据治理提高数据质量非常重要,它是构建相应的智能运维场景的基础。运维数据的处理分析由于有其特殊的要求,不仅仅是数据规模大,而且数据处理的时效性要求极高,这是因为许多运维数据需要在高速流引擎中进行复杂的聚合、计算、判断比较等操作以满足机器学习算法要求,这也是运维工作场景的特色,那就是必须“快”,否则一旦故障发生久了,一切就都失去了分析意义。
而传统为业务构建的大数据平台,主要用于存储和分析数据,这种分析往往是离线数据的历史分析,对时效性要求不高,因此不具备支撑智能运维的能力。
因此运维大数据应该考虑独立建设,但可以将基于HDFS的Hadoop架构大数据平台作为归档的数据平台,比如运维数据里应该根据分析效能分类为冷、温、热数据,其中具备长期检索价值但没有短期分析意义的冷数据,可以归档到Hadoop集群中,这就要求运维数据平台的架构设计要考虑其开放性。
困惑四:建设智能运维必须先完成运维自动化建设?
自动化的基础是既有运维事务的标准化,即按照一种标准程序批量执行作业,相当于图中的机械手,而智能运维是一种判断决策能力,它是根据对情况判断决策用哪种机械手来操作,即便没有机械手也并不意味着可以不做决策,二者并无依赖关系。
在运维智能化过程中可以不断发现新的规律性场景,因而可以持续做标准化和进一步的自动化处理,而在DevOps建设中也可以融入智能化的处理能力,比如对日志异常的实时分析诊断以及对于平台和容器指标的实时异常检测和根因分析,对于之后的迭代调参会十分方便。
根据著名心理学家丹尼尔康纳曼的著作《快思慢想》,人类其实具备一套伟大的运维管理机制,分为理性思考和直觉思考两个系统,而实际运行中,人类会不断通过理性思考过程,把能梳理成标准化的结果变成直觉系统可以直接运行的标准操作,一旦触发相关条件就立即执行相应的操作并可以不断优化。比如初学开车司机必须全身贯注,根据情况做出判断,而且反应很慢,但熟练的司机则可以随时迅速判断做出正确动作。实际上企业运维的成熟度目标与此十分相似,就是要不断将“慢想”的流程逐步转变为“快思”,这就是智能运维和自动化运维的关系。
困惑五:智能运维=日志大数据分析?
日志是运维数据中很重要的一类,数量占比很大,是智能运维中应该分析处理的重要数据源之一,但是日志大数据分析并不等同于智能运维。传统日志的处理偏向事后分析,智能运维对日志的处理增加了事中监控乃至事前预判能力,这是日志分析所不具备的能力。
传统运维考虑的日志分析工具,都是偏向于事后分析,即事先必须了解日志结构,再进行相应操作把价值信息提炼出来。而智能运维则是提升了它这种能力,它能够通过算法识别日志的语义结构,优化日志结构化的方式,提升事后分析的能力,更重要的是还能在日志产生的过程中对其进行指标化的监控,并且在事前发现出现异常模式的日志,从而进行故障预判,这对于日志分析来说是一个质的飞跃。
智能运维考虑的是不同类别数据如指标、告警和日志等数据的相关关系和联动关系,并不仅仅考虑像日志这一种单独门类的数据,日志分析仅是智能运维所具备能力的一种而已。比如在具体运维过程中,往往需要综合利用告警、指标和日志间的相关关系来寻找问题根源,这就需要打通日志与其它数据的关系。
三、如何开启智能运维之旅的三点建议
综上所述,结合自身运维成熟度和具体运维挑战有序开启智能运维能力建设才是硬道理,在起航前,有三个建议可以分享:
首先,起步得稳。充分评估当前运维手段的实际情况和具体痛点,找到较快就能和既有运维手段相融的方案,一定要考虑数据平台建设的必须能力和开放性,不要引入多个数据孤岛。
第二,目标要准。不要企图一次性解决所有问题,要聚焦解决有选择性的具体目标,对目标的达成要有持续改进计划,要盯住不放,直到出效果为止。这里要考虑智能运维平台是否有反馈和迭代学习的机制,因为持续改进往往依赖机器学习和人工经验的融合,达到目标不是一蹴而就的。
最后,思谋当远。一定要有阶段路标和走向运维全面数据化和智能化的规划路线图,谋定而后动,要充分考虑引入智能运维方案后过渡期中人员角色和职能甚至流程的变化,任何新技术手段的引入都是人员、流程、工具三者的有机结合。
寄语
智能运维发展正如火如荼,Gartner预见其为下一代运维,认为到2022年将有近50%的企业用户部署智能运维。虽然目前不少企业已经在积极投入建设,也还有一些企业处在迷茫阶段,对这种趋势不太清晰,借用著名作家威廉吉布森的话,“未来已来,只是分布不均。”
其实我们从手机的发展史中便可窥见一二,如图所示,从1998年Nokia5110到2007年初代iPhone(智能手机)的出现,再到目前最新款的手机,其实就是一个新技术赋能的过程,一开始我们惊喜的称呼iPhone为“智能手机”,而今天再没有人叫它“智能手机”因为这就是手机该有的样子。所以运维也是如此,在企业数字化转型大潮中,“智能”是运维本该有的样子。