1. 程式人生 > >總結雲端計算/OpenStack/Docker的概念理解

總結雲端計算/OpenStack/Docker的概念理解

雲端計算

官方簡介

  Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.
  雲端計算是基於網際網路的相關服務的增加、使用和交付模式,通常涉及通過網際網路來提供動態易擴充套件且經常是虛擬化的資源。
  
  美國國家標準與技術研究院(NIST)定義:雲端計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網路訪問, 進入可配置的計算資源共享池(資源包括網路,伺服器,儲存,應用軟體,服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的互動。

個人總結

總介

  總結性理解:雲端計算是一種基於傳統技術上的新的商業模式,傳統的技術包括:虛擬化技術,大規模儲存技術,分散式系統技術 等等。新的商業模式是指: 將舊有的技術打包為服務進行銷售, 降低最初的基礎設施投資成本。當然新的商業模式對舊有的技術有一定的促進作用。
  摘自知乎:現有云計算的定義都太複雜了, 作為雲端計算從業者和我們團隊的理解, 我認為它準確的定義用一句話就夠了: 一種通過網路以自助服務的方式獲得所需要的IT資源的模式。他有三個關鍵點:獲取路徑:通過網路, 獲取方式:自助服務,獲取物件:IT資源(包括不限於計算能力、儲存能力、頻寬、DNS等)。NIST還定義了三種服務模式(SaaS\PaaS\IaaS)和四種實施模式(公有云、私有云、社群雲和混合雲)

三種服務模式

  SaaS(Software-as-a-Service 軟體即服務)、PaaS(Platform-as-a-Service 平臺即服務)、IaaS(Infrastructure as a Service 即基礎設施即服務)
  具體理解,google即可
  總之:如果你想要建立一個網站。不採用雲服務,你所需要的投入大概是:買伺服器,安裝伺服器軟體,編寫網站程式。若是採用雲端計算模式,並且是IaaS服務,那麼意味著你就不用自己買伺服器了,隨便在哪家購買虛擬機器,但是還是需要自己裝伺服器軟體。而如果你採用PaaS的服務,那麼意味著你既不需要買伺服器,也不需要自己裝伺服器軟體,只需要自己開發網站程式。如果你再先進一步,購買某些線上論壇或者線上網店的服務,這意味著你也不用自己開發網站程式,只需要使用它們開發好的程式,他們負責程式的升級、維護、增加伺服器等,你只需要專心運營,那就是SaaS了。

四種實施模式

  公有云、私有云、社群雲、混合雲同理google或百度即可,不贅述!
  小結:私有云是所有的資料及整個平臺伺服器都是個人私有,公有云(社群雲屬於公有云)是個人資料都是在第三方平臺數據庫及檔案伺服器上。混合雲集合了公有云以及私有云,具有:效能更佳,擴充套件性更好,更節省的特點。
  私有云和公有云最明顯的區別就是它部署在企業的網路防火牆之後,不會直接暴露在網際網路中,企業對它擁有完全的控制權,當然,私有云可以是企業自己開發建設,也可以是引進專業公司的產品。

OpenStack與Docker

OpenStack

  OpenStack是一個開源的雲端計算管理平臺專案,由幾個主要的元件組合起來完成具體工作。OpenStack支援幾乎所有型別的雲環境,專案目標是提供實施簡單、可大規模擴充套件、豐富、標準統一的雲端計算管理平臺。OpenStack通過各種互補的服務提供了基礎設施即服務(IaaS)的解決方案,每個服務提供API以進行整合。
  OpenStack是一個旨在為公共及私有云的建設與管理提供軟體的開源專案。機構與個人都將OpenStack作為基礎設施即服務(IaaS)資源的通用前端。OpenStack專案的首要任務是簡化雲的部署過程併為其帶來良好的可擴充套件性。

Docker

  Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app)。幾乎沒有效能開銷,可以很容易地在機器和資料中心中執行。最重要的是,他們不依賴於任何語言、框架包括系統。
  Docker 是 PaaS 提供商 dotCloud 開源的一個基於 LXC 的高階容器引擎,原始碼託管在 Github 上, 基於go語言並遵從Apache2.0協議開源。

OpenStack與Docker的結合使用

學習資料

OpenStack

Docker