Rainbond v5.1.2釋出,微服務架構應用便捷管理和交付
Rainbond v5.1.2釋出,微服務架構應用便捷管理和交付
Rainbond是開源的企業應用雲作業系統,支撐企業應用的開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理IaaS、虛擬機器和物理伺服器。
2019年3月,Rainbond釋出v5.1版本,經過1個月在上百家企業的實際使用,團隊持續跟進版本缺陷,迄今為止釋出了2個BUG修復版本。
Rainbond開源產品的目標是成為企業IT系統的雲作業系統,作為基礎平臺支援各行各業的企業使用者,優化IT軟體開發企業的開發流程和交付流程,做到一站式開發和交付。作為廣大行業IT廠商的合作伙伴,為其提供穩定的、好用的、高效的基礎平臺,服務於行業軟體的架構、開發和交付,Rainbond在這條路上砥礪前行。在V5.1版本中我們引入了以下功能體系來服務使用者。
支援第三方微服務整合和管理
Rainbond在眾多的企業中落地使用的過程中出現了兩類共同的問題:
- 循序漸進的遷移策略,已經上Rainbond的服務如何與遺留服務通訊和統一管理。
- Rainbond應用閘道器很好用,但是遺留的服務沒辦法與Rainbond上的服務共享外網埠或域名。
Rainbond V5.1版本中在提出了第三方服務的概念,即將運行於Rainbond叢集外且與Rainbond可以正常網路通訊的服務稱為第三方服務。對於此類服務,我們支援以靜態註冊、動態註冊(Etcd、Zookeeper、Consule)的方式來獲取第三方服務的通訊地址,賦予第三方服務以下能力:
- 整合Rainbond內建的ServiceMesh架構,與叢集內服務無縫互聯,並提供服務通訊治理功能。
- 整合Rainbond 應用閘道器,統一管理服務外網訪問。
- 運行於不同環境和系統的業務系統統一管理和視覺化,形成完整業務架構。
更多第三方服務的說明和支援情況,見文件: Rainbond支援第三方服務整合
此功能釋出之後,在阿里雲執行Rainbond的企業使用者可以更便捷的對接阿里雲的RDS資源。更加充分的利用雲資源以降低企業維護IT系統的成本。
支援微服務啟動順序
在一個複雜微服務架構下,一些服務必須依賴於另一些服務才能正常工作,如何根據依賴關係處理服務的啟動順序是簡化複雜微服務架構管理的關鍵。
Rainbond實現了根據依賴關係自動處理服務的啟動順序,當被依賴的服務正常工作後,才會啟動後續服務,依次迭代啟動所有服務。
這方面的功能實現主要在體現Rainbond的主要抽象層次,我們比較清楚的是docker的抽象層次是容器級別,kubernetes的抽象層次主要可以認為是服務級別(Pod級別),Rainbond的關鍵抽象層是更高的應用級,特別是微服務架構盛行的今天,服務元件多,對於大多數業務程式都需要手動的控制啟動順序來確保整個業務的正常工作。Rainbond能夠做到能夠做到在應用級整體控制生命週期和其他自動化運維。
此功能釋出後在某工業網際網路軟體企業使用者中創造了較大價值,一個完整的工業網際網路APP開發平臺由20多個服務元件構成,過去他們每交付一個工廠的交付成本需要一個熟練的交付工程師出差除錯大概2天才能基本完成。其中主要的就是需要熟練掌握服務之間的依賴關係,啟動順序,服務配置,這還是建立在他們產品的成熟度已經比較高。後期這一套業務系統交付使用者的運維成本也非常大。當使用Rainbond作為基礎交付平臺以後,他們通過1天的時間將所有服務完整部署的Rainbond併發佈於應用市場。由於Rainbond完整的應用系統生命週期控制和啟動順序控制,實現了完整的工業網際網路APP開發平臺的一鍵部署,10分鐘完成業務可工作。對於終端使用者來說也可以更加直觀的運維管理業務系統。
原始碼構建系統升級
基於原始碼持續構建服務是Rainbond使用者使用最多的功能之一,既5.0版本作較大升級以後,5.1版本繼續帶來升級,在Java、PHP、NodeJS等常用語言方面支援更加完善:
- 增加對NodeJS前端專案原始碼型別的支援,可以部署Vue和React。
- Java-Maven增加maven編譯引數的UI配置。
- 所有Java型別支援OpenJDK版本和OracleJDK版本的UI配置。
- PHP、靜態語言支援UI選擇中介軟體型別和版本。
- 將公共程式碼模組和資源從雲端本地化、更好的支援離線環境下原始碼構建
- 支援服務原始碼型別重新檢測和變更
另外Rainbond對各型別原始碼的支援規範文件進行了更加細緻的描述,請參考 Rainbond原始碼支援規範
從原始碼構建主要服務於開發場景,目前還是有較多的企業開發者出於學習成本無法定義優質的Dockerfile,直接使用Rainbond提供的基於原始碼構建的機制是開發者使用Rainbond釋出服務最易用的方式。
我們從使用者使用中總結髮現目前開發語言最多的依然是Java,因此Rainbond對Java語言支援的持續優化依然是V5.1版本的重點,其中有大量使用者使用的是SpringCloud,因此Rainbond將在V5.1後續小版本中增加直接基於Maven原始碼建立多個服務模組的便捷服務建立方式,進一步提供使用者建立服務的效率。
除了上述提到的Rainbond V5.1版本大的功能變化以外,Rainbond還進行了大量的功能改進和優化。詳細參考:
https://github.com/goodrain/ra ... lease
https://github.com/goodrain/ra ... lease
https://github.com/goodrain/ra ... lease
開始你的Rainbond之旅
你的企業是否也遇到過上文提到的種種影響你的產品開發和交付的效率的問題,不妨使用Rainbond來優化一下你的現有模式和體驗。
Rainbond 安裝參考手冊https://www.rainbond.com/docs/ ... tall/
Rainbond 使用參考手冊https://www.rainbond.com/docs/user-manual/
Rainbond 進階場景手冊https://www.rainbond.com/docs/advanced-scenarios/