許亞倩
在工業互聯網領域,由于工業知識瑣碎、工業應用復雜度高等問題,業內人士普遍認為,使用微服務架構將成為開發工業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、資源配置、擴展標準等,推動微服務組件在國內外平臺以及國內在建的十幾個平臺間實現流通共享。