雲端計算PaaS的五層
過去的中介軟體或SOA已經逐步被雲端計算PaaS平臺替代,該文總結了PaaS的五層結構。
一兩年前,PaaS系統是鐵板一塊monolithic. 只有一個單獨的供應商或解決方案,如Heroku, 提供一整個系統處理PaaS各個方面,但是事情已經改變,隨著各種開源專案湧現如Docker, Packer, Serf, CoreOS, Dokku, 和 Flynn, 這些都可以構建你的PaaS,但是如何正確構造呢?
首先我們從功能上定義PaaS是幹什麼的?
PaaS能夠被看成一個工作流,有幾個功能段組成,每個功能段完成一個特定目標,每段不代表步驟,它們可以並行執行,不必一定要像步驟那樣按照順序來:
PaaS的五段功能塊如下:
1.部署Deployment
2.自動配置Provisioning
3.生命週期管理Lifecycle management
4.服務管理Service management
5.報告Reporting
下面逐個詳細描述:
1.部署
部署部分是負責遷移一個應用從其開發處(開發人員的電腦)到PaaS,通用方式如下:
(1). 在PaaS執行著一個遠端git,從客戶端會透過發出事件, (Heroku, OpenShift, Flynn 和 Dokku都是用這種方式 Elastic Beanstalk 用的是這種方式變異)
(2). 傳送程式碼作為一個捆綁包(一個 gzipped tar包). Cloud Foundry 使用的是這個方法,Stackato也是,本地編譯程式碼,然後複製執行結果到PaaS.
(3). 當PaaS接受到一個部署, 它將揭開一個序幕過程:移動該應用程式進入執行狀態. 由此進入下面任何階段。
banq評:部署這個過程是不是非常類似我們將應用程式部署到tomcat JBoss Oracle IBM等JavaEE中介軟體伺服器上?
2.自動配置
在這個過程中,PaaS將配置執行應用程式的必要底層設施,"Infrastructure底層設施" 廣泛的含義,幾個目標如下:
(1)設定容器和計算例項(類似需要啟動幾個JavaEE伺服器 幾個JVM)
(2).配置網路
(3)安裝和配置作業系統服務 (e.g. Apache)
(4)安裝或配置庫包(e.g. Ruby Gems)
(5)許多PaaS系統會將自動配置擴散到跨多個工具:一個工具用來建立計算例項, 而另外一個也許是在安裝庫包. 但是它們都共享同樣職責: 為即將執行的應用程式建立環境支援。
3.生命週期管理
一旦PaaS有了應用程式的複製,並且環境已經準備好能夠執行它,就有必要管理應用程式的執行,這就是生命週期管理的任務:
(1).啟動應用
(2).監測應用的執行狀態
(3).監視或報告應用的資源消耗。
(4).在失敗時重啟應用
(5).在命令列停止或重啟應用
一些小型的PaaS系統提供基礎的生命週期管理(e.g. start and stop), 而一些高階系統則提供自動伸縮 自動節流 以及熱部署等
4.服務管理
這個階段不是在所有PaaS中都存在,它不是必要的,但是有用的:
所有PaaS系統都能執行應用,但是一些平臺做得更好,能夠提供服務接觸到你的應用, 這些服務執行在應用程式容器之外或是計算例項之外。
服務包括:
資料庫
網路化的檔案系統
訊息佇列
快取
聚合日誌
"Old guard" 系統 (如 Cloud Foundry) 跨多個應用分享一個服務 (e.g. MySQL) . 一些新的基於容器的系統如CoreOS提供以一種特別設計的容器執行服務,這種模型更加簡單。
為什麼不是所有PaaS系統都需要這個階段?一個理由是許多雲提供商也許有類似的服務,形式如 DBaaS, MQaaS等等。
5.報告和監視
這個階段很平常,大部分應用主要是執行,在這個期間有很多有趣事情發生,有一些事件我們必須瞭解,如重啟,也有一些環境情況如資源消耗 系統效能等需要掌握,當然還包括日誌檔案等。
一些PaaS平臺提供幾個層次報告,如:
Amazon Elastic Beanstalk整合了 AWS Cloud Watch, 每個應用都有聚合日誌系統。
ActiveState Stackato 提供一個 web 控制檯,帶有豐富日誌, 能夠顯示應用的實時狀態和環境,Heroku能有選擇發生事件到後端日誌。
banq評:雲端計算PaaS=中介軟體 + (作業系統+中介軟體)的管理。
相關文章
- 雲端計算:SaaS、PaaS、IaaS
- PaaS雲端計算平臺,雲端計算程式開發
- 雲端計算前沿—詳解PaaS之CloudfoundryCloud
- 雲端計算的三種服務模式:IaaS,PaaS和SaaS模式
- Oracle 雲端計算 - 私有云PaaS Hands-on Workshop 結束Oracle
- 雲端計算的五大誤解
- 雲端計算潛在的五個問題
- [15-30k] 華為雲端計算PaaS高階工程師工程師
- 幾個國外用來深度學習的雲端計算PaaS資源 - svpino深度學習
- 探索雲端計算容器底層之Cgroup
- 雲學院帶你入門雲端計算:如何理解IaaS、 PaaS、SaaS
- 雲端計算服務模型,第 2 部分: 平臺即服務(PaaS)模型
- 雲端計算服務模型,第 3 部分: 軟體即服務(PaaS)模型
- 雲端計算安全有哪五個階段?
- 雲端計算五大應用趨勢
- 第五週-雲端計算運維作業運維
- 【原創】探索雲端計算容器底層之Cgroup
- 雲端計算教程學習入門影片: IaaS、PaaS、SaaS知識點詳解
- 關於雲端計算未來的五大預測
- 第五屆雲端計算大會參會有感
- 應用層是雲端計算中缺失的重要組成部分
- 《雲端計算》)——超越桌面:雲端計算導論
- 雲端計算時代,資料中心架構三層到大二層的演變架構
- 計算機網路的七層結構、五層結構和四層結構計算機網路
- 雲端計算的前身
- 雲端計算的前景
- 敏捷的雲端計算?敏捷
- 雲端計算
- 雲端計算簡介+雲端計算建站平臺
- IDC報告:從IaaS到PaaS,阿里雲全面主導雲端計算市場阿里
- 雲端計算:雲端計算是怎麼分類的?
- 【雲端計算小知識】什麼是雲端計算?雲端計算特點是什麼?
- 雲端計算都有哪些特點?展望雲端計算的發展前景
- 學習雲端計算哪裡好?雲端計算新的前景出路
- 雲端計算論文讀後感【3】- 雲端計算的問題
- 什麼叫雲端計算?雲端計算通俗解釋
- 雲端計算的含義
- 雲端計算的釋義