


[摘? ? 要] 首先分析了核電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.