前言:基於人大的《數據科學概論》第十一章。主要內容爲雲計算的概念與特點、雲計算與大數據處理的關係、雲計算類型與典型系統、虛擬化技術與數據中心、主流產品與特點、OpenStack開源虛擬化平臺、主流廠商的雲計算產品。
一、雲計算的概念與特點
(1)雲計算的概念
根據維基百科,雲計算
也稱爲按需計算,它是提供對可配置的、共享的計算資源池的按需存取的一種計算模型,這裏的資源包括計算、存儲、網絡等硬件資源。
雲計算並不是一種全新的計算模型,它是並行計算、分佈式計算、以及網絡計算髮展的新階段。
(2)雲計算的特點
- 虛擬化
- 彈性
- 成本低廉
- 高度容錯性和高度可靠性
(3)雲計算與並行計算、分佈式計算、集羣計算、網格計算的區別和聯繫
- 並行計算是相對於串行計算來講的,可以分爲時間上的並行和空間上的並行
- 分佈式計算通過把整個計算任務,分解成一系列的小任務,分佈到各個節點(計算機)上分別執行,最後把結果合併,獲得最終結果。分佈式計算的側重點,在於任務的劃分。
- 集羣計算,通過高速網絡把一組本來鬆散聯繫的節點(計算機),通過軟件緊密聯繫起來,協作完成計算工作。
- 我們把網格計算作爲集羣計算的一種類型。也可以看作是一類分佈式計算。網絡計算把大量異構計算節點的資源(CPU計算資源、磁盤存儲資源)組織起來,構成一臺虛擬的、大的計算機,爲解決大規模的計算(包括數據處理)問題,提供計算平臺的支持。
雲計算是上述技術發展的新階段,其底層的核心技術是虛擬化,即把計算、存儲、網絡等硬件都進行虛擬化。在硬件資源基礎之上,利用虛擬化技術,提供不同層次的對外服務,包括基礎設施作爲服務、平臺作爲服務、以及軟件作爲服務。
二、雲計算與大數據處理的關係
大數據具有數據規模大、數據類型多樣、數據生成速度快等幾個主要的特點。
- 把大數據分佈到大量的節點上,通過各個節點的並行處理,才能實現大數據的快速有效處理。這是一種橫向擴展的方式。
- 雲計算以其動態擴展能力、高度的容錯性能和可靠性,成爲大數據處理的理想平臺。
三、雲計算類型與典型系統
按照服務類型,雲計算可以分爲三類
- 基礎設施作爲服務(Infrastructure as a Service,簡稱 laaS)
- 平臺作爲服務(Platform as a Service,簡稱PaaS)
- 軟件作爲服務(Software as a Service,簡稱SaaS)
雲計算與Hadoop、Spark是什麼關係?
- 一些大數據處理系統,可以安裝到雲計算平臺的虛擬節點(或者虛擬集羣上),以PaaS的形式提供對外服務。
- 在此,我們認爲把物理節點通過虛擬化技術,對外提供laaS服務,可以稱爲雲計算。
- 但是Hadoop或者Spark軟件本身,不能稱爲雲計算。他們是支持大數據處理的分佈式軟件系統,這些軟件如果安裝在物理機構成的集羣上,那麼就不能稱爲雲計算了。
四、虛擬化技術與數據中心
雲計算的核心技術是虛擬化技術
(1)服務器虛擬化
服務器虛擬化
,指的是把一臺物理服務器虛擬成若干個獨立的邏輯服務器,各個邏輯服務器擁有自己的CPU、內存、以及I/O設備。服務器虛擬化可以採用兩種形式,分別是寄居虛擬化以及裸機虛擬化。
(2)存儲虛擬化
- 存儲虛擬化,其目的是把分散的,異構的存儲設備,想辦法映射成一個統一的、連續編址的邏輯存儲空間。
- 存儲虛擬化有三種不同的實現方式,分別是基於主機的存儲虛擬化、基於存儲設備的存儲虛擬化、以及基於網絡的存儲虛擬化。
(3)網絡虛擬化
網絡虛擬化在不改變數據中心網絡的物理拓撲和佈線的情況下,可以虛擬出各層網絡,並且實現互聯,形成統一的交換架構。
網絡虛擬化,包括核心層、接入層、以及虛擬機網絡虛擬化三個層次。
(4)數據中心
- 數據中心首先由Google、Facebook、Amazon等大型互聯網公司,爲適應其業務發展的需要而建設。大型的數據中心,可以集中超過10萬臺服務器。
- 數據中心的主要特點和優勢是,通過服務器虛擬化、存儲虛擬化、網絡虛擬化、應用虛擬化等技術,數據中心把各種硬件資源進行整合,對外提供服務,提高設備的利用率。
- 數據中心一般採取了冗餘、容錯、容災的設計,提供不間斷的服務,滿足業務連續性的要求
五、主流產品及其特點
- VMWare
- Hyper-V
- KVM
- XEN
六、OpenStack開源虛擬化平臺
Openstack是一款開源的虛擬化平臺軟件
- OpenStack Dashboard(Horizon),這是Openstack的Web用戶管理界面
- Openstack Compute(Nova),Nova是虛擬機創建和管理模塊
- Openstack Image Management(Glance),Glance是Openstack的虛擬機影像(Image)管理模塊
- Openstack Object Store(Swift),Swift是對象存儲管理器
- Openstack Block Storage(Cinder),Cinder是Openstack的磁盤塊設備(Block Device)虛擬化軟件模塊
- Openstack Network(Quantum),Quantum提供了“網絡連接作爲服務”(Network Connectivity as a Service)的功能
- Openstack Identity Service(Keystone),Keystone模塊負責管理用戶,對用戶進行身份認證(Authentication)和授權(Authorization)
七、主流廠商的雲計算產品和服務
(1)Amazon
- Dynamo
- EC2
- S3
- SimpleDB
- RDS
- SQS
- Amazon EMR
(2)微軟
- Windows Azure
- SQL Azure
- Azure App Fabric
(3)Google
- GFS
- MapReduce
- Big Table
- percolator
- Pregel
- …
(4)阿里雲
-
彈性計算服務
-
數據存儲服務
-
存儲與CDN服務
-
大規模計算服務
-
MapReduce
-
Big Table
-
percolator
-
Pregel
-
…
(4)阿里雲
- 彈性計算服務
- 數據存儲服務
- 存儲與CDN服務
- 大規模計算服務