容器 與 IAAS PAAS SAAS
IAAS:基礎硬件即服務,實際上就是虛擬化服務,對於用戶來說,其本身就是一個真實存在的機器;而對運營商來說,它實際上只是一個虛擬機。這就是現在CPU發展過於迅猛,為了避免資源過度浪費的有效解決方案。
PAAS(平臺即服務),平臺構建大批量的底層應用,並且對外提供統一的訪問入口,當然,該入口需要進行認證,那麽就能有限訪問該服務,並且建立自己的實例,現在各種PAAS服務中,最出色的就是存儲服務。比如塊存儲和對象存儲。
SAAS:軟件即服務。當我們本身就屬於軟件供應商時,我們可以直接在公有雲上部署我們的軟件,用戶只要訪問我們的web地址,就可以直接訪問到我們的具體服務。我們可以這麽認為,購物網站就是一種
PAAS平臺的快速發展,出現了很多的問題,
第一,是環境的多變。比如java,python,ruby,數據庫,中間件的部署,因為不同的企業需要不同的環境,
第二,無法保證環境一致性。傳統部署依賴人的經驗,但是對特殊情況下的包沖突,無法更新的情況卻無能為力;生產環境和測試環境上難以保持一致,一出現問題就需要逐項排查;
第三,針對某些特殊需求,比如日誌采集,監控數據項無法形成統一的規範。在A機器部署在/opt下,在B機器部署在/root下,C機器部署在/home下,不僅增加了人力維護的成本和難度,而且還難以形成規範;
第四,擴展難度復雜,不僅需要我們去部署一套完成的環境,還需要針對其做不同的環境測試,測試的範圍不僅多,而且復雜,除了應用本身的測試,還有對集群擴展、存儲,消息隊列、緩存、搜索、數據源等的綜合測試;
Docker的出現改變了這樣的現狀,首先是環境高度一致,本身將app和其運行環境進行了完整的封裝,容器間基於線程間通信,只要在一處驗證,就可以在所有的環境正常運行。功能單一,擴展性強,部署統一,使用的過程中,我們只需要把這個容器啟動起來就可以了。開發、測試、生產環境保持高度一致。完全不用二度調試;
擴展思考;因為容器處於宿主之下,那麽如何使用容器對宿主機進行監控?這樣的做法有什麽好處?
答:我們可以在宿主機直接把監控的內容寫如某個目錄,再把這個目錄mount到容器中,容器內部運行的采集器通過主動推送的方式,就可以把該結果傳輸給監控主機,這樣做的好處是三方面的,
第一,容器本身隨時可以毀滅,我們不需要再監控時,只需要關閉該容器就行;
第二,因為容器本身只關註到自己內部的資源,不會對宿主有任何的損壞,即使該容器直接暴露到公網,被人入侵,那麽也只會到容器內部,不會威脅到宿主;
第三,高度可擴展,容器隨處可運行,
本文出自 “NB小菜鳥” 博客,請務必保留此出處http://309692348.blog.51cto.com/728319/1928109
容器 與 IAAS PAAS SAAS