事件驱动思维杂谈

2022-11-16 20:39:55 浏览数 (1)

上周翻了一下《黑天鹅》,书中定义了黑天鹅事件的三个特征:稀有性、极大的冲击性和事后可预测性。其中第3点“事后可预测性”特征,作者鲜明的提出对立观点,认为黑天鹅这种不确定性危机很难用规律性的理论预防,而是需要增强适应性能力,从不确定性中获得收益。这个观点中,有两点值得我们关注:大家习惯对事件进行分析,并总结规律,这是惯性思维;不确定性事件无法预测,需要适应他。前者指的事后反向推演是人的习惯,一种容易让大家接受新事物的方式,善用好事件产生的机会,可以更好的落地工作要求;后者提出应对不确定性危机事件的有效方案是适应他,即危中有机,危后出机。

把这两个思路应用在运维领域,此处引入“事件驱动思维”。在运维管理过程中,事件驱动思维对于运维组织是一大利器,很多工作是借助于内部或外部生产故障、IT风险事件、合规管理、外部监管、公司政策、公司领导决议等作为触发因素,推动组织、流程、平台、场景的有效落地。接下来从平台与场景设计层面聊聊事件驱动。

从技术角度,在软件领域有事件驱动架构(EDA),Gartner将EDA定义为“一种设计范例,软件组织响应收到一个或多个事件通知并执行”。由于事件驱动具备更好的扩展性,可以平衡代码的可维护性、性能和扩展性,伴随着万物互联时代海量终端传感器与数据的增加,事件驱动很好的契合这样的场景。在2020年时,本人遇到一个Vantiq的厂商,提供了事件驱动的解决方案,其主要应用场景在物联网边缘计算,大概思路如下:

  • 边缘终端提供实时采集的数据,并上报事件驱动平台,平台支持海量、实时流式的数据处理能力;
  • 用户可以在平台采用低代码的方式编排数据加工过程,支持编写数据加工脚本,可以在编排过程中即时看到数据响应效果;
  • 根据数据处理,支持多种响应后执行环节的事件驱动;

Vantiq这个解决方案效果的关键词有:实时、异步、解耦、海量连接、海量数据处理,虽然看起来总体思路简单,但是想像空间很大。比如说,你在路边打开高德,APP采集了当前手机定位数据、终端身份信息、输入的目标地址,触发计算行程、路线、费用等操作,并反馈用户;当选了打车服务后,触发附近车主定位、不同品牌车辆与费用信息、向车主推送信息或派单、向用户提供车主繁忙情况、触发是否增加费用;当车主同意接单后,触发反馈用户撮合情况、车主信息、汽车位置……

这是一个典型的事件驱动下,即时处理的场景,多个终端、多个协同角色不断的上传数据,事件平台加工数据,反馈结果。借鉴这个事件驱动的思路,在运维领域也是有想像空间的,比如大家熟知的监控告警的管理。终端监控性能数据采集,为用户提供灵活的策略配置,触发监控告警事件(或自动化操作),并建立“机器、平台软件、信息系统”、“一线值班、二线专家、值班经理、管理决策”、“基于策略、时长、关系、决策、反馈等事件因子”的数据感知与反馈渠道,比如涉及:

  • ‍告警信息标准化、归一化;
  • 告警信息的丰富;
  • 多条告警信息的收敛;
  • 告警推送的抑制;
  • 涉及多种渠道的告警推送;
  • 涉及自动化的操作;
  • 对下游系统的风险揭示;
  • 对问题定界的初步分析,并推送决策;
  • 一线值班对监控告警响应效率的事件;
  • 对挂起的告警事件进行升级;
  • 对处理后的告警进行“正确性、及时性”的分析;
  • 驱动告警的复盘;
  • 以及从前端可观测排障角度需要数据的采集、汇总、整合、加工、可视化。

总的来说,从场景层面,可以针对“多角色、多对象”,上报数据、加工计算、推送决策、执行效率、用户反馈、优化决策、驱动执行,从而设计更全面的处理操作场景,事件可以作为运维工作场景启动的触发因素,善用事件驱动的思路可以将多个工作场景串联在一起。针对不同场景的工作,借鉴软件层面的事件驱动,让场景工具接受事件数据的输入,根据输入触发标准化的事件规则,响应事件决策,并由人或机器进行决策的执行将建立全数字化的事件驱动能力。从平台层面,期望运维领域能够出现一款类似Vantiq的平台解决方案,目测有机会出现在运维数据平台、运维中台、运维低代码PAAS平台的供应商中。

end

0 人点赞