站在巨人肩膀上才能看得更遠,開源PaaS Rainbond的發展離不開衆多優秀開源項目的貢獻。
以下是Rainbond使用到或參考過的一些開源組件,如果您想要打造自己的PaaS可以作爲參考。
kubernetes
Kubernetes是Google開源的容器集羣管理系統,其提供應用部署、維護、 擴展機制等功能,利用Kubernetes能方便地管理跨機器運行容器化的應用,其主要功能如下: 1) 使用Docker對應用程序包裝(package)、實例化(instantiate)、運行(run)。
https://github.com/kubernetes/kubernetes
docker/moby
Docker是一個開放源代碼軟件項目,讓應用程序佈署在軟件容器下的工作可以自動化進行,藉此在Linux操作系統上,提供一個額外的軟件抽象層,以及操作系統層虛擬化的自動管理機制。
heroku buildpack
Heroku Buildpacks是用於在Heroku上編譯應用程序的開源腳本集。它們構成了Heroku多語種平臺的支柱。構建包使您能夠擴展Heroku的構建系統以支持您的語言或自定義,或者使運行時可以使用某些二進制包。Heroku Buildpack允許您自由地編寫最適合您應用和團隊的語言和框架。
openresty
OpenResty® 是一個基於 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴展性極高的動態 Web 應用、Web 服務和動態網關。
calico
calico 是容器網絡的又一種解決方案,和其他虛擬網絡最大的不同是,它沒有采用 overlay 網絡做報文的轉發,提供了純 3 層的網絡模型。三層通信模型表示每個容器都通過 IP 直接通信,中間通過路由轉發找到對方。在這個過程中,容器所在的節點類似於傳統的路由器,提供了路由查找的功能。
https://github.com/projectcalico
midonet
MidoNet是由日本的SDN公司Midkura實現的一種分佈式的、分散的、多層次的軟件,遵循Apache許可,主要作爲OpenStack 雲編排 系統中的默認網絡構件,可以讓虛擬網絡解決方案,特別是專爲網絡基礎設施設計的方案,爲雲平臺如OpenStack服務,並且將其網絡存貯棧虛擬化。
https://github.com/midonet/midonet
etcd
etcd是一個高可用的鍵值存儲系統,主要用於共享配置和服務發現。etcd是由CoreOS開發並維護的,靈感來自於 ZooKeeper 和 Doozer,它使用Go語言編寫,並通過Raft一致性算法處理日誌複製以保證強一致性。
https://github.com/coreos/etcd
prometheus
Prometheus(普羅米修斯)是一套開源的監控&報警&時間序列數據庫的組合。
https://github.com/prometheus/prometheus
glusterfs
GlusterFS是Scale-Out存儲解決方案Gluster的核心,它是一個開源的分佈式文件系統,具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。
https://github.com/gluster/glusterfs
ceph
ceph利用一個分佈式集羣來提供對象、塊和文件存儲的統一存儲平臺。
cockroachDB
CockroachDB,目標是打造一個開源、可伸縮、跨地域複製且兼容事務的 ACID 特性的分佈式數據庫,它不僅能實現全局(多數據中心)的一致性,而且保證了數據庫極強的生存能力,就像 Cockroach(蟑螂)這個名字一樣,是打不死的小強。CockroachDB 的思路源自 Google 的全球性分佈式數據庫 Spanner。其理念是將數據分佈在多數據中心的多臺服務器上,實現一個可擴展,多版本,全球分佈式並支持同步複製的數據庫。
https://github.com/cockroachdb/cockroach
Weave Scope
Weave Scope這個項目會自動生成容器之間的關係圖,方便理解容器之間的關係,也方便監控容器化和微服務化的應用。
https://github.com/weaveworks/scope
Ant Design
一套企業級的前端設計語言和基於 React 的實現。
https://github.com/ant-design/ant-design
Rainbond(雲幫)是一款以應用爲中心的開源PaaS,深度整合基於Kubernetes的容器管理、Service Mesh微服務架構最佳實踐、多類型CI/CD應用構建與交付、多數據中心資源管理等技術,爲用戶提供雲原生應用全生命週期解決方案,構建應用與基礎設施、應用與應用、基礎設施與基礎設施之間互聯互通的生態體系,滿足支撐業務高速發展所需的敏捷開發、高效運維和精益管理需求。