基于微服务架构的核电EAM云平台研究
来源:用户上传
作者:张亮
[摘 要] 首先分析了核電EAM功能组成,在比较微服务架构和单体架构基础上,阐述了核电EAM微服务应用的典型架构和访问过程。核电群堆管理理念与EAM云服务平台特点在一定程度上具有相似性,将多租户模式下的核电EAM云平台与微服务架构融合,提出了基于微服务架构的核电EAM云平台,重点描述了EAM云平台持续交付中心,以期为核电企业EAM自主化提供参考和借鉴。
[关键词] 微服务架构;核电;EAM;云平台
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 05. 044
[中图分类号] F270.7 [文献标识码] A [文章编号] 1673 - 0194(2020)05- 0101- 04
0 引 言
核电是核工业产业链的重要组成部分,是一种清洁、高效、安全的能源,对确保能源安全、优化能源结构、提高能源质量、实现人类可持续发展有着不可替代的作用。根据中国核能行业协会数据显示,2018年以来我在建核电项目密集投产,截至2018年12月31日,我国共有 44 台商业运行核电机组、12 台在建核电机组、19 座民用研究堆(临界装置)。通常EAM(企业资产管理系统)是面向资产密集型企业的信息化解决方案总称,是以企业资产管理为核心的商品化应用软件。国内较多核电运行机组采用了SAP、Maximo、Ventyx等套装软件,通过产品配置和二次开发完成EAM系统实施,定制开发和运维成本相对较高。
随着“云、大、物、移、智”新一代信息技术蓬勃发展,国家出台了推动企业上云等一系列文件[1],全球权威的咨询与服务机构IDC发布了2019年云端资产密集型EAM应用供应商评估报告,EAM上云已经成为企业节约应用系统成本,促进企业资产管理提升和业务流程整体协同的重要工具。另一方面,当前国际贸易摩擦仍在继续,网络安全形势依然严峻,研究自主可控云EAM对核电企业安全生产管理具有重要意义。通过自主研发,融入我国核电300多堆年的良好运行管理理念和实践经验,打造完全自主的核电企业EAM云服务平台,已经被核电集团企业逐渐提上日程。
1 核电EAM微服务应用架构
1.1 核电EAM功能组成
核电EAM是以运行核电机组资产、设备台账为基础,以工单的创建、审批、执行为主线,以提高运行核电机组资产利用率和降低资产运营维护成本为根本目标,覆盖工作管理、运行管理、辐射防护、行动跟踪、文档管理、设备及变更等众多核电业务领域。核电EAM经过多年的建设,已经从支持单电厂的生产管理过渡到适应多电厂多机组统一管理、群堆管理业务模式,EAM系统主要功能如图1所示。
1.2 微服务架构与单体架构
单体应用非常复杂,导致维护、升级和扩展新功能都非常困难;如果要更新它的某个部分,需要重新部署整个应用;相同业务需求因业务管理条块分割、管理边界重叠交叉、管理方式各异等原因导致系统功能重复建设等。微服务架构的出现为这些问题找到了解决途径,分而治之、模块化开发的思想能够有效支撑核电EAM云服务平台的建设。基于独立业务单元的拆分形成松耦合、高内聚的自治服务单元,借助轻量级的容器及通信机制,建立起可独立运行的服务实例及服务间耦合关系,通过横向弹性扩容及缩容和负载均衡技术,确保强负载下的高可用,借助完善的治理体系和权限认证,实现监控及安全控制,从而建立起符合开发运维一体化(DevOps)可快速迭代开发部署的软件架构体系。
相对于过去的单体架构,微服务业务开发首先面临的问题是业务功能拆分。除了组织架构和技术取舍,领域知识是另一个非常重要的决策因素。对于不熟悉的业务领域,很难第一次就把各个微服务的边界和接口定义正确,一旦开始开发,重构成本就会非常可观。反过来说,当对领域知识有了一定的积累,再重构一个单体应用就会容易得多。
除此之外,微服务架构需要考虑的问题,包括API Gateway、服务间调用、服务发现、服务容错、服务部署、数据调用。一个传统的单体应用可以通过ACID(原子性Atomicity,一致性Consistency,隔离性Isolation,持久性Durability)事务来强制业务规则从而实现一致性。在微服务架构中我们无法通过这种方式管理数据的一致性,一种比较常见的做法就是使用分布式事务来实现数据的一致性。
1.3 核电EAM微服务应用架构
借鉴企业级微服务参考架构[2],将EAM单体应用拆分成多个体量小的微服务/微应用,每个微应用根据需要实现负载均衡部署。微服务架构对工作管理子系统和辐射防护子系统中可能会交叉使用的数据进行统一管理和维护,如工作申请模块、工单准备模块、RWP许可模块等,当某一子系统需要调用该部分数据时,可以直接通过微服务网关去访问对应数据,免去了多余的请求和响应过程,大大提高了响应速度,同时微服务架构内部自成体系,实现软路由和负载均衡。
基于微服务架构的EAM应用架构示例如图2所示,来自外部的请求可能是移动端、PC端等多样化、普适的应用终端及其他云服务;网关是外界系统和EAM云服务平台的一道门,所有的客户端请求通过网关访问EAM后台服务,如高并发访问,服务网关等可以集群形式部署。经过服务网关之后的请求到达微服务应用,微服务也可以划分为前端服务(也叫边缘服务)和后端服务(也叫中间服务),前后端分离架构是现在软件开发的热门技术之一。前端服务是对后端服务做必要的聚合和剪裁后对外提供服务,所有的服务启动时都会到注册中心进行注册,服务之间会有错综复杂的依赖关系。微服务有很多依赖配置,某些配置参数在服务运行期间可能还要动态修改,需要搭建一个动态配置中心服务支持微服务动态配置。单体应用使用同一数据库数据耦合度高,分库分表时对代码改造复杂度提高,微应用可采用独立数据库,适应不同业务特性。 在前端界面层,选取工作管理子系统和辐射防护子系统为例,在微服务层(业务中台层)工作申请(WR)转成工单(WO)后,即WR微应用和WO准备微应用之间发生了请求/响应关系,同样在WO准备过程中可能需要交叉引用辐射防护许可证(RWP)信息。在数据层,每个微应用可对应一个独立数据库,例如WR信息数据库、WO信息数据库、RWP信息数据库等。
2 核电EAM云平台架构
2.1 核电EAM云平台总体架构
核电EAM云服务平台定位于提供核电集团企业级的生产管理系统服务,同一核电集团下各个核电厂用户,甚至多个核电集团能共享同一云平台。随着运行机组的增加及业务需求的不断标准化,核电群堆管理理念与EAM云服务平台特点在一定程度上具有相似性,核电群堆管理需要有一个天然的云化的架构。通过同一平台访问应用实现实时的核电厂生产运行管理,同时云平台能提供应用的快速部署服务、统一管理服务、资源共享服务等。按照云计算服务模式将核电EAM云平台划分为基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)的三层服务体系[3],如图3所示。
(1)SaaS层
基于云平台的核电EAM需管理的业务模块众多,对于核电厂内部的工作管理、运行管理、辐射防护管理等不公开模块置于私有云上,以提高企業内部的数据安全管理效率。在EAM公有云上,需要部署接口服务以及核电运行在线服务等,接口服务包括了移动端服务、核电企业上下游接口服务等,可以放在公有云上发布核应急、经验反馈、公众沟通信息服务等。故需采用公有云与私有云相结合的方式部署核电EAM系统,为核电厂提供EAM SaaS服务。
(2)PaaS层
传统的PaaS层服务包括数据库服务、中间件服务、存储服务等,以及为应用系统提供角色权限、工作流、消息等通用服务。PaaS层应实现多租户模式为不同核电厂提供平台服务,EAM多租户是指将系统同时租给多个核电厂使用,各核电厂共同使用同一硬件基础设施和软件平台,各核电厂之间既可共享数据,又要保证各电厂信息不重叠,这就要求数据既有隔离功能又有共享功能。运行在同一个实例上的多租户不可避免地要共享资源,这就要求租户间的资源访问隔离,其数据隔离设计至关重要[3]。以工单预防性维修为例,预防性维修是EAM的基石,工单预防性维修配置各家电厂并不相同,必须做到各电厂配置数据隔离。
(3)IaaS层
在IaaS层,利用虚拟化技术将计算、存储、网络等资源有机结合,使整体IT环境比单独的物理硬件资源具有更高的适用性、可用性和效率,除了满足EAM业务向云计算环境迁移、对外提供EAM基础环境服务以外,还可以满足企业构建企业云数据中心提供核心的虚拟化技术和能力,满足企业对于降低成本、简化管理、提高安全、敏捷支持等诉求。
2.2 基于微服务架构的核电EAM云平台
将微服务架构与云计算平台融合,构建基于微服务架构的EAM云平台如图4所示,包括了所有微服务应用、平台服务、基础设施服务。将PaaS平台提供的服务分为三类,即EAM应用管理服务、平台通用服务以及容器服务。EAM应用管理服务主要指微服务注册与发现、调用管理、负载均衡等微服务管理,不仅仅提供应用模块的健康监控和管理,也提供对应用的构建日志、部署日志、运行日志等采集、查询、分析功能,以便做好后续微服务模块的应用性能分析,应用监控和故障处理。将权限、流程等服务归纳到平台通用服务类别。
容器服务与微服务应用有天生的融合性,基于微服务框架完成微应用的开发、测试、构建之后,提供应用给PaaS平台的容器,微应用在开发过程中的调试工作以及系统上线后的部署、运维工作由持续交付中心承担。持续交付中心实现了开发运维一体化(即DevOps),DevOps也是微服务和Docker的最佳拍档,没有持续化的开发和部署,就无法充分利用微服务的自完善、自升级的特性,而这正是采用微服务解决多变业务需求的出发点之一。利用DevOps的灰度部署方式,实现在不停机情况下,借助流量引导、环境切换及局部部署、逐步更新实现整体升级。系统开发团队利用微服务的自治性,分拆成微服务小组进行持续开发部署,达到功能敏捷适应业务变化、快速迭代升级的目标。
EAM云服务平台通过集成基础设施服务、平台服务以及软件服务,统一对各电厂提供业务应用服务,EAM云架构的价值主要体现在:实现EAM资源统一对外服务,提升EAM资源的集约化管理和按需供应能力;实现应用由手工部署到自动部署的转变,缩短EAM系统上线周期;实现EAM应用故障快速恢复和资源自动在线伸缩,保障微应用运行质量;实现SaaS应用和其他API支撑能力,满足业务组合的创新应用[4]。
3 总 结
本文提出的EAM云服务平台本质上是面向核电行业的SaaS应用,在于为核电EAM国产化提供了一种可参考和借鉴的思路。进一步以EAM SaaS应用为引领,基于“云大物移智安”等新技术构建核电PaaS平台,包括云开发平台、云部署平台、云集成平台、云运维平台等。在自主可控方面,融合安全保密标准规范,支持与国产基础软件的适配,支持内存计算、人工智能和大数据等。作为云端部署的EAM系统,可以向核设施以及其他资产密集型行业提供服务,同样EAM可以成为工业互联网平台的一部分,借助工业互联网平台发展机遇在行业内推广应用。
主要参考文献
[1]工业和信息化部.推动企业上云实施指南(2018-2020年)[EB/OL].[2018-08-10]http://www.miit.gov.cn/n1146295/n1652858/n1652930
/n3757022/c6309203/content.html.2018-07-23.
[2]王继业.企业级软件生产线2.0——国家电网云研发平台及应用[M].北京:电子工业出版社,2018
[3]李翠平,张佳,钟媛.基于云计算和工作流的煤矿设备管理EAM系统[J].工程科学学报,2015,37(4):528-534.
[4]杨俊伟,纪鑫,胡强新.基于微服务架构的电力云服务平台[J].电力信息与通信技术,2017,15(1):8-12.
[5]张亮.核反应堆数字化设计全面集成模型研究[J].计算机应用与软件,2019,36(8):111-114.
[6]李春阳,刘迪,崔蔚,等.基于微服务架构的统一应用开发平台[J].计算机系统应用,2017,26(4):43-48.
[7]张亮,高明.信息化环境下数字化核电厂三维结构模型及其解决方案[J].电器工业,2017(2):66-69.
转载注明来源:https://www.xzbu.com/3/view-15142178.htm