歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 到底什麼是雲計算:雲計算的5-3-2原理與實踐

到底什麼是雲計算:雲計算的5-3-2原理與實踐

日期:2017/2/27 16:02:29   编辑:Linux教程

一、引子

由於雲計算的廣泛熱炒,很多東西都牽強附會地被”雲“了。於是,”人雲亦雲“、“新瓶換舊酒”、“假大空”等各種帽子被扣在了雲計算上。

各種廠商和機構也紛紛給出了自己的雲計算的定義,紛紛擾擾,混亂不堪。這種情形,所有的努力都會分散到很多點,形不成中堅力量,對於雲計算在產業界的作用和在人們心中的影響都會大打折扣。

在NIST(National Institute of Standards andTechnology,美國國家標准和技術研究院)的定義之前,比較普遍的提法是把雲計算劃分為一系列的"X as aService"業務。

二、雲計算的5-3-2原理

NIST的Peter Mell和Tim Grance在2009年4月提出了一個雲計算的定義,這可能是目前唯一一個得到廣泛認同和支持的定義。

在參考文獻1裡,NIST對雲計算定義如下:

雲計算是一種能夠通過網絡以便利的、按需付費的方式獲取計算資源(包括網絡、服務器、存儲、應用和服務等)並提高其可用性的模式,這些資源來自一個共享的、可配置的資源池,並能夠以最省力和無人干預的方式獲取和釋放。這種模式具有5個關鍵功能,還包括3種服務模式和4種部署方式。

5大核心特點

NIST提出了雲計算系統需提供的五大核心特點。

1. 按需自助服務(On Demand Self-Service):

供應商的資源保持高可用和高就緒的狀態,用戶可以按需方便地自助地獲得資源。

2. 泛在的網絡訪問(Broad Network Access):

可以通過各種網絡渠道,以統一標准的機制(如浏覽器,相同的API等)獲取服務,但是客戶端可以是多種多樣的瘦客戶端或富客戶端(例如移動電話、筆記本電腦、PDA等)。

3. 動態的資源池(Resource Pooling):

供應商的計算資源可以被整合為一個動態資源池,以多租戶模式服務 所有客戶,不同的物理和虛擬資源可根據客戶需求動態分配。服務商需實現資源的位置無關性,客戶一般不需要知道所使用的資源的確切地理位置,但在需要的時候 客戶可以指定資源位置(如哪個國家,哪個數據中心等)的要求。

4. 快速彈性(Rapid Elasticity):

可以迅速、彈性地提供服務,能快速擴展,也可以快速釋放實現快速縮小。對客戶來說,可以租用的資源看起來似乎是無限的,可在任何時間購買任何數量的資源。

5. 可計量的服務(Measured Service):

服務的收費可以是基於計量的一次一付,或基於廣告的收費模式。系統以針對不同服務需求(例如,CPU時間、存儲空間、帶寬、甚至按用戶賬號的使用率高低)來計量資源的使用情況和定價,以提高資源的管控能力和促進優化利用。整個系統資源可以通過監控和報表的方式對服務提供者和使用者透明化。

3種服務模式

按NIST的定義,雲計算的三個服務模式(Delivery Models)是:SaaS、PaaS和IaaS。

SaaS:提供給客戶的服務是運營商運行在雲計算基礎設施上的應用程序,用戶可以在各種設備上通過瘦客戶端界面訪問,如浏覽器。消費者不需要管理或控制任何雲計算基礎設施,包括網絡、服務器、操作系統、存儲,等等。

PaaS:提供給消費者的服務是把客戶采用提供的開發語言和工具(例如Java、python、.Net等)開發的或收購的應用程序部署到供應商的雲計算基礎設施上。客戶不需要管理或控制底層的雲基礎設施,包括網絡、服務器、操作系統、存儲等,但客戶能控制部署的應用程序,也可能控制運行應用程序的托管環境配置。

IaaS: 提 供給消費者的服務是對所有設施的利用,包括處理、存儲、網絡和其他基本的計算資源,用戶能夠部署和運行任意軟件,包括操作系統和應用程序。消費者不管理或 控制任何雲計算基礎設施,但能控制操作系統的選擇、儲存空間、部署的應用,也有可能獲得有限制的網絡組件(例如,防火牆、負載均衡器等)的控制。


2種部署方式

NIST把雲計算系統的部署方式或存在實體分為四大類:

l 私有雲(Private Cloud):

雲基礎設施被某單一組織擁有或租用,可以坐落在本地(on Premise)或(防火牆外的)異地,該基礎設施只為該組織服務。

l 社區雲(Community Cloud):

或稱機構雲,雲基礎設施被一些組織共享,並為一個有共同關注點的社區或大機構服務(例如,任務、安全要求、政策和准則等),社區雲可以被該社區擁有和租用,也可以坐落在本地、(防火牆外的)異地或多地。筆者認為,社區雲可能是一組私有雲通過VPN(Virtual Private Network)連接到一起的VPC(Virtual Private Cloud),是混合雲的一種。

l 私有雲(Private Cloud):

雲基礎設施被某單一組織擁有或租用,可以坐落在本地(on Premise)或(防火牆外的)異地,該基礎設施只為該組織服務。

l 社區雲(Community Cloud):

或稱機構雲,雲基礎設施被一些組織共享,並為一個有共同關注點的社區或大機構服務(例如,任務、安全要求、政策和准則等),社區雲可以被該社區擁有和租用,也可以坐落在本地、(防火牆外的)異地或多地。筆者認為,社區雲可能是一組私有雲通過VPN(Virtual Private Network)連接到一起的VPC(Virtual Private Cloud),是混合雲的一種。

在更多場合,由於混合雲是一種私有雲與公有雲的混合結構,而社區雲是介於它們之間的結構,因此核心的部署模式是2種,即私有雲和公共雲。也就有了本文題目的5-3-2原理,可以借用以下結構圖展示:

三、雲計算的引申產物

1、雲存儲

雲存儲是在雲計算(cloud computing)概念上延伸和發展出來的一個新的概念,是指通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統。

當雲計算系統運算和處理的核心是大量數據的存儲和管理時,雲計算系統中就需要配置大量的存儲設備,那麼雲計算系統就轉變成為一個雲存儲系統,所以雲存儲是一個以數據存儲和管理為核心的雲計算系統。

2、雲安全

2.1 雲安全(Cloud Security)是互聯網和雲計算融合的時代信息安全的最新發展,有以下兩方面的含義:

1)、雲安全技術(雲計算技術在安全領域的應用,安全廠商)

百度百科:“雲安全(Cloud Security)”計劃是網絡時代信息安全的最新體現,它融合了並行處理、網格計算、未知病毒行為判斷等新興技術和概念,通過網狀的大量客戶端對網絡中軟件行為的異常監測,獲取互聯網中木馬、惡意程序的最新信息,推送到Server端進行自動分析和處理,再把病毒和木馬的解決方案分發到每一個客戶端。

病毒廠商的概念: 簡單理解就是通過互聯網達到“反病毒廠商的計算機群”與“用戶終端”之間的互動。雲安全不是某款產品,也不是解決方案,它是基於雲計算技術演變而來的一種互聯網安全防御理念。[趨勢科技]

主要原理:通過運行在"雲"裡的大量客戶端對網絡中軟件行為的異常監測,獲取互聯雲中木馬、惡意程序的最新信息,傳送到服務器端進行自動分析和處理,再把病毒和木馬的解決方案分發到每一個客戶端。

2)、雲計算安全(安全技術在雲計算平台的應用,雲服務商,運營商)

雲計算對信息安全和雲服務本身的安全提出的新要求的解決方案和技術。

概念:利用安全技術,解決雲計算環境的安全問題,提升雲體系自身的安全性,保障雲計算服務的可用性、數據機密性、完整性和隱私保護等,保證雲計算健康可持續的發展。

主要集中在安全體系結構、虛擬化、隱私、審計、法律等方面,包括數據加密、密鑰管理、應用安全、網絡安全、管理安全、傳輸安全、虛擬化安全。

2.2 兩者向兩個不同的方向發展,有如下區別:

2.2.1後者(雲計算安全)

關鍵技術主要分為數據安全、應用安全、虛擬化安全。數據安全的研究主要有數據傳輸安全、數據隔離、數據殘留等方面,應用安全包括終端用戶安全、服務安全、基礎設施安全等,虛擬化安全主要來源於虛擬化軟件的安全和虛擬化技術的安全。

雲計算安全研究目前還在初步階段,主要有雲安全聯盟CSA(cloud security alliance,主要推廣雲安全實踐,提供安全指引)、雲服務提供商(Amazon、Microsoft、IBM等,主要通過身份認證、安全審查、數據加密、系統冗余等技術和管理手段提高業務平台的健壯性、服務連續性和數據安全性)

2.2.2前者(安全雲技術)

指的是信息安全產品和服務提供商利用雲計算技術手段提供(Delivery)信息安全服務的模式,屬於雲計算SaaS模式的一種,可能叫"安全雲(Security Cloud)"或"安全作為雲服務(Security as a Cloud Service)"更合適。瑞星、趨勢、卡巴斯基、MCAFEE、SYMANTEC、江民科技、PANDA、金山、360安全衛士等都推出了雲安全解決方案。中國的奇虎360安全衛士提供的服務在這方面可以說是喊得最響,走在了世界的前面。

雲安全核心:對海量未知惡意文件/網頁的實時處理能力。

雲安全需要的核心技術或者研究的方向有:

大規模分布式並行計算技術、海量數據存儲技術、海量數據自動分析和挖掘技術、海量惡意網頁自動檢測、海量白名單采集及自動更新、高性能並發查詢引擎、未知惡意軟件的自動分析識別技術、未知惡意軟件的行為監控和審計技術

3、其它雲

在輸入法、游戲、教育、通信和娛樂等領域,雲計算的概念也被熱炒,其基本思想也是類似。

四、雲計算實踐

1、虛擬化

NIST定義雲計算是補充了3個基本技術。

Key enabling technologiesinclude: (1) fast wide-area networks, (2) powerful, inexpensive servercomputers, and (3) high-performance virtualization for commodity hardware.

其中虛擬化就是實現雲計算的一種基礎而核心的技術,也有需要經過深入調研和艱難抉擇的過程。

虛擬化,它主要包括:服務器虛擬化、客戶端/桌面/應用程序虛擬化、網絡虛擬化、存儲虛擬化、服務/應用基礎結構虛擬化。而今天的桌面虛擬化其實包括了三種虛擬化技術,分別為:服務器虛擬化、桌面虛擬化、應用虛擬化,它們的概念如下:

l 服務器虛擬化:將服務器物理資源抽象成邏輯資源,讓一台服務器變成幾台甚至上百台相互隔離的虛擬服務器,或者讓幾台服務器變成一台服務器來用,我們不再受限於物理上的界限,而是讓CPU、內存、磁盤、I/O等硬件變成可以動態管理的“資源池”,從而提高資源的利用率,簡化系統管理,實現服務器整合,讓IT對業務的變化更具適應力。

l 桌面虛擬化:一種基於服務器的計算模型,並且借用了傳統的瘦客戶端的模型,但是讓管理員與用戶能夠同時獲得兩種方式的優點:將所有桌面虛擬機在數據中心進行托管並統一管理;同時用戶能夠獲得完整PC的使用體驗。

l 應用虛擬化:應用虛擬化將應用程序與操作系統解耦合,為應用程序提供了一個虛擬的運行環境。在這個環境中,不僅包括應用程序的可執行文件,還包括它所需要的運行時環境。從本質上說,應用虛擬化是把應用對低層的系統和硬件的依賴抽象出來,可以解決版本不兼容的問題。

服務器虛擬化技術

在x86服務器上的虛擬化技術上可分為:

l 硬件協助虛擬化

l 操作系統虛擬化

n 全虛擬化

n 半虛擬化。

硬件協助虛擬化(Hardware-Assisted-Virtualization)
兩大CPU廠商的Intel VT-x與 AMD-V技術。
應用:在BIOS設置中打開該功能選項,可以使Xen等半虛擬化軟件支持全虛擬化。

全虛擬化(Full Virtualization):中央處理器與其他的硬設備都虛擬化。
優點:操作系統只要有支持虛擬化系統提供的硬設備,就可以不修改操作系統而直接在虛擬機上安裝該操作系統。
缺點:因為所有的硬設備都由虛擬產生,所以當虛擬機上的操作系統要讀取某一個硬設備時,都需要通過虛擬化系統才能讀取真實的硬設備,因而效能往往比較差。
代表:Vmware ESX Server

半虛擬化(Paravirtualization):虛擬化系統僅提供中央處理器的虛擬化能力。
優點:硬件設備則與真實機器共享同一個硬件設備,因此使用硬件設備的效率較佳。
缺點:操作系統必須修改內核才能安裝在半虛擬化系統中的虛擬機器中,這樣就無法直接支持像Windows這樣的非開放源代碼操作系統。
代表:Citrix XenServer

2、三種服務模式的雲計算

上面提到,雲計算有3種服務模式。那麼它們分別怎麼體現呢?先來舉幾個常見的例子。

Hadoop為什麼和雲計算經常在一起?hadoop不就是可以分布式的計算和存儲嗎。

Amazon的雲計算EC2,OpenStack建立的雲計算平台,不就是可以自己按需創建和管理一些實例嗎,這也是雲計算嗎?

Google的GAE、新浪的sae,不就是可以自己在上面創建自己的應用嗎,這與上面的例子完全不一樣,這也是雲計算嗎?

很多人容易混淆各種概念和技術,分不清它們之間的關系和區別。其實,只需要一直牢記基本的原理,宏觀把握概念所處的層次結構和作用,理清這些花花色色的概念還是不難的。

我們可以看到,雲計算的應用領域廣泛,服務形態也是多種多樣。但是,不管怎樣,不外乎5-3-2原理介紹的3種服務模式。

計算機能提供的服務,不外乎存儲和計算(當然,這裡說的計算包括處理、控制等動態的過程),操作系統、網絡通信、虛擬化、數據庫、文件系統等等都是來幫助完成這兩種服務的。只是可以提供的應用形態、提供的功能、封裝的層次和面向的用戶不同而已。

VMware Vsphere這樣的套件能提供虛擬化的解決方案,能管理大規模的服務器,提供各種遷移、備份、容災等功能,可以部署一個私有雲。OpenStack這種軟件項目,同樣能建立私有和公共雲。但是它們的抽象層次和對用戶的服務形態不同。正如匯編語言和C語言都能寫出同樣功能的程序,但是是不同的實現方式。

在上面的例子裡,Hadoop主要提供分布式存儲和計算;OpenStack它們主要提供基礎設施,提供類似物理設備的邏輯設備,自己具有很高的控制管理權;GAE提供應用平台,可以自己創建和管理應用;網盤提供存儲應用,對應用環境之類的沒有控制權。

所以,都是提供雲計算服務,只是不同的服務模式。

3、雲計算IaaS代表OpenStack

OpenStack作為開源雲計算項目中的一種,提供了基礎設施,實例和對象存儲(還是不外乎計算和存儲)。一個實例就是一個跑著操作系統的虛擬機,可以實現遷移、快照、備份、動態分配等等管理功能。它是學習雲計算的一個很好的實踐。【OneStack:Ubuntu一鍵安裝部署雲計算平台OpenStack Essex】給出了部署的一種簡單的方法,可以參考。

Copyright © Linux教程網 All Rights Reserved