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

前言碎語

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

其實以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應用架構設計的資料請關註WalkonNet其它相關文章!

推薦閱讀: