3.1 应用演进趋势
在使用信息技术之前,企业的生产经营依赖人工操作、文本记录和口头沟通。发生在20世纪六七十年代的第一次信息技术浪潮推动了企业经营价值链条中的关键活动的自动化。企业应用系统软件实现了从订单处理、财务管理和工程设计到生产资源计划管理的计算机辅助自动化。这是信息技术第一次在企业生产经营活动中发挥巨大的作用,计算机将人工从海量数据采集、处理工作中解放出来,推动了生产力的提升。
在这个阶段,应用稳定性和性能保障等运维活动主要解决企业内部局域网内,面向生产、财务、销售等部门提供服务的软件和硬件系统的故障问题。应用特点是系统架构相对简单、接入用户数量固定、数据增长速度相对稳定。应用软件大多是标准化产品,有厂商提供运维支持,企业运维压力较小。
20世纪八九十年代,互联网的快速发展带动了第二次信息技术浪潮。通过廉价、便捷的接入方式,互联网打通了用户、供应商和企业之间的信息通信交互通道。企业内部信息系统不再只联通、服务于企业内部。企业与供应商、合作伙伴、经销商、最终用户之间的信息交互成了可能。企业支撑经营管理活动的数字信息系统建设不再是购买标准化产品就能够完成了。应用系统开发、运维对企业,尤其是互联网公司的重要性快速提升。应用运维不再只解决标准化产品故障问题,而且要解决复杂多变的网络环境和系统间网状信息交互集成带来的新的问题,这也带动了系统监控类软件的快速发展,其中比较有代表性的是Florian Forster编写的Collectd(UNIX系统的软、硬件监控指标采集存储工具)[1]、UC Berkeley开发的Ganglia(用于分布式部署环境下的高性能计算平台的监控)[2]等。网络性能监控分析软件和应用性能管理软件也在这个阶段诞生了。
以智能、互联为主要特征的第三次信息技术浪潮将在提升生产力的同时,改变应用及其运维方式。物联网(Internet of Things,IoT)已经开始改变产品或服务的设计、生产、营销、交付和售后支持过程。迈克尔·波特教授预言,第三次信息技术浪潮将“有潜力成为目前为止影响最深远的,相比前两次会激发更多的创新,获取更大幅度的生产收益增长和经济增长”。
企业规划建设面向未来的应用智能运维系统之前,首先要了解未来的应用系统和技术演进趋势。新需求、新技术激发的应用系统交互使用方式和开发运维方式的改变,首先体现在企业交付用户的产品形态上。互联网在已经建立的、面向人与人信息通信的网络的基础上,连接电器、汽车、家居、生产工具等产品,形成物联网。企业生产的产品将逐渐演进成为智能、互联产品。随之改变的人与产品之间的交互方式,以及随之生成的海量数据会推动企业运维方式演进。
如图3-1所示,智能、互联产品演进路线通常可以划分为四个阶段:在第一阶段,通过嵌入计算平台实现智能化控制能力,实现传统产品到智能产品(Smart Product)的升级;在第二阶段,通过植入联网能力,对接云平台服务和其他终端控制设备,产品演化为智能、互联产品(Smart,Connected Product),进一步优化用户体验,提升产品能力;在第三阶段,接入了更多第三方信息系统服务,为产品的智能化决策提供了更多信息,进一步扩展了产品的能力边界,这个阶段的产品称为产品系统(Product System);在第四阶段,产品系统进一步与其他产品系统能力对接,成为更庞大的系统联邦(System of Systems),不同产品系统的能力相互融合、放大,产品价值得以提升。例如,农用机械生产商John Deere和AGCO将拖拉机等农机联网信息化系统,不仅与智能终端设备对接,而且与灌溉、土壤检测施肥、天气预报、农作物价格管理、商品价格趋势预测等第三方产品系统和信息平台对接,以优化耕作流程,提高收益。在智能、互联产品升级之后,农机设备只是整个庞大系统的一部分。多系统通过协作,实现更大的价值。在这个场景下,应用运维不再只围绕独立应用系统解决一个点的问题,而是面向更大的场景,需要复杂的联邦系统协作,需要具备全景监控能力,也需要具备智能化态势感知和风险管理能力的智能应用运维系统的支撑。
图3-1 智能、互联产品演进路线
总的来说,智能、互联产品包含的三个关键组成部分是物理模块(Physical Components)、智能模块(Smart Components)和连接模块(Connectivity Components)。物理模块指产品物理实体存在的部分,如汽车引擎、轮胎,空调压缩机、电源等。智能模块包括状态数据采集传感器、微处理器、数据存储器、控制系统和软件,对应智能网联汽车就是引擎控制系统、下雨感知自动车窗控制系统、车载娱乐系统和汽车辅助驾驶系统。连接模块包括天线、接口、通信协议和信道等,其中,通信方式通常包含三种:一对一通信,即单个产品与用户、厂商和其他产品通信,如汽车通过OBD(OnBoard Diagnostics)接口与故障诊断系统连接;一对多通信,即集中控制系统实时或随需与多个产品连接,如新能源汽车与云端监控系统实时通信以上报电池状态数据;多对多通信,即多个产品之间或产品与多个独立系统之间进行通信,如车与车之间通信、车同时与路侧终端和云端服务通信等。
智能模块是对物理模块能力和价值的延伸。例如,空调、热水器系统通过采集的历史数据来分析判断什么时候需要将室温加热到适合的温度、什么时候需要准备好热水。连接模块通过连接云端能力和终端能力,将终端数据存储、计算任务负载卸载(Offload)到云端,通过云端随需即取的计算、存储能力来放大智能模块的价值。这样,终端就不需要集成昂贵、复杂的数据处理分析系统。通过物理模块、智能模块和连接模块的配合协同,产品价值将循环放大,这同时意味着系统复杂度的提升和运维方式的改变。智能、互联技术与行业应用场景结合,衍生出了新一代数字信息系统(见图3-2中的数字化医院应用、数字银行应用等),也为应用运维的智能化建设带来了特殊的复杂性问题。
图3-2 典型的智能、互联应用
从产品本身的功能和能力看,智能、互联产品区别于传统产品的能力主要体现在四个层级:状态监视、控制、优化和自治,如图3-3所示。每个层级的能力都能在目标场景中体现闭环的价值,并为下一层级能力奠定基础,如状态监视是产品控制、优化和自治的基础。企业在策划升级产品时,不仅要考虑提升产品的用户价值和自身竞争力,同时要为每一层级技术升级带来的运维问题准备解决方案。
图3-3 智能、互联产品的能力体系
1. 状态监视
监视智能、互联产品的运行状态,采集用户行为和外部环境变化等实时数据,是实现智能化管理、控制、优化、运营和运维的基础。不了解产品在用户目标场景中的使用情况和运行状态,就无法实现进一步的智能化改造。状态监视层级能够实现的能力:运行状态监控、运行环境监控、用户行为监控和异常状态检测。应用系统与终端交互的数据主要是状态变化监控数据和告警事件。可以体现的产品价值有故障告警、发现产品缺陷、挖掘用户场景中的新需求以改进产品设计等。例如,对于新能源汽车,目前国家要求其每10秒给云端车厂和国家平台上报一次监控数据,一旦出现电池状态异常或车辆缺陷导致的驾驶安全风险,云端平台可以及时发现和告警;车厂通过对指定型号的汽车历史数据进行分析,可以挖掘目标用户群的使用习惯和驾驶行为特点,从而优化新款车的设计,或者指导充电桩建设地点的规划。
2. 控制
有了状态监视数据,下一阶段建设的能力目标是对智能、互联产品进行控制。通过实现控制能力,产品不但可以更好地适应目标场景用户的使用习惯,获得之前无法实现的可定制性,而且能够进一步简化用户的操控,提升用户体验。控制层级能够实现的能力:产品功能控制、自定义产品用户体验。应用系统与终端交互的数据除了监控数据,还包括控制指令和指令执行之后的结果反馈。例如,汽车的电子车身稳定装置、加速防滑控制系统、防抱死制动系统、刹车辅助系统等可实现车机端控制,简化用户的操控;某些高端车提供的通过手机App控制锁车、开关车窗和空调等的控制能力提升了用户体验;智能家居厂商在灯泡中加入远程控制能力,使用户能够用手机控制设备开关,甚至按需调节明暗和色彩。
对产品的控制可以通过嵌入终端的代码实现,也可以通过部署在云端的集中控制服务实现。终端代码控制响应迅速,实时性、运行可靠性高,因为程序在终端计算机以独占方式运行,不受外部网络连接和远端服务器性能的影响。但是,其计算能力有限,逻辑固定适应性差。云端控制需要产品终端设备与云端保持网络连接,由云端转发控制指令。这种控制方式将终端控制程序运行卸载到云端,降低了终端的硬件成本,但网络时延导致其实时性差、运行可靠性低。采用哪种方式需要考虑具体的应用场景。例如,对于汽车自动辅助驾驶和自动泊车,用云端控制的话实时性不够,风险较大;而对于远程控制汽车空调,因为调节温度并不需要太高的实时性,没有占用终端计算能力实现的必要,所以,用云端转发手机指令到车端更合适。
3. 优化
状态监视和控制层级建设赋予了产品监视和控制的监控闭环能力,为建设更复杂的优化层级能力打下了基础。有了全面和丰富的监控数据,企业可以利用算法从数据中挖掘有用的信息,指导产品性能、稳定性、能效等的优化。优化层级能够实现的能力:产品功能优化、预防性维护、异常检测、故障修复、用户体验优化和使用习惯预测。对于实现了优化层级能力的智能、互联产品,数据交互包含更易于理解的优化目标和产品状态信息。我们只需要设置优化目标,调节相关参数,系统就能够自动生成优化方案,并向相关责任人反馈执行结果和状态信息。例如,在数据中心场景下,我们可以基于实时采集的基础设施温度、空气流动状态、负载、空调状态监控数据来设计数据中心能效优化系统,自动生成优化方案以控制空调的开启和关闭、调节制冷功率和冷风流向、优化数据中心PUE(Power Utilization Effectiveness)指标;对于风力发电机,在实现了对获取电量效率监控和风叶角度控制的基础上,我们可以设计实现通过调整风叶角度来获取最大电能的优化系统。
4. 自治
自治层级的能力整合了状态监视、控制和优化层级的能力,通过智能化进一步解放人脑,从而形成无须人工干预即可应对某些场景特定任务的自治控制系统。自治系统无须人工运维干预。自治层级能够实现的能力:产品自治控制,集群智能协作,自动化配置变更,故障自诊断、自恢复,使用环境自适应和用户使用习惯学习。应用系统与终端的交互数据包含控制程序和执行反馈,如用于修改缺陷或升级自动控制策略的自动控制程序升级包、辅助诊断故障的执行日志等。在指定事件发生时,自治系统能够自动匹配解决方案以应对。例如,在云端部署面向全球提供服务的电商系统,其每天的访问热点地区会随时区变化而变化,当中国地区在白天访问量较大时,处于凌晨的美国地区的访问量就比较低;当美国地区白天的访问量增加时,中国地区的访问量则开始下降,这样就实现了自治控制的云应用,利用遍布全球的云数据中心自动控制热点跟随,当不同地区的访问量增加或降低时,启动或关闭对应地区本地数据中心的负载处理节点以提升用户体验。还有一个具备自治层级能力的智能、互联产品是扫地机器人。利用集成在终端的传感器和计算平台,扫地机器人能够自治地控制地面清洁操作,从而应对障碍物和地形变化。
具有自治能力的智能、互联系统能够应对部分已知故障或突发异常情况,并选择对应的处理策略,从而进一步降低人工参与运维工作的工作量。人工参与监控运维不再需要关注局部组件的具体指标,而只需要掌控全局运行状态和运行效果就行,只有在发生问题时才需要逐级排查问题根源,并调整处理策略。
产品智能、互联化的趋势不但影响着互联网公司和高科技公司的发展战略,而且影响着传统行业,如制造业、医疗、金融等。近几年,宝马、北汽、吉利等车厂信息化建设的速度加快,有些甚至组建了独立的公司和部门做数字化转型,自动驾驶、车与云端实时交互信息、从车端语音控制智能家电,这些已经不是概念了。A.O. Smith公司在热水器产品中植入了传感器,连接云端服务,采集用户的使用习惯数据,结合当地的水质、天气变化,实现了对水温的智能调节,优化了用户关怀服务。迅达电梯PORT科技(Schindler Elevator PORT Technology)公司通过预测电梯的需求模式,计算到达目的地的最快时间及分配合适的电梯,以使乘客快速移动,将等待电梯的时间减少了一半以上。在能源领域,ABB的智能电网技术使其公用事业公司能够分析广泛的发电、变换和配电设备(由ABB及其他公司制造)的大量实时数据,如变压器温度的变化,从而提醒公用事业控制中心可能出现的过载情况,使其进行调整以防止停电。
在智能、互联产品使用场景下,驱动业务的应用系统不再是单纯连接用户和服务的C/S(Client/Server,客户端/服务器)架构或B/S(Brower/Server,浏览器/服务器)架构。数字信息系统应用与用户交互的终端从单纯的计算机、手机扩展到手表、电视、音响、汽车、门锁、空调、洗衣机等各种与我们日常生产、生活相关的物体。应用服务端也经历了从单体架构、垂直架构、SOA架构、Lambda架构、Kappa架构、云原生架构到微服务架构的演进过程。应用运维的复杂度激增,性能和稳定性保障若只是单纯地采集服务节点状态、代码执行链路或网络运行状态,配置告警策略,已经不能满足实际生产场景的需要了。
[1]https:// collectd.org/.
[2]http://ganglia.info/.