首頁 > 軟體

解析rainbond以應用為中心的架構設計原理

2022-02-28 19:00:21

前言碎語

今天博主安利一個國產開源的無伺服器容器雲平臺,關注它已經有一年多了,雖然其迭代到現在很多功能還是一直處於測試驗證中,但是其設計理念以應用為中心,我覺得這個是未來的趨勢。

其實以docker+k8s這種架構也是一種以應用為中心的架構,rainbond底層深度整合k8s,為使用者提供雲原生應用全生命週期解決方案,構建應用與基礎設施、應用與應用、基礎設施與基礎設施之間互聯互通的生態體系,滿足支撐業務高速發展所需的敏捷開發、高效運維和精益管理需求。

github:https://github.com/goodrain/rainbond

一、雲端計算的發展

回顧雲端計算產業與技術的發展路程,物理計算叢集逐步被IaaS層虛擬化取代,國內例如阿里雲,騰訊雲等IaaS廠商佈局多年。IaaS層解決了資源提供者與使用者的耦合問題,對於使用者來說只需要選擇使用什麼作業系統,分配多大資源上限即可,一定層度上降低了使用者交付應用價值的難度。

但是,使用者依然需要重複得進行作業系統運維,環境與應用運維,技術難度依然很高。近兩年,以Docker、Kubernetes為代表的容器與容器編排技術盛行,其實際上是將虛擬化進一步上移,更加面向應用,可以說容器化是對應用的虛擬化。在這樣的基礎上使用者創造和交付大規模業務系統變得更加簡單。

我們認為,雲端計算的發展更多的是讓大部分公司和人群只需要關注和創造業務系統,關注業務邏輯,而不是將大量時間和人力投入到複雜的,重複的計算資源維護上,因此只是容器化還不能達到這個層次,我們希望將雲端計算推向到下個階段:應用管理階段,呈現出兩個產品,無伺服器PaaS和雲原生SaaS。

二、企業價值與IT

上文我們提出了應用管理的概念,那麼應用管理對於我們大多數企業IT有多大的價值呢?

對於大多數IT企業和網際網路企業,企業價值的直接體現在於創造的應用或運營的應用本身,也就是說在業務本身上。然而我們都知道,一個業務系統需要執行,必須得搭建執行環境,考慮網路、儲存、設定、負載均衡、安全等等一系列複雜的計算資源管理問題,而且每一次系統搭建都重複得進行,往往在這些問題上花費大量的成本。

我們在應用與計算資源管理這兩者之間增加一層應用管理(無伺服器PaaS和雲原生SaaS),完全以應用為中心進行設計,將應用與計算資源解耦,應用管理之上,開發或使用人員只需要關注業務設計,編碼,測試,上線流程環,應用管理平臺自動化完成從原始碼到雲端執行的複雜流程。

開發者無需再面對底層計算資源的管理複雜性,也就解除了對傳統的運維人員的依賴,同時對於運維人員,只需要在平臺自動化資源管理的基礎上維護資源池穩定,兩者責任清晰,邊界清晰,天然的解決了DevOps問題。經過與大量使用者溝通實踐後我們發現,應用管理成為了提升企業IT能力的關鍵。

三、服務模式

完整的應用管理方案包括:

  • 北向的應用抽象管理
  • 南向的計算資源管理

Rainbond產品按照這樣的設計思路應運而生。在應用管理方面,我們設計了應用抽象模型,面向企業IT系統和基礎應用,例如網際網路類應用,行業類應用,物理網類應用以及巨量資料技術類應用等。

針對微服務架構的支援,除了相容已有的微服務架構以外,原生提供了Service Mesh架構的支援,對上訴多種型別的單體應用,新老應用實現規模化整合,對各型別應用提供標準的、完整的功能支援。

當然,不同的應用在高階需求上是不同的,例如MySQL需要熱備份,外網存取應用需要防火牆等等需求我們設計了應用外掛體系,對應用功能進行差異化,無侵入式擴充套件。

在計算資源管理方面,對不同的計算資源進行統一的池化,軟體定義,提供標準的計算服務。除了在公有云端計算資源之上,目前我們嘗試了在地方IDC廠商,企業私有已有的x86-64架構計算資源之上搭建Rainbond資料中心。

我們正朝著資源全自動運維的目標前進。對於使用者來說,取需要的任何應用,執行於需要的計算資源之上,按需組合,靈活組合,最終提供了SaaS化得服務。

四、以應用為中心的產品設計

Rainbond基本的設計思想就是 以應用為中心,近年來該理念也被業界同行和更多使用者所認同,Rainbond提供了應用完整的生命週期管理:

應用的生產階段

Rainbond從設計上就支援從各型別軟體源構建生產應用,從各型別程式語言原始碼,已經打包的容器映象,更包括定義好的DockerCompose檔案等等。Rainbond定義應用的各層面元素,就像一個生產線,輸入各種程式碼,生產出統一的應用。

應用執行階段

Rainbond軟體抽象管理儲存,網路、計算等各種計算資源。在此基礎之上執行APP-Runtime,為應用執行提供統一得,豐富得服務。讓簡單的應用組建起高效能的架構。

應用傳播階段

應用是需要被更多的使用者使用產生價值的,Rainbond提供得是應用得傳播,即一處構建應用,到處生產服務。例如某軟體商生產一套微服務架構服務,涉及30個獨立應用。雲幫將作為其與客戶快速交付得橋樑,使用者只需一鍵即可部署完整服務。

五、面向未來

我們的願景是希望Rainbond的使用者是一個相輔相成的整體,有人創造應用,有人發揮應用的最大價值,有人為應用提供超大資源保障。這一切的連線由Rainbond承載,構建起互聯互通的應用管理生態體系。

以上就是解析rainbond以應用為中心的架構設計原理的詳細內容,更多關於ainbond應用架構設計的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com