最近有朋友問我:「爲啥你寫的東西我都看不懂,也不是我平時用的。」我不由啞口無言。就像今天要說的雲計算,其實已經覆蓋了平常生活的很多場景,像檢票一類的人臉識別,智慧城市的紅綠燈等等,都是雲計算應用的產物。此次把雲計算、容器、容器雲三者放到一塊兒來講,由於這三個如今很是很是的火,它們之間互有關聯,通常談雲計算時也會提到容器,提到容器就更無可避免的提到容器雲。接下來就先從雲計算開始提及。html
雲計算是一種基於互聯網的計算方式,經過這種方式,共享的軟硬件資源和信息能夠按需求提供給計算機各類終端和其餘設備。通常的雲計算架構涵蓋三層服務:IaaS、PaaS 和 SaaS。數據庫
IaaS(基礎設施即服務),主要包括計算機服務器、通訊設備、存儲設備等爲用戶提供計算、存儲、網絡等基礎設施服務。好比你們耳熟能詳的 AWS、阿里雲、騰訊雲等,以及又拍雲提供的 CDN、雲存儲、雲安全等服務。安全
PaaS(平臺即服務),簡單理解就是提供相似操做系統(涵蓋數據庫、日誌、監控等服務)和開發工具的功能。服務器
SaaS(軟件即服務),經過互聯網提供軟件服務的應用,用戶不用搭建環境,只須要付費就能夠享受的雲服務。這類服務你們接觸到比較多,好比 Google Docs、石墨文檔、上直播、億方雲,以及又拍雲的 WebP 自適應、窄帶高清等多媒體雲處理服務。網絡
總的來講,雲計算是一種基於互聯網的計算方式,經過這種方式,共享的軟硬件資源和信息能夠按需求提供給計算機各類終端和其餘設備。簡而言之,雲計算是網絡資源配置的一種方式。架構
隨着雲計算的發展,計算機技術也跟着推陳出新,應用的規模愈發龐大,邏輯愈發複雜,迭代更新愈發頻繁,應用開發所需的統一規範和原有開發模式雜亂無章成立追求進步的主要障礙。運維
IaaS 的彈性計算性價比低,資源利用率低,須要考慮特定場景,PaaS 則能夠利用容器技術,不依賴虛擬機、維護成本低另外具備高可擴展性。但不管 IaaS 或者 PaaS 在資源利用率、應用架構選擇、支持的軟件環境方面都有必定的侷限性,而容器技術的發展彌補了 IaaS 以及 PaaS 的不足。分佈式
說到容器技術,就不得不提一下 DevOps。DevOps(Development 和 Operations 的組合詞)是一組過程、方法與系統的統稱,用於促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協做與整合。其理念和方法已經爲許多團隊所採納。工具
2014 年 11 月,Docker 做爲有潛在趨勢的容器技術進入了 DevOps 的世界。它經過簡單的包裝和應用程序運輸加快了持續部署的能力,進而獲得了普及。Docker 做爲一項開源工具,能夠將應用程序及其依賴(如配置文件等)打包到容器中,就能夠在任何 Linux 服務器上運行該容器,而不會出現任何兼容性問題。開發工具
容器化是一個至關古老的概念,但 Docker 帶來了一些全新的東西。
現在,Docker 的主要用戶是開發人員和系統管理員,應用於DevOps 相關聯的構建和運行分佈式應用程序。
爲何如今 Docker 那麼火,它究竟有哪些優勢?
Docker 的應用場景主要涵蓋如下幾種:
Docker 只是打開互聯網新世界的一把鑰匙,對於企業或者我的複雜的項目來講,面臨的問題更多:
在此背景下容器雲的出現,成爲解決這些複雜場景項目的救星。容器雲實際上是按照容器爲資源分割,封裝整個軟件運行時環境,爲開發者和系統管理員提供用於構建,發佈和運行分佈式應用的平臺。當容器雲專一於資源共享與隔離、容器編排與部署,它更接近 IaaS 的概念;當容器雲滲透到應用支撐與運行時環境時,它更接近於 PaaS。
在不少企業中,應用程序發佈是一項涉及多個團隊、壓力很大、風險很高的活動。然而在具有 DevOps 能力的組織中,應用程序發佈的風險很低。由於與傳統的瀑布式開發模型相比,迭代式開發更加便捷。
咱們假設一種場景,部署在物理機上的業務忽然出現問題,該如何應對?普通客戶是更換物理機設備,部署環境,而後再部署業務,做爲一個嫺熟的老司機,至少也須要耗費 1 小時 以上。以前又拍雲容器雲的一個客戶就遇到了相似的狀況。客戶同時在容器雲和物理機上在跑業務,容器雲上運行的業務大概有十幾個,一次遇到了物理機故障的狀況,若是把原有業務遷移到物理機上,須要短期內尋找替代設備、設置生產環境,難度頗高;此時的解決方案是把物理機的流量切換到容器雲,不到10秒的時間就完成了業務切換,避免了故障致使的業務中斷,容器雲的好處顯而易見。
因而可知,容器云爲開發者進行構建發佈應用的平臺,使得企業交付集成能力更強。
瞭解更多關於容器雲: