分享

什么才是整个GE Predix的核心?关于Predix的五大误解

 lifanci6khkae8 2018-09-27




3

平台篇:Predix Cloud


Predix Cloud是整个Predix方案的核心,围绕着以工业数据为核心的思想,提供了丰富的工业数据采集、分析、建模以及工业应用开发的能力。


由于GE本身是生产大型复杂型工业产品(飞机发动机、燃气轮机、风力发电机、机车等,也就是我们通常所说的高端装备)的企业,所以Predix Cloud的构建也是从GE本身的业务特点出发来,即紧密围绕着离散制造行业里的大型高端装备的设计、生产和运维,提供以工业设备数据分析为主线的一系列能力,方便构建高端装备行业的应用。但是在Predix Cloud发展过程中,由于平台优异的开放性,很多其他行业,包括很多流程制造和服务的客户,也在利用Predix Cloud开发相关应用。


1

平台需要解决的问题


按照我的理解,一个强大的工业互联网平台,需要为工业应用提供强大的支撑能力。它的核心是“能力平台”,需要具备如下的能力:


1)支持多种数据源的接入


不仅包括对各种实时传输协议(MQTT、HTTP/HTTPS、WebSocket、Kafka等)的支持,还需要支持控制系统的直接对接,包括以文件的方式批量导入工业数据;


2)提供针对不同数据源的灵活数据处理功能


工业系统的数据质量很多时候并不理想,不仅需要支持标准的ETL实现数据清洗(特别是针对工业时序数据),还要提供灵活的时序数据处理机制,包括去重、对齐、填充、过滤和汇聚等功能;


3)支持对工业设备数据的元数据管理


需要提供一致化的工业数据管理功能,包括设备层次关系、依赖关系、属性、采集点以及关键指标的定义机制,以保证后续的应用开发和数据分析,都能够以相同的标准开展;


4)提供异构的存储介质


需要提供丰富的存储能力,不仅包括结构化数据库、非结构化数据库,还要支持文件存储、对象存储,以及时间序列数据库;


5)提供强大的工业大数据分析能力


不仅能够支持对工业大数据的统计分析,还需要支持通过建模实现对历史数据的诊断分析、当前状态的评估分析,以及对未来趋势的预测分析;


6)提供快速的算法和模型开发工具


提供低级别的、多种语言的算法开发环境,支持数据科学家开发模型;


提供高效的快速模型开发工具,可利用采集的数据快速构建数据和机理驱动的模型,能够直接生成实时的应用,并提供外部访问的API接口;


7)提供实时分析运行环境


需要提供基于实时数据流的运行环境,支持为构建的实时模型提供可扩展的运行环境,支持根据实时数据实现诊断、评估和预测;


8)支持高效便捷的工业应用开发


需要以DevOps的理念进行工业应用的开发和部署,支持多种开发语言和开发框架,提供包括身份管理、权限管理、设备元数据模型等在内的丰富微服务模块,将复杂的工业应用拆解成细粒度的功能模块,通过集成标准化的微服务、微分析和微应用的方式实现快速的工业应用开发。同时,需要为应用提供弹性扩展的、高可靠的、容器化的程序运行环境。


同时,对于常见的应用场景,提供可视化开发套件,支持工业运营人员构建自定义的监控和分析应用。


9)提供全方位的安全防护


提供从边缘、平台到应用的端到端的安全防护,包括传输加密、设备接入认证和授权、用户角色管理和权限设置、登录连接管理、访问日志审计以及应用层防护在内的多重安全机制;


10)提供开放的架构


能够将平台的各种能力以API的方式开放出来,包括微服务、微应用及模型,支持客户或者合作伙伴利用这些成熟的能力快速开发自己的工业应用。


2

关于Predix的误解


在国内,关于Predix的讨论很多,我们也看到了很多对Predix错误的解读。在介绍Predix Cloud之前,我有必要纠正一下这些错误理解。


1)Predix只是一个平台


正如前面所说,Predix远远不止是平台,包括了边缘 平台 应用三部分,其中边缘和平台都只是配合应用的,应用才是Predix的最终目的。但由于历史的原因,目前基于Predix只开发了一部分的APM应用,相信未来会越来越多。


2)Predix是一个PaaS平台


如果按照PaaS标准的定义,Predix提供了基于Cloud Foundry的开发框架,它具备了PaaS(APaaS,Application PaaS,类似Heroku)的能力。但是Predix最有特点的是将其在工业大数据的分析能力和PaaS开发能力紧密结合在一起,通过微服务的理念,将数据分析和建模的结果,以微服务(微应用)的方式被基于PaaS(Cloud Foundry)开发的应用框架所集成。


3)Predix的核心是Cloud Foundry


Cloud Foundry在Predix Cloud中起到的作用并不高,它只是Predix在早期规划应用开发的框架,但由于Cloud Foundry本身的局限性,它只能提供应用构建和Runtime的能力。不过它很好的奠定了Predix“基于微服务开发微应用”的核心思想。


随着Predix Studio的推出,Cloud Foundry在Predix平台中的比重还会有所下降。


4)Predix只是将原有工业应用云化


Predix针对的不是原有的类似PLM、ERP之类Legacy的工业应用,而是全新的应用场景,即基于工业设备数据分析的新型应用,旨在解决很多传统应用无法解决的效率、质量和成本的问题,如APM针对设备运行效率和预测性维修、OPM针对运营效率等。 所有的应用都紧紧围绕着设备数据来构建,通过Digital Twin的统一的标识以及同设备激励结合的快速分析和建模,实现原有工业应用无法满足的功能。


5)Predix只是针对GE自己的设备


Predix提供了很多基础的算法和模型,仅异常检测就有十几种机制,还有很多文本和图像的处理模型,因此针对的是较为通用的场景,并且提供非常丰富的建模和分析工具。合作伙伴或者客户可以利用这些算法、基础模型和工具,开发针对自己行业特点的分析模型和应用。


6)Predix是针对智能制造的


这次大会涉及的主要是GE在一些重点行业里面的重资产的运维和运营效率的提升,跟智能制造相关的内容比较少。在Predix平台上提供的开发和分析服务里面,与制造相关的服务也相对较少,而PHM(预测和健康管理)的服务则有很多。


3

Predix Cloud概述


毫不夸张的说,Predix Cloud是一个功能异常强大的平台,集成了工业大数据处理和分析、Digital Twin快速建模、工业应用快速开发等各方面的能力,以及一系列可以快速实现集成的货架式微服务。


这是Predix Cloud的完整架构图: 



这张架构图很好的呈现了Predix Cloud的功能构成,主要有如下几个部分:


  • 基础架构

    Predix提供了三种部署架构:公有云(AWS、Azure),私有云(未知),和Country Cloud(没看明白)。所以,Predix Cloud是支持私有化部署的,但是很贵!

  • 安全

    Predix Cloud提供了非常多的安全机制,包括身份管理、数据加密、应用防护、日志和审计等。

  • 数据总线

    这部分包括了数据的注入、处理以及异构数据的存储等功能,支持流数据和批量数据的导入和处理。

  • 高生产力开发环境

    提供包括Predix Studio在内的可视化应用开发环境,支持平民开发者(Citizen Developer)使用拖拉拽的方式快速构建工业应用。

  • 高控制力开发环境

    提供代码级别的开发环境(基于Cloud Foundry),提供可控程度最高的工业应用开发环境,以及一系列可快速集成的微服务;

  • 数字孪生开发环境

    提供快速的建模工具,实现包括设备模型、分析模型以及知识库结合的模型开发。


4

工业大数据分析


Immelt在位期间曾经说过,近五年来全球工业一直维持在1%的增长率,无法通过现有手段实现更进一步的提升,而造成无法提升的主要原因,是因为到现在为止,只是按照我们对工业的理解实现了可控制,但并不能解释很多工业未知的问题,唯有通过数字化才能改变这一切。


Predix的根本,就在于通过精细化的工业大数据分析,来解决很多工业领域未知的问题,实现新的增长。


1

基于Digital Twin的工业大数据分析



Predix最强大的地方是基于Digital Twin的工业大数据分析,即将物理设备的各种原始状态通过数据采集和存储,反映在虚拟的信息空间中,通过构建设备的全息模型,实现对设备的掌控和预测。


Digital Twin概念的提出已经有15年的历史,但是在Predix之前,一直只停留在概念阶段,而GE Predix真正将这个“概念”数字化了,赋予其非常具体的意义,即软件形式(虚拟空间)表现的物理设备或系统(物理空间),也就是我们常常提到的Cyber Physical System。



国内很多人把Digital Twin理解成用3D模型的方式展示物理设备,是非常片面的。GE定义的Digital Twin由三个部分组成:Asset Model、Analytics和Knowledge Base。Asset Model定义设备的属性和指标,Analytics给出对设备过去、当前和未来三种状态的数据分析,而Knowledge Base则结合设备机理给出对设备的判决和洞察。


通过这三部分的组合,我们可以在信息世界中完整的描述出一个物理设备,实现对设备的全面掌控,这才是真正的Digital Twin。


1)Asset Model



Predix Cloud提供了一种设备元数据管理的微服务,叫Asset Service,用以描述设备的组织、地点、归属关系、属性以及管理者等,支持特定场景下强制和定制化的属性定义。


通过Asset Service,可以将一个复杂的工业设备拆解成层次化的模块,并且为每个模块定义出相应的关键属性和关键指标,方便通过可视化的手段进行映射和展示。


2)Analytics 



Digital Twin里面关于数据驱动的模型开发,不仅要实现对当前设备关键采集点的实时展示,更要实现对设备过去历史的理解、当前状态的评估以及未来趋势的预测。


  • 对历史的理解:通过分析历史数据,找到故障的相关性、故障的发生路径等;

  • 对当前的评估:通过基于历史数据的学习和训练,构建评估模型,对当前设备的健康状态进行评估;

  • 对未来的预测:通过历史数据的建模,预测未来的发展趋势及可用生命周期;


Predix提供了大量的工业算法和模块,并提供在线的训练和测试的工具,方便用户开展模型开发。


3)Knowledge Base


Knowledge Base在这次大会上并没有进行正式阐述,大家都不太理解这个词。个人理解认为Digital Twin Knowledge Base是关于设备关键指标的定义方式,即针对设备在不同层次、不同视图上,都会有相应的关键指标,而很多关键指标都是基于机理和数据的模型给出的,而Digital Twin Knowledge Base则完整的描述了关键指标的计算方式、模型来源、输出结果存储方式,以及对应的处理方式等信息。(此处理解如有不当,欢迎讨论、指正)。


2

Predix分析模型目录



GE认为,Digital Twin的构建必须将设备机理模型和数据驱动分析结合起来,缺少任何一个都将有很多问题。

  • 单纯依赖数据驱动的方式进行学习、判决,一定会出现严重的判决错误。

  • 单纯依赖机理模型,只能实现“已知“问题的验证,而不能发现”未知“的问题。


在实际的模型开发和使用过程中,必须将两者结合起来,才能实现更好的效果。


但是模型本身的开发,是一个非常专业和复杂的过程,一般用户并不具备这类的专业能力,因此对模型的使用存在很大的瓶颈。


Predix提供一个模型目录,将GE和合作伙伴开发的各类模型以API的方式发布出来,并提供测试数据,让使用者可以站在巨人的肩膀上,利用现有的模型进行模型训练,快速实现实例化。同时,用户开发的模型也可以发布到这个模型目录中,被更多的客户共享使用。



这里的模型不仅包括常规的异常检测,还包括文本分析、信号处理、质量管控、运行优化等,根据大家公认的工业大数据分析类型,可以将其分为四类,即描述性(Descriptive)、诊断性(Diagnostic)、预测性(Predictive),以及策略性(Prescriptive)。



除了这些分析模型,还有GE提供的超过300个资产和流程模型,这些模型都是跟GE旗下的不同产品相关的,包括各种属性和3D模型,方便客户或者合作伙伴快速构建Digital Twin。按照GE的宣传资料,包括GE自身以及合作伙伴在内,已经构建了数万个Digital Twin。


同时,GE还在Predix“当家花旦级”应用产品—SmartSignal(APM系列中的一个产品)中提供了超过150个针对不同设备的预测性模型。


5

工业应用开发


工业客户通过工业应用来实现对生产过程和设备运维的掌控,因此工业应用实际上完成了最后一步,即人机交互的关键作用。


1

工业应用开发vs互联网应用开发


本人是从IT领域进入工业领域的,从事过一些互联网应用开发,在进入工业领域之前,一直对工业应用的开发怀着崇敬的心理,但是在做了一定的调研和经历了很多项目之后,发现工业应用相对来说存在相当程度的落后性,并存在着一些多年未解的问题,需要利用新的IT技术进行大幅升级,来解决之前悬而未解的问题。


首先,工业应用基本上采用的都是十年前的开发架构,绝大部分工业应用都是直接跑在Windows的单机上(对于很多互联网应用开发者来说,这简直是不可接受的),有一些还在采用连微软都停止支持的模块(居然还遇到过有人认为工业应用比互联网应用更安全)。新架构、新技术在工业领域的应用,实在少得可怜,甚至还有很多人还在争论开源软件是否不安全的问题。


其次,工业应用开发的效率实在太低,动辄数年一个版本,而互联网都已经到了一年数万次迭代的时代。这里面,一方面是因为工业追求稳定性和安全性,另外一方面也不得不说是因为历史的原因,工业领域无法吸引专业的应用开发人员,无法将先进的开发工具、理念应用到工业开发中。


同时,由于工业领域过于琐碎,但是每一个处理环节又需要经验丰富的专业技术人员,不可避免的造成跨专业的人才非常奇缺,无法将不同专业的基础知识通过重用来提高应用开发效率,这与互联网敏捷应用开发的思路截然相反。因此,工业应用基本都是单块化、紧耦合的复杂系统,缺少弹性扩展能力,并且无法保证其单点可靠性;相反,互联网应用却越来越追求松耦合和微服务,希望将一些基础功能服务化实现重用,满足不同场景下的快速定制,并通过微服务的开发架构,来提高系统的扩展性和可靠性。


最后,也是最关键的一点,工业应用并没有跟工业数据分析结合起来。现有的工业应用,只能提供少量的实时工业数据展示,和短期历史数据查询的功能,而无法将海量历史数据的分析和建模的结果结合起来,生成实时的应用,对工业的设备和流程进行实时的判决和预测,因此也就无法实现有效的持续改进。


当然,还有更多的问题,因为篇幅限制,不再一一列举。


可能很多人会争论,工业里面有各种安全性和可靠性的问题,无法采用互联网的方式来重构,而我只能回忆起10年前,当新技术开始进入金融行业的时候,很多人也有相同的顾虑,而现在的金融行业,已经快被互联网化了。


我认为不用过虑,毕竟新的工业应用才刚刚登场,99%的工业应用还没开发出来。想想十年前的互联网应用与现在的互联网应用的差异,就应该能理解了。


2

工业应用开发平台需要具备的能力


一个强大的工业应用开发平台,至少需要具备如下的能力:


1)提供基于数据的应用开发能力


支持统一的数据标准接口,而不是需要应用在不同的业务系统之间独立抽取不同数据再单独整合;


能够针对不同工业应用场景,快速定制工业数据分析结果的可视化;


提供数据处理工作流,支持对不同应用场景下数据处理的灵活支持;


提供开放的数据访问接口,便于对接第三方应用;


2)提供微服务的开发能力


支持构建基于微服务架构的微应用,并支持提供统一的API接入、认证、授权、服务发现等功能,为每个单独的微应用提供弹性扩展的集群部署环境;


3)提供DevOps的开发能力


提供编译、构建、打包、部署等环节的全自动能力,支持根据代码的变化快速实现自动化重构,为开发人员提供便捷的部署环境,实现代码开发所见即所得;


4)提供丰富的货架类微服务


提供包括数据库、消息、身份管理、安全、设备连接管理等通用的工业应用开发服务,使用者只需要订阅,而无需关心服务的提供和运维;平台需要提供包括服务注册、服务发现和服务订阅等服务生命周期管理的功能;


5)提供数据可视化的开发能力


提供基于数据分析的可视化开发能力,支持普通用户通过定义数据源、定制工作流、使用拖拉拽的方式快速构建数据可视化的应用;


6)提供实时的模型运行环境


针对开发出来的模型,提供实时的模型运行环境,可以对实时数据流进行分析,并提供可视化;


3

Predix的应用开发能力概述


Predix的应用开发可以分为三部分:


  • 高控制力开发套件:为高级软件开发工程师提供微服务级别的应用开发能力;

  • 高生产力开发套件:为普通运营和分析人员提供快速应用开发能力;

  • Digital Twin开发套件:提供Digital Twin的开发支持;


第三点在前面数据分析阶段已经介绍了,这里重点解释前两点。


4

高控制力开发套件: Predix App Engine


这是Predix早期刚推出应用开发能力时候的基础框架,即基于开源框架Cloud Foundry的开发架构,主要包括两个部分:


  • 基于Cloud Foundry的开发环境和运行时;

  • 服务目录


1)基于Cloud Foundry的开发环境和运行时


下面是Cloud Foundry的技术架构,其核心实现的是从代码编译到部署完成应用的完整过程,并提供了一部分包括负载均衡、账户管理、存储的基础服务。



Cloud Foundry提供了丰富的命令行,支持代码的上传、下拉、构建以及绑定服务等操作。同时,针对应用完成部署之后的运行,提供基于容器的弹性扩缩能力。


关于这部分,我个人觉得Predix做的并不好,只是将Cloud Foundry的能力原封不动的搬过来,如果参考Heroku和一些CI/CD的平台,可以将这部分的开发过程变得更简单和自动化,方便开发者使用。


2)服务目录


如果PaaS平台只是提供Cloud Foundry的基础能力,对代码开发者来说是没有吸引力的,因为编译、打包和部署的工作,对于代码开发者来说只是Nice to Have的工具,并不能降低开发的难度和工作量,而真正提升开发进度和降低开发工作量的,是围绕核心代码的外部服务重用,甚至核心功能的重用。


因此,基本上所有基于Cloud Foundry的商业化PaaS平台,包括Predix和Bluemix在内,都进行了大幅度的扩展,丰富了其服务目录。


Predix提供了包括数据库、数据管理、资产管理以及存储和消息在内的多种服务,如下图所示。



对于开发者来说,只需要订阅相关的服务,获得服务的访问密钥和访问接入点,就可以使用该服务,通过将数据或指令发送到该服务,获取处理结果,无需关注服务本身的运行和维护,极大的降低了对开发者的能力要求。


5

高生产力开发套件:Predix Studio


虽然Predix App Engine原则上可以构建任何类型的、复杂的工业应用,但是仍然需要依赖专业软件开发人员通过写底层代码才能实现,而且往往是需要对工业有一定理解能力的开发人员。


在工业里面,正如我前面所提到的,很难有“两全其美”的开发人员,即使有,也不是一般的工业企业所能奢望的。这种局限性,造成了Predix曲高和寡的局面。虽然Predix能力很强,但是针对很多应用场景,仍然需要Predix自己的开发人员或者专业合作伙伴替客户开发应用,很难实现高效的目的。



在这次大会上,Predix预览了一个工业应用的可视化开发套件——Predix Studio,该服务将于2018年第一季度上线。基于Predix Studio,平民开发者(Citizen Developer)可以通过自动化的数据集成、拖拉拽式的开发以及快速发布的机制,快速构建工业级的交互式应用。


Predix Studio提供基于“少量代码”(Low Code)理念的应用开发平台,并提供了自动化的数据集成及很好的应用扩展架构和非常便捷的部署架构,能够极大的加快工业应用开发的速度和效率。


更多独家观察和原创文章,造奇新媒体,为您奉献真知灼见。详见:截止2017年7月7日的历史[分类]文章链接




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多