1 雲計算平臺的三層服務
1.1 Iaas(Infrastructure as a service,基礎設施即服務)
Iaas層爲基礎設施運維人員服務,提供計算、存儲、網絡及其他基礎資源,雲平臺使用者可以在上面部署和運行包括操作系統和應用程序在內的任意軟件,無需再爲基礎設施的管理而分心。
應用場景:虛擬機、存儲、負載均衡、網絡…..
缺點:只要以虛擬機爲最小粒度的資源調度單位,出現了資源利用率低、調度分佈緩慢、軟件堆棧環境不統一等問題。
1.2 Paas(Platform as a Service ,平臺即服務)
Paas爲應用開發人員服務,提供支撐應用運行所需的軟件運行時環境、相關工具與服務,如數據庫服務、日誌服務、監控服務等,讓應用開發者可以專注於核心業務的開發。
應用場景:運行時環境、數據庫、web服務器、開發工具……
缺點:在Iaas的基礎上發展而來,Paas在應用架構選擇、支持的軟件環境服務方面有較大的限制、會帶來應用和平臺無法解耦、應用運行時環境侷限性強、運維人員控制力下降的問題。
1.3 Saas(Software as a service ,軟件即服務)
Saas爲一般用戶服務,提供了一套完整可用的軟件系統,讓一般用戶無需關注技術細節,只需通過瀏覽器、應用客戶端等方式就能使用部署在雲上的應用服務。
應用場景:客戶關係管理、郵件、虛擬桌面、通信、遊戲….
2 新的革命 docker(容器)
2.1 Docker的定義
-
Docker是以docker容器爲資源分割和調度的基本單位,封裝整個軟件運行時環境,爲開發者和系統管理員設計的,用於構建、發佈和運行分佈式應用的平臺。
-
跨平臺、可移植並且簡單的容器解決方案。易用。
-
源代碼使用go語言開發,遵從Apache2.0協議。
-
Docker可在容器內部快速自動化地部署應用,並通過操作系統內核技術(namespace,cgroups等)爲容器提供資源隔離與安全保障。
2.2 Docker的優點
-
持續部署於測試
開發人員開發完成後,將開發環境和應用封裝成完整的鏡像,測試環境和正式環境使用同一個鏡像。簡化了持續集成、測試和發佈的過程
-
跨雲平臺支持
越來越多的平臺都支持docker,目前支持docker的Iaas平臺包括但不限於亞馬孫平臺(AWS)、Google雲平臺(GCP)、微軟雲平臺(Azure)、openStack等,還包括Chef、Puppet、Ansible等配置管理工具。
-
環境標準化和版本控制
-
高資源利用率和隔離
-
容器跨平臺性與鏡像
-
易於理解且易用
-
應用鏡像倉庫
3 容器雲
3.1 容器雲的定義
容器雲以容器爲資源分割和調度的基本單位,封裝整個軟件運行時環境,爲開發者和系統管理員提供用於構建、發佈和運行分佈式應用的平臺。當容器雲專注於資源共享與隔離、容器編排與部署時,他更接近傳統的Iaas;當容器雲滲透到應用支撐與運行時環境時,它更接近傳統的Paas.