打造工联网微服务生态的三个着力点
2018-11-26许亚倩
许亚倩
在工业互联网领域,由于工业知识琐碎、工业应用复杂度高等问题,业内人士普遍认为,使用微服务架构将成为开发工业APP的主流方式。国外主流的工业互联网平台,如GE的Predix、西门子的 Mindsphere、施耐德的EcoStruxure等,都通过Cloud Foundry云平台支持工业微服务组件的开发、部署和管理,从而达到简化工业APP开发的目的。
事实上,随着工业互联网时代的来临,工业微服务组件已成为工业互联网平台的核心资产,构建微服务核心生态已成为工业互联网竞争的新高地。GE的 Predix平台在工业微服务领域处于国际领先水平,其经验能够为提升我国工业微服务能力提供有效借鉴。
Predix部署先进微服务生态的经验
● 完善业务层,提供丰富的工业微服务组件资源。
微服务组件是工业互联网平台的核心资产,也是国内外各大主流工业互联网平台的重点建设方向之一。Predix平台以业务为导向,为满足不同场景下解决方案的快速定制,为合作伙伴和用户提供了丰富的微服务组件资源。目前,Predix平台对用户开放的微服务组件达上百个,服务范围覆盖资产服务、数据服务和分析服务。
● 夯实支撑层,提供便捷的微服务管理功能。
大量微服务组件导致了管理及调用的复杂性,特别是在微服务组件数量极多的情况下更为明显,因此,为用户提供微服务管理功能至关重要。Predix为开发者提供目录、分类和编排等功能。目录用于管理所发布的微服务组件。微服务组件开发者可以通过REST API和UI将元数据(Metadata)添加到目录条目中以方便用户搜索;工业应用程序开发人员可以根据特定分类浏览或搜索分析。分类是对目录中托管的微服务组件根据其位置进行分类。这为相关微服务提供了结构化方法,且有助于分析检索。编排是执行微服务组件间的协调工作。通过编排,系统会根据规则、定时器和事件处理分析对一系列微服务进行调度。另外,编排还能够定义微服务之间的数据流,使一个微服务的输出成为另一个微服务的输入。值得注意的是,为微服务提供编排功能是Predix平台的独特之处。
● 强化安全保障,提供多维度保障的工业级安全。
微服务开发及运维的安全保障至关重要,既要建立安全的开发环境,又要保障微服务组件构建工业应用程序的运行安全。Predix平台提供开发和运行安全流程、持续监控、应用级别安全服务。开发运行安全流程保障安全的开发环境。
我国工业微服务发展存在三个问题
● 认识片面化、理解简单化。
一是对微服务认识的片面化。不少企业认为,使用微服务可以将所有工业技术原理、行业知识、基础模型进行模块化,过于强调知识的复用性,而忽略了其“服务”的本质。二是对微服務架构理解简单化。不少企业认为,工业微服务组件通过组合即可构建工业APP,对于工业软件使用微服务架构重写、开发及组件间的轻量级通信难度估计不足。三是对微服务期望过高,将工业领域应用程序上云重写及工业APP开发的不确定性全部交给未来的微服务架构。
● 建设能力落后, 盲目性、零散化发展。
一是整合控制系统、工业资产、通信协议、管理工具、专业软件等各类资源的能力不足。根本原因在于我国工业技术基础薄弱,工业机理、工艺流程、模型方法方面的经验和知识积累不足。二是微服务资源池覆盖面不够广泛,同质化现象比较严重。三是微服务开发的业务导向性不强。国外平台微服务的构建一般是业务导向性。
首先对业务进行服务化拆分,对业务域进行横向拆分,对功能进行纵向拆分,再梳理和抽取可利用微服务构建的核心功能模块和公共功能模块。但由于业务不发达,我国工业互联网平台微服务资源池存在为建设而建设的问题。四是缺少专注工业微服务开发的创新企业。国外有第三方协助工业互联网平台共同完善微服务组件资源池,比如SAP、IBM等解决方案提供商,Atos、Evosoft、Cisco等系统集成商,Uptake等工业APP开发商等,而国内几乎还没有专注工业APP和微服务的创新公司。
● 管理保障不配套,核心生态不完整。
一是工业互联网平台没有配套管理工具。缺少分类、目录和编译功能,会影响用户复用微服务,这一问题随着微服务数量的增加将更加明显,并反过来影响工业互联网平台上微服务的发展。二是缺少良好的监控工具,这是造成服务中断的重要原因之一。在微服务架构中,如果无法知晓系统的状态,在系统故障时会导致最终的失败。三是缺少配套的安全保障措施。对我国大部分工业互联网平台而言,针对微服务的安全保障还未提上日程,缺少针对细粒度的认证和授权的基本功能,更缺乏在部署之前建立基准并突出潜在安全问题的能力。
几点建议
● 强化技术支撑, 提高微服务开发核心能力。
一是针对微服务架构在工业互联网领域的应用,研究优化解决方案。面临的问题包括计算效率、异步通信、边界划分、版本管理和升级协调等。二是针对支撑业务层的服务管理和安全保障功能进行研发。服务功能包括持续集成、DevOps、端到端的交付、解耦、负载均衡、服务注册、服务发现和服务订阅等;安全保障功能包括认证、授权、准入、预警告警、日志、监控、通知等。三是抢先展开测试技术的研究。微服务的测试包括单元测试、接口测试、集成测试和行为测试等,这些技术能够保证微服务组件的高可用性,更重要的是,能为以后的标准研究工作提供基准。
● 提倡业务导向, 集聚多主体推动资源池建设。
一是鼓励业务导向性开发。以解决实际业务问题为核心,梳理和抽取核心服务和公共服务,立足实用性角度,触发微服务动能。二是大力支持 IT企业、OT企业和CT企业联合建设微服务资源池。IT企业、自动化供应商提供底层云平台和智能传感器支撑,加强数据服务和分析类微服务开发;OT企业提供工业知识,助力资产服务类微服务开发;CT企业提供微服务轻量级通信支撑。三是构建微服务开源的开发者社区,形成创新生态。打造完整的开发环境及社区,吸引并鼓励开发者进行应用开发及技术经验交流共享。
● 进行生态引领,创新组织管理方式。
一是成立面向工业互联网平台的跨领域行业组织,对微服务实行统一管理措施,完善上线审核机制,保证微服务组件快速上线。二是成立微服务测评机构,保障可靠性,对微服务组件接口、数据应用、异步通信、可靠性等进行测评。三是建立跨平台的微服务以及工业APP开发沟通协调机制,建立统一的微服务商店,提高微服务使用效率,避免重复开发。四是建设面向微服务的行业标准,规范面向应用程序的API、资源配置、扩展标准等,推动微服务组件在国内外平台以及国内在建的十几个平台间实现流通共享。