Amazon、google、IBM、microsoft雲計算主要平臺及特性

雲計算:

   雲計算(cloud computing)是基於互聯網的相關服務的增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網絡、互聯網的一種比喻說法。過去在圖中往往用雲來表示電信網,後來也用來表示互聯網和底層基礎設施的抽象。狹義雲計算IT基礎設施的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需資源;廣義雲計算指服務的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟件互聯網相關,也可是其他服務。它意味着計算能力也可作爲一種商品通過互聯網進行流通。


雲計算平臺:

雲計算平臺[1]可以劃分爲3類:以數據存儲爲主的存儲型雲平臺
雲平臺

雲平臺

,以數據處理爲主的計算型雲平臺以及計算和數據存儲處理兼顧的綜合雲計算平臺。[1]


Amazon、google、IBM、microsoft雲計算主要平臺:
Amazon的EC2
Google的App Engine
IBM的Blue Cloud
microsoft的Azure

一、Amazon的彈性計算雲

Amazon將自己的彈性計算雲建立在公司內部的大規模集羣計算的平臺上,而用戶可以通過彈性計算雲的網絡界面去操作在雲計算平臺上運行的各個實例(instance)。用戶使用實例的付費方式由用戶的使用狀況決定,即用戶只需爲自己所使用的計算平臺實例付費,運行結束後計費也隨之結束。這裏所說的實例即是由用戶控制的完整的虛擬機運行實例。通過這種方式,用戶不必自己去建立雲計算平臺,節省了設備與維護費用

亞馬遜是互聯網上最大的在線零售商,但是同時也爲獨立開發人員以及開發商提供雲計算服務平臺。亞馬遜將他們的雲計算平臺稱爲彈性計算雲(Elastic Compute Cloud,EC2),它是最早提供遠程雲計算平臺服務的公司。

Amazon EC2 (Elastic Compute Cloud)是一個讓用戶可以租用雲電腦運行所需應用的系統。EC2藉由提供web服務的方式讓用戶可以彈性地運行自己的Amazon機器鏡像文件,用戶將可以在這個虛擬機上運行任何自己想要的軟件或應用程序。

用戶可以隨時創建、運行、終止自己的虛擬服務器,使用多少時間算多少錢,也因此這個系統是"彈性"使用的。EC2讓用戶可以控制運行虛擬服務器的主機地理位置,這可以讓延遲還有備援性最高。例如,爲了讓系統維護時間最短,用戶可以在每個時區都運行自己的虛擬服務器。Amazon以Amazon Web Services (AWS)的品牌提供EC2的服務。

EC2的主要特性:

(1)靈活性:可自行配置運行的實例類型、數量,還可以選擇實例運行的地理位置。可以根據用戶的需求隨時改變實例的使用數量。

(2)低成本:按小時計費

(3)安全性:SSH、可配置的防火牆機制、監控等

(4)易用性:用戶可以根據Amazon提供的模塊自由構建自己的應用程序,同時EC2還會對用戶的服務請求自動進行負載平衡

(5)容錯性:彈性IP

二、Google 的雲計算平臺
Google的硬件條件優勢,大型的數據中心、搜索引擎的支柱應用,促進Google雲計算迅速發展。Google的雲計算主要由MapReduce、Google文件系統(GFS)、BigTable組成。它們是Google內部雲計算基礎平臺的3個主要部分。Google 還構建其他雲計算組件,包括一個領域描述語言以及分佈式鎖服務機制等。Sawzall是一種建立在MapReduce基礎上的領域語言,專門用於大規模的信息處理。Chubby是一個高可用、分佈式數據鎖服務,當有機器失效時,Chubby使用Paxos算法來保證備份。

(1)Google File System 文件系統

  爲了滿足Google迅速增長的數據處理需求,Google設計並實現了Google文件系統(GFS,Google File System)。GFS與過去的分佈式文件系統擁有許多相同的目標,例如性能、可伸縮性、可靠性以及可用性。然而,它的設計還受到Google應用負載和技術環境的影響。主要體現在以下四個方面:

  1. 集羣中的節點失效是一種常態,而不是一種異常。由於參與運算與處理的節點數目非常龐大,通常會使用上千個節點進行共同計算,因此,每時每刻總會有節點處在失效狀態。需要通過軟件程序模塊,監視系統的動態運行狀況,偵測錯誤,並且將容錯以及自動恢復系統集成在系統中。

  2. Google系統中的文件大小與通常文件系統中的文件大小概念不一樣,文件大小通常以G字節計。另外文件系統中的文件含義與通常文件不同,一個大文件可能包含大量數目的通常意義上的小文件。所以,設計預期和參數,例如I/O操作和塊尺寸都要重新考慮。

  3. Google文件系統中的文件讀寫模式和傳統的文件系統不同。在Google應用(如搜索)中對大部分文件的修改,不是覆蓋原有數據,而是在文件尾追加新數據。對文件的隨機寫是幾乎不存在的。對於這類巨大文件的訪問模式,客戶端對數據塊緩存失去了意義,追加操作成爲性能優化和原子性(把一個事務看做是一個程序。它要麼被完整地執行,要麼完全不執行)保證的焦點。

  4. 文件系統的某些具體操作不再透明,而且需要應用程序的協助完成,應用程序和文件系統API的協同設計提高了整個系統的靈活性。例如,放鬆了對GFS一致性模型的要求,這樣不用加重應用程序的負擔,就大大簡化了文件系統的設計。還引入了原子性的追加操作,這樣多個客戶端同時進行追加的時候,就不需要額外的同步操作了。

(2)MapReduce分佈式編程環境

  爲了讓內部非分佈式系統方向背景的員工能夠有機會將應用程序建立在大規模的集羣基礎之上,Google還設計並實現了一套大規模數據處理的編程規範Map/Reduce系統。這樣,非分佈式專業的程序編寫人員也能夠爲大規模的集羣編寫應用程序而不用去顧慮集羣的可靠性、可擴展性等問題。應用程序編寫人員只需要將精力放在應用程序本身,而關於集羣的處理問題則交由平臺來處理。

  Map/Reduce通過“Map(映射)”和“Reduce(化簡)”這樣兩個簡單的概念來參加運算,用戶只需要提供自己的Map函數以及Reduce函數就可以在集羣上進行大規模的分佈式數據處理。

(3)分佈式大規模數據庫管理系統BigTable

  構建於上述兩項基礎之上的第三個雲計算平臺就是Google關於將數據庫系統擴展到分佈式平臺上的BigTable系統。很多應用程序對於數據的組織還是非常有規則的。一般來說,數據庫對於處理格式化的數據還是非常方便的,但是由於關係數據庫很強的一致性要求,很難將其擴展到很大的規模。爲了處理Google內部大量的格式化以及半格式化數據,Google構建了弱一致性要求的大規模數據庫系統BigTable。

三、IBM“藍雲”計算平臺

“藍雲”解決方案是由IBM雲計算中心開發的企業級雲計算解決方案。該解決方案可以對企業現有的基礎架構進行整合,通過虛擬化技術和自動化技術,構建企業自己擁有的雲計算中心,實現企業硬件資源和軟件資源的統一管理、統一分配、統一部署、統一監控和統一備份,打破應用對資源的獨佔,從而幫助企業實現雲計算理念。

IBM在2007年11月15日推出了藍雲計算平臺,爲客戶帶來即買即用的雲計算平臺。它包括一系列的雲計算產品,使得計算不僅僅侷限在本地機器或遠程服務器農場(即服務器集羣),通過架構一個分佈式、可全球訪問的資源結構,使得數據中心在類似於互聯網的環境下運行計算“藍雲”建立在IBM大規模計算領域的專業技術基礎上,基於由IBM軟件、系統技術和服務支持的開放標準和開源軟件。簡單地說,“藍雲”基於IBM Almaden研究中心(Almaden Research Center)的雲基礎架構,包括Xen和PowerVM虛擬化、Linux操作系統映像以及Hadoop文件系統與並行構建。“藍雲”由IBM Tivoli軟件支持,通過管理服務器來確保基於需求的最佳性能。這包括通過能夠跨越多服務器實時分配資源的軟件,爲客戶帶來一種無縫體驗,加速性能並確保在最苛刻環境下的穩定性。藍雲計算平臺由一個數據中心: IBM Tivoli部署管理軟件(Tivoli Provisioning Manager)、IBM Tivoli監控軟件(IBM Tivoli Monitoring)、IBM WebSphere應用服務器、IBM DB2數據庫以及一些虛擬化的組件共同組成。

藍雲的硬件平臺並沒有什麼特殊的地方,但是藍雲使用的軟件平臺相較於以前的分佈式平臺具有不同的地方,主要體現在對與虛擬機的使用以及對於大規模數據處理軟件Apache Hadoop的部署。

(1)“藍雲”中的虛擬化

虛擬化的方式在雲計算中可以在兩個級別上實現。一個級別是在硬件級別上實現虛擬化。硬件級別的虛擬化可以使用IBM p系列的服務器,獲得硬件的邏輯分區LPAR。邏輯分區的CPU資源能夠通過IBM Enterprise Workload Manager來管理。通過這樣的方式加上在實際使用過程中的資源分配策略,能夠使得相應的資源合理地分配到各個邏輯分區。P系列系統的邏輯分區最小粒度是1/10顆中央處理器(CPU)。

  虛擬化的另外一個級別可以通過軟件來獲得,在藍雲計算平臺中使用了Xen虛擬化軟件。Xen也是一個開源的虛擬化軟件,能夠在現有的Linux基礎之上運行另外一個操作系統,並通過虛擬機的方式靈活地進行軟件部署和操作。

  通過虛擬機的方式進行雲計算資源的管理具有特殊的好處。由於虛擬機是一類特殊的軟件,能夠完全模擬硬件的執行,因此能夠在上面運行操作系統,進而能夠保留一整套運行環境語義。這樣,可以將整個執行環境通過打包的方式傳輸到其他物理節點上,這樣就能夠使得執行環境與物理環境隔離,方便整個應用程序模塊的部署。總體上來說,通過將虛擬化的技術應用到雲計算的平臺,可以獲得一些良好的特性:

  1. 雲計算的管理平臺能夠動態地將計算平臺定位到所需要的物理平臺上,而無需停止運行在虛擬機平臺上的應用程序,這比採用虛擬化技術之前的進程遷移方法更加靈活。

  2. 能夠更加有效率地使用主機資源,將多個負載不是很重的虛擬機計算節點合併到同一個物理節點上,從而能夠關閉空閒的物理節點,達到節約電能的目的。

  3. 通過虛擬機在不同物理節點上的動態遷移,能夠獲得與應用無關的負載平衡性能。由於虛擬機包含了整個虛擬化的操作系統以及應用程序環境,因此在進行遷移的時候帶着整個運行環境,達到了與應用無關的目的。

  4. 在部署上也更加靈活,即可以將虛擬機直接部署到物理計算平臺當中。

(2)“藍雲”中的存儲結構

  藍雲計算平臺中的存儲體系結構對於雲計算來說也是非常重要的,無論是操作系統,服務程序還是用戶應用程序的數據都保存在存儲體系中。雲計算並不排斥任何一種有用的存儲體系結構,而是需要跟應用程序的需求結合起來獲得最好的性能提升。總體上來說,雲計算的存儲體系結構包含類似於Google File System的集羣文件系統以及基於塊設備方式的存儲區域網絡SAN兩種方式。

  在設計雲計算平臺的存儲體系結構的時候,不僅僅是需要考慮存儲的容量。實際上隨着硬盤容量的不斷擴充以及硬盤價格的不斷下降,使用當前的磁盤技術,可以很容易通過使用多個磁盤的方式獲得很大的磁盤容量。相較於磁盤的容量,在雲計算平臺的存儲中,磁盤數據的讀寫速度是一個更重要的問題。單個磁盤的速度很有可能限制應用程序對於數據的訪問,因此在實際使用的過程中,需要將數據分佈到多個磁盤之上,並且通過對於多個磁盤的同時讀寫以達到提高速度的目的。在雲計算平臺中,數據如何放置是一個非常重要的問題,在實際使用的過程中,需要將數據分配到多個節點的多個磁盤當中。而能夠達到這一目的的存儲技術趨勢當前有兩種方式,一種是使用類似於Google File System的集羣文件系統,另外一種是基於塊設備的存儲區域網絡SAN系統。

  Google文件系統在前面已經做過一定的描述。在IBM的藍雲計算平臺中使用的是它的開源實現Hadoop HDFS (Hadoop Distributed File System)。這種使用方式將磁盤附着於節點的內部,並且爲外部提供一個共享的分佈式文件系統空間,並且在文件系統級別做冗餘以提高可靠性。在合適的分佈式數據處理模式下,這種方式能夠提高總體的數據處理效率。Google文件系統的這種架構與SAN系統有很大的不同。

  SAN系統也是雲計算平臺的另外一種存儲體系結構選擇,在藍雲平臺上也有一定的體現,IBM也提供SAN的平臺能夠接入到藍雲計算平臺中。

  SAN系統是在存儲端構建存儲的網絡,將多個存儲設備構成一個存儲區域網絡。前端的主機可以通過網絡的方式訪問後端的存儲設備。而且,由於提供了塊設備的訪問方式,與前端操作系統無關。在SAN連接方式上,可以有多種選擇。一種選擇是使用光纖網絡,能夠操作快速的光纖磁盤,適合於對性能與可靠性要求比較高的場所。另外一種選擇是使用以太網,採取iSCSI協議,能夠運行在普通的局域網環境下,從而降低了成本。由於存儲區域網絡中的磁盤設備並沒有與某一臺主機綁定在一起,而是採用了非常靈活的結構,因此對於主機來說可以訪問多個磁盤設備,從而能夠獲得性能的提升。在存儲區域網絡中,使用虛擬化的引擎來進行邏輯設備到物理設備的映射,管理前端主機到後端數據的讀寫。因此虛擬化引擎是存儲區域網絡中非常重要的管理模塊。

  SAN系統與分佈式文件系統例如Google File System並不是相互對立的系統,而是在構建集羣系統的時候可供選擇的兩種方案。其中,在選擇SAN系統的時候,爲了應用程序的讀寫,還需要爲應用程序提供上層的語義接口,此時就需要在SAN之上構建文件系統。而Google File System正好是一個分佈式的文件系統,因此能夠建立在SAN系統之上。總體來說,SAN與分佈式文件系統都可以提供類似的功能,例如對於出錯的處理等。至於如何使用還是需要由建立在雲計算平臺之上的應用程序來決定。

  與Google不同的是,IBM並沒有基於雲計算提供外部可訪問的網絡應用程序。這主要是由於IBM並不是一個網絡公司,而是一個IT的服務公司。當然,IBM內部以及IBM未來爲客戶提供的軟件服務會基於雲計算的架構。

四、 微軟雲計算平臺:Windows Azure

Windows Azure是微軟基於雲計算操作系統,和Azure Services Platform一樣,是微軟“軟件和服務”技術的名稱。Windows Azure的主要目標是爲開發者提供一個平臺,幫助開發可運行在雲服務器數據中心、Web和PC上的應用程序雲計算的開發者能使用微軟全球數據中心的儲存、計算能力和網絡基礎服務。Azure服務平臺包括了以下主要組件:Windows Azure;Microsoft SQL數據庫服務,Microsoft .Net服務;用於分享、儲存和同步文件的Live服務;針對商業的Microsoft SharePoint和Microsoft Dynamics CRM服務。

The Azure Services Platform (Azure)是一個互聯網級的運行於微軟數據中心繫統上的雲計算服務平臺,它提供操作系統和可以單獨或者一起使用的開發者服務。Azure是一種靈活和支持互操作的平臺,它可以被用來創建雲中運行的應用或者通過基於雲的特性來加強現有應用。它開放式的架構給開發者提供了Web應用、互聯設備的應用、個人電腦、服務器、或者提供最優在線複雜解決方案的選擇。

Windows Azure以雲技術爲核心,提供了軟件+服務的計算方法。它是Azure服務平臺的基礎。Azure用於幫助開發者開發可以跨越雲端和專業數據中心的下一代應用程序,在PC、Web和手機等各種終端間創造完美的用戶體驗。

Azure能夠將處於雲端的開發者個人能力,同微軟全球數據中心網絡託管的服務,比如存儲、計算和網絡基礎設施服務,緊密結合起來。這樣,開發者就可以在“雲端”和“客戶端”同時部署應用,使得企業與用戶都能共享資源。

Windows Azure是專爲在微軟建設的數據中心管理所有服務器,網絡以及存儲資源所開發的一種特殊版本Windows Server操作系統,它具有針對數據中心架構的自我管理(autonomous)機能,可以自動監控劃分在數據中心數個不同的分區(微軟將這些分區稱爲Fault Domain)的所有服務器與存儲資源,自動更新補丁,自動運行虛擬機部署與鏡像備份(Snapshot Backup)等能力,Windows Azure被安裝在數據中心的所有服務器中,並且定時和中控軟件:WindowsAzure Fabric Controller進行溝通,接收指令以及回傳運行狀態數據等等,系統管理人員只要通過Windows Azure Fabric Controller就能夠掌握所有服務器的運行狀態,Fabric Controller本身是融合了很多微軟系統管理技術的總成,包含對虛擬機的管理(System Center Virtual Machine Manager),對作業環境的管理(System Center Operation Manager),以及對軟件部署的管理(System Center Configuration Manager)等,在Fabric Controller中被髮揮得淋漓盡致,如此才能夠達成通過Fabric Controller來管理在數據中心中所有服務器的能力。

Azure服務平臺的設計目標是用來幫開發者更容易地創建web和互聯設備的應用程序。它提供了最大限度的靈活性、選擇和使用現有技術連接用戶和客戶的控制。Windows Azure服務平臺現在已經包含如下功能:網站、虛擬機、雲服務、移動應用服務、大數據支持以及媒體功能的支持。

(1)網站

允許使用 ASP.NET、PHP 或 Node.js 構建,並使用 FTP、Git 或 TFS 進行快速部署。支持 SQL Database、Caching、CDN及Storage。

(2)Virtual Machines

在Windows Azure上您可以輕鬆部署並運行 Windows Server 和 Linux 虛擬機。遷移應用程序和基礎結構,而無需更改現有代碼。支持 Windows Virtual Machines、Linux Virtual Machines、Storage、Virtual Network、 Identity等功能。

(3)Cloud Services

是Windows Azure 中的企業級雲平臺,使用富平臺即服務 (PaaS) 環境創建高度可用的且可無限縮放的應用程序和服務。支持多層方案、自動化部署和靈活縮放。支持Cloud Services、SQL Database、Caching、Business Analytics、Service Bus、Identity

(4)Mobile 服務

是Windows Azure提供的移動應用程序的完整後端解決方案,加速連接的客戶端應用程序開發。在幾分鐘內併入結構化存儲、用戶身份驗證和推送通知。支持SQL Database、Mobile 服務。

(5)大型數據處理

Windows Azure 提供的海量數據處理能力,可以從數據中獲取可執行洞察力,利用完全兼容的企業準備就緒 Hadoop 服務。PaaS 產品/服務提供了簡單的管理,並與 Active Directory 和 System Center 集成。支持Hadoop、Business Analytics、Storage、SQL Database、及在線商店 Marketplace。

(6)Media 媒體支持

支持插入、編碼、保護、流式處理,可以在雲中創建、管理和分發媒體。此 PaaS 產品/服務提供從編碼到內容保護再到流式處理和分析支持的所有內容。支持CDN及Storage存儲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章