工業微服務架構為工業互聯網平臺的知識轉化和復用提供了最佳技術手段,算法、模型、知識等模塊化組件能夠以“搭積木”的方式被調用和編排,實現低門檻、高效率的工業App開發。
微服務最早由Martin Fowler與James Lewis于2014年共同提出,微服務架構風格是一種使用一套小服務來開發單個應用的方式途徑,每個服務運行在自己的進程中,并使用輕量級機制通信,通常是HTTP API,這些服務基于業務能力構建,并能夠通過自動化部署機制來獨立部署,這些服務使用不同的編程語言實現,以及不同數據存儲技術,并保持最低限度的集中式管理。
一什么是工業微服務
工業微服務是工業互聯網平臺的載體,是以單一功能組件為基礎,通過模塊化組合方式實現“松耦合”應用開發的軟件架構。一個微服務就是一個面向單一功能、能夠獨立部署的小型應用,將多個不同功能、相互隔離的微服務按需組合在一起并通過API集實現相互通信,就構成了一個功能完整的大型應用系統。以產品生產為例,就可將其拆解為供應鏈管理、設備運行狀態可視化、生產排程、產線數據分析、操作記錄等多個微服務功能模塊。
在工業互聯網領域,由于工業知識繁雜、工業應用復雜程度高等問題,業內人士普遍認為,使用微服務架構將成為開發工業APP的主流方式。國外主流的工業互聯網平臺,如西門子的Mindsphere、施耐德Eco Struxure等,都通過云平臺支持工業微服務組件的開發、部署和管理,從而達到簡化工業APP開發的目的。
二工業微服務架構和傳統開發模式區別
先來看看傳統的web開發方式,一般被稱為Monolithic(單體式開發)。所有的功能打包在一個 WAR包里,基本沒有外部依賴(除了容器),部署在一個JEE容器(Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有邏輯。
單體架構(Monolithic)優缺點
微服務架構與單體架構相比較,微服務架構恰恰彌補了單體架構的不足,通過有效的拆分應用,實現敏捷開發和部署:
1、由多個獨立的微服務共同組成系統
2、微服務單獨部署,運行在自己的進程中
3、每個微服務為獨立的業務開發
4、分布式管理
5、非常強調隔離性
關于微服務的一個形象表達:
X軸:運行多個負載均衡器之后的運行實例
Y軸:將應用進一步分解為微服務(分庫)
Z軸:大數據量時,將服務分區(分表)
三工業微服務架構的特點
之所以主流的工業互聯網平臺都將微服務架構作為開發工業APP的主流方式,是因為微服務架構與傳統的架構相比,具備兩個顯著特點:
1、工業微服務開發和維護具有高度靈活性
每個微服務可以由不同團隊運用不同語言和工具進行開發和維護,任何修改、升級都不會對應用的其他部分功能產生影響;而傳統的統一整體式框架下對軟件的任何修改都有可能對整個應用產生意料之外的影響。
2、工業微服務運行去中心化分布式執行
不同微服務能夠分布式并行執行,應用資源占用率相對較小,且微服務間的數據和資源相互物理隔離,單個服務的故障只會導致單個功能的受損而不會造成整個應用的崩潰。
四微服務支撐工業互聯網平臺顛覆創新
1、工業微服務顛覆傳統工業軟件研發方式
在企業里,CAD、CAE、DCS、MES、ERP、SCM等傳統工業應用軟件往往是面向基礎的流程或服務進行設計和研發,并在部署階段根據用戶實際情況進行調整,整個軟件研發的成本投入較大、研發周期較長,且不能靈活地響應用戶個性化需求。而在工業互聯網平臺中,則可采用工業微服務的方式將上述軟件拆解成獨立的功能模塊,實現對原有生產體系的解構,隨后在平臺中構建起富含各類功能與服務的微服務組件池,并按照實際需求來調用相應的微服務組件,進行高效率和個性化的面向用戶的工業App研發,整個軟件研發的技術門檻和投入成本大大降低。原來需要專業團隊和雄厚資金支持的精英化軟件研發開始向大眾化研發轉變。
2、工業微服務打破工業知識封閉傳承體系
過去,工業領域中很多經驗知識都停留在老師傅、老專家的腦子里,由于個人精力和地域空間的限制,這些經驗知識通常只能在很小的范圍里發揮作用,而且還存在易出錯、易流失、難推廣、難傳承等問題。如今,當這些老師傅、老專家將自己的經驗知識用軟件代碼的方式固化下來,轉化為平臺中的工業微服務之后,由于平臺所具備的積累沉淀和開放共享特性,這些經驗知識就變成了整個企業、整個行業的寶貴財富,能夠被更多的人分享學習和使用,創造出更多的價值。同時,新的專業技術人員還能夠在充分消化吸收原有知識的基礎上實現進一步提升和創新,推動整個工業知識體系的傳遞延續和迭代更新。
3、工業微服務創造全新平臺開放價值生態
隨著工業互聯網平臺中微服務組件池的構建和行業經驗知識的持續積累,整個平臺既能夠為廣大第三方開發者提供眾多低門檻、易操作、高效率的開發支持手段,形成以工業App開發為核心的平臺創新生態,也能夠為制造業用戶提供以工業微服務為基礎的定制化、高可靠、可擴展工業App或解決方案,形成以價值挖掘提升為核心的平臺應用生態。最終,構建出以工業互聯網平臺為橋梁、以工業微服務為載體的相互促進、雙向迭代生態體系。
五工業微服務在工業互聯網平臺的作用
工業微服務實現機理模型算法的模塊化、軟件化,支撐工業互聯網平臺中的工業App開發運行。在工業互聯網平臺中,工業微服務正發揮著承上啟下的關鍵作用。
1、獨立調試、運行和升級,提升易用性和可維護性
基于不同行業、不同領域經驗知識所提煉出來的各類原始機理算法模型通常缺少對外調用的接口,也往往難以進行獨立的調試、運行和升級,需要用工業微服務的方式將這些機理算法模型集成起來,封裝成可獨立調試運行的單一功能或服務模塊,提升易用性和可維護性。
2、滿足工業APP快速運維、持續迭代和個性化定制的需要
在工業互聯網平臺中基于工業微服務模塊進行工業App開發,既能夠借助工業微服務并行開發、分布運行的特點,有效發揮平臺海量開發者接入、資源彈性配置、云化部署運行等優勢,又能夠利用工業微服務獨立隔離、靈活調用的特點,克服工業App所面臨的快速運維、持續迭代、個性化定制等問題。
3、無需專業知識,平臺調用工業微服務開發工業APP
工業互聯網平臺發展的核心目標是通過行業經驗知識的積累沉淀和復用推廣來帶動產業整體水平的提升,并打造繁榮創新的開放價值生態。而工業微服務能夠將專業知識和IT技術融合起來,變成不需要關心實現細節的“黑盒”,開發者甚至不需要任何專業知識,就可通過調用平臺中各類工業微服務的方式開發出解決行業問題的工業App。
4、工業微服務具有通用化共享能力,便于復制和應用推廣
在此基礎上,平臺將原來處于企業內部的封閉性專業能力轉化為面向行業和社會的通用化共享能力,實現在工業微服務能力復制和應用推廣,從而成為服務行業、服務區域的發動機和助推器。
六結語
工業微服務本質是經驗知識的軟件化和工具化,借助專業化的工具打造通用化的平臺。工業微服務架構為工業互聯網平臺的知識轉化和復用提供了最佳技術手段,算法、模型、知識等模塊化組件能夠以“搭積木”的方式被調用和編排,實現低門檻、高效率的工業App開發,驅動了工業軟件開發方式的變革,促進了平臺創新生態的形成,工業微服務能力構建已經成為當前工業互聯網平臺發展的首要任務。
-
數據存儲
+關注
關注
5文章
977瀏覽量
50953 -
工業互聯網
+關注
關注
28文章
4323瀏覽量
94165
原文標題:工業微服務實現工業APP高效開發和運行
文章出處:【微信號:IndustryIOT,微信公眾號:工業互聯網前線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論