雲計算概述

過去的幾十年中,計算模式經歷了大機時代的終端-主機模式(T-S模式),我的PC時代的客戶機-服務器模式(C-S模式),到互聯網時代的瀏覽器-服務器模式(B-S模式),一直到現在的網格計算和雲計算的繁榮。java

 

可是,網格計算缺乏商業化實現,並且是基於中間件技術,須要用戶經過編程或者安裝設置來搭建底層架構,這爲系統實現增長了難度,更重要的是,這種框架下實現的系統所部署到的網格的計算能力即服務器的數量與硬件指標是其系統的瓶頸,針對中小企業、科研單位、我的用戶而言很難負擔起太大的開銷來知足處理能力要求較高的系統硬件需求。即使大型機構能提供足夠硬件設備,在系統不工做或者非滿負荷工做時也會形成不少資源被閒置而浪費。與此同時,配備專注業人員來維護網格計算環境也是必需的,這也在必定程度上增長了系統的開銷。程序員

用戶對互聯網內容的貢獻飛快的增加,軟件更多地以服務的形式經過互聯網被髮布和訪問,而這些網絡服務須要海量的存儲和強大計算能力來知足日益增加的業務需求,雲計算的理念就這樣應運而生。雲計算的產生並不是來自學術理論,而是直接產生於企業計算、互聯網領域,它更關心如何擴展系統、如何方便IT管理。致使和激勵其發展的主要有三個因素:互聯網應用需求刺激;來自於移動寬帶網絡的普及;數據中心成本的上升。也就是說,雲計算雖然是一種新型的計算模式,可是時代的須要偏偏爲雲計算提供了良好的發展機遇。雖然如今的雲計算並不能完美地解決全部的問題,可是在不久的未來,必定會有愈來愈多的雲計算系統投人實用,雲計算系統也會不斷地被完善, 並推進其餘科學技術的發展。web

Ps:Google的創始者由於買不起昂貴的商用服務器來設計搜索引擎而採用了衆多廉價PC來提供搜索服務。他們成功的把這種PC集羣作到比商用服務器更強大,而成本卻遠遠低於商用的硬件與軟件,造成了所謂的雲計算技術。2003-2006年,Google發表了四篇關於分佈式文件系統、並行計算、數據管理和分佈式資源管理的文章,奠基了雲計算髮展的基礎。基於這些文章,開源組織Hadoop逐步複製Google的雲計算系統,今後開始了Hadoop雲計算平臺的流行。2008年,Google對外推出Google App Engine應用託管服務,用戶能夠在GAE平臺使用Python和java語言開發各類web應用。2008年10月,微軟宣佈推出Windows Azure雲計算平臺。算法

技術角度講,在網絡計算體系之下,計算機集羣(Computer Cluster)能夠解決服務器單機性能不夠強的問題;網格(Grid)計算則解決了集羣計算不支持異構設備、資源沒法動態伸縮的缺點。雲計算則能有效解決網格計算沒法同時支持異構多任務體系、沒法實現資源動態流轉的不足。能夠說,雲計算彌補的網絡計算的不足,是網絡計算的高級階段。數據庫

術語雲來源於在計算機網絡拓撲圖中互聯網一般以雲表示。編程

在互聯網以後的複雜基礎設施的抽象"雲計算(Cloud Computing),是一種動態的易擴展的且一般是經過互聯網提供虛擬化資源的計算方式,用戶不須要了解雲內部的細節, 也沒必要具備雲內部的專業知識, 或直接控制基礎設施,便能使用相關資源。後端

雲計算的定義能夠從狹義和廣義兩個方面來看。狹義雲計算是一種IT基礎設施的交付和使用模式,指經過網絡以按需、易擴展的方式得到所需的資源(包括硬件、平臺和軟件) 。提供資源的網絡就是「雲」。「雲」中的資源在使用者看來是能夠無限擴展的,而且能夠隨時獲取,按需使用,隨時擴展,按使用付費。這種特性被人們形象地稱爲像使用水電同樣使用IT基礎設施。廣義雲計算是指服務的交付和使用模式,指經過網絡以按需、易擴展的方式得到所需的服務。這種服務能夠是IT和軟件、互聯網相關的,也能夠是任意其餘的服務。設計模式

雲計算的組成能夠分爲6個部分, 它們由下至上分別是:基礎設施、存儲、平臺、應用、服務和客戶端。瀏覽器

雲計算包括基礎設施即服務、平臺即服務和軟件即服務以及其餘依賴於互聯網知足客戶計算需求的技術趨勢安全

雲計算原理是使用特定的軟件按照指定的優先級和調度算法將計算或欲存儲的數據分配到雲環境中的各個節點。其中雲中的各個節點指的是分佈式的計算機。

雲計算將來主要有兩個發展方向。一個是構建與應用程序緊密結合的大規模底層基礎設施,使得應用可以擴展到很大的規模;;另外一個是經過構建新型的雲計算應用程序,在網絡上提供更加豐富的用戶體驗。

現在看來,雲計算髮展極其迅速,做用巨大,事實並不是如此順利。今年2月,Google Gmail郵箱爆發全球性故障,服務中斷時間長達4小時。據悉,這次故障是因爲位於歐洲的數據中心例行性維護,致使歐洲另外一個數據中心過載,連鎖效應擴及其餘數據中心,最終導致全球性的斷線。3月中旬,微軟的雲計算平臺Azure中止運行約22個小時,微軟至今沒有給出詳細的故障緣由。不過,業內人士分析認爲,Azure平臺的此次宕機與其中心處理和存儲設備故障有關。除了Google和微軟的雲計算服務出情況外,去年亞馬遜S3服務曾斷網6小時。由此看來,雲計算也未必百分百安全。雖然雲計算廠商們多次信誓旦旦地宣稱,可以保證高達99。99%的可靠性與安全,但用戶要相信,那0。01%微小的可能萬一降臨到本身的頭上,帶來的損失也是不可估量的。

除了系統故障之外還有其餘的隱患:雲計算安全缺少標準;雲計算面臨潛在的隱私問題。下降和消除風險的辦法:控制數據位置;數據加密;數據丟失和備份的處理。

雲計算的特色

1.    超大規模。

「雲」具備至關的規模, Google雲計算已經擁有100 多萬臺服務器, Amazon 、IBM、微軟、Yahoo 等的「雲」均擁有幾十萬臺服務器。企業私有云通常擁有數百上千臺服務器。「雲」能賦予用戶史無前例的計算能力。

2.    虛擬化技術:

這是雲計算最強調的特色, 包括資源虛擬化和應用虛擬化。每個應用部署的環境和物理平臺是沒有關係的。經過虛擬半臺進行管理達到對應用進行擴展、遷移、備份,操做均經過虛擬化層次完成。支持用戶在任意位置、使用各類終端獲取應用服務。所請求的資源來自「雲」,而不是固定的有形的實體。應用在「雲」中某處運行,但實際上用戶無需瞭解、也不用擔憂應用運行的具體位置。只須要一臺筆記本或者一個手機,就能夠經過網絡服務來實現咱們須要的一切,甚至包括超級計算這樣的任務。

3.    動態可擴展

經過動態擴展虛擬化的層次達到對應用進行擴展的目的。能夠實時將服務器加入到現有的服務器機羣中, 增長「雲」的計算能力。

4.    按需部署

用戶運行不一樣的應用須要不一樣的資源和計算能力。雲計算平臺能夠按照用戶的需求部署資源和計算能力。

5.    高靈活性

如今大部分的軟件和硬件都對虛擬化有必定支持, 各類IT資源, 例如: 軟件、硬件、操做系統、存儲網絡等全部要素經過虛擬化,放在雲計算虛擬資源池中進行統一管理。同時, 可以兼容不一樣硬件廠商的產品,兼容低配置機器和外設而得到高性能計算。

6.    高可靠性

虛擬化技術使得用戶的應用和計算分佈在不一樣的物理服務器上面, 使用了數據多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,即便單點服務器崩潰, 仍然能夠經過動態擴展功能部署新的服務器做爲資源和計算能力添加進來, 保證應用和計算的正常運轉。

7.    高性價比

雲計算採用虛擬資源池的方法管理全部資源,自動化集中式管理使大量企業無需負擔日益高昂的數據中心管理成本,對物理資源的要求較低。可使用廉價的PC組成雲, 而計算性能卻可超過大型主機。所以用戶能夠充分享受「雲」的低成本優點。

 

雲計算實現形式

(1)  SaaS(軟件即服務) 。這種類型的雲計算經過瀏覽器把程序傳給成千上萬的用戶。在用戶眼中看來,這樣會省去在服務器和軟件受權上的開支;從供應商角度而言, 只須要維持一個程序便可, 這樣可以減小成本。Salesforce是迄今爲止這類服務最爲著名的公司, SaaS在人力資源管理程序和ERP中比較經常使用, Google App s和Zoho Office 也是相似的服務;

(2)  實用計算(Utility Computing) 。這個方法早先就有人提出, 可是直到最近纔在Amazon, Sun,IBM和其它提供存儲服務和虛擬服務器的公司中新生。這種雲計算是爲IT行業創造虛擬的數據中心使得其可以把內存、I/O設備、存儲和計算能力集中起來,成爲一個虛擬的資源池爲整個網絡提供服務;

(3)  網絡服務。同SaaS關係密切,網絡服務提供者們提供AP I, 讓開發者可以開發更多基於互聯網的應用, 而不是單機程序;

(4)  平臺即服務(PaaS),這種形式的雲計算,是把開發環境做爲一種服務來提供。可使用中間商的設備開發本身的程序, 並經過互聯網和其服務器傳輸到用戶手中

(5)  MSP (管理服務提供商) 是最古老的雲計算運用之一。這種應用更多的是面向IT行業而不是終端用戶, 經常使用於郵件病毒掃描、程序監控等;

(6)  商業服務平臺。SaaS和MSP 的混合應用, 該類雲計算爲用戶和提供商之間的互動提供了一個平臺。好比用戶我的開支管理系統, 可以根據用戶的設置來管理其開支並協調其訂購的各類服務;

(7)  互聯網整合。將互聯網上提供相似服務的公司整合起來, 以便用戶可以更方便地比較和選擇本身的服務供應商。

雲計算平臺

目前,Amazon、Google、IBM、Microsoft、Sun 等公司提出的雲計算基礎設施或雲計算平臺,雖然比較商業化,但對於研究雲計算倒是比較有參考價值的。固然,針對目前商業雲計算解決方案存在的種種問題,開源組織和學術界也紛紛提出了許多雲計算系統或平臺方案。

Google 雲計算平臺

目前Google是雲計算最大的實踐者,正在運營最接近雲計算特徵的商用平臺—在線應用服務託管平臺Google 應用引擎( GAE)。軟件開發者能夠在此之上編寫應用程序,企業客戶可使用定製化的網絡服務。例如開發人員根據提供的服務能夠編譯基於Python 的應用程序,並可無償使用Google 的基礎設施來進行託管(最高存儲空間達500MB) 。對於超過此上限的存儲空間,Google按「每CPU 內核每小時」10 至12 美分及1GB 空間15 至18 美分的標準進行收費。典型的應用方式有Gmail 、Google Picasa Web以及可收費的Google 應用軟件套件。

Google 的雲計算基礎設施是在最初爲搜索應用提供服務基礎上逐步擴展的,針對內部網絡數據規模超大的特色,Google 提出了一整套基於分佈式並行集羣方式的基礎架構。主要由分佈式文件系統Google File System (GFS)、大規模分佈式數據庫Big Table、程序設計模式Map/Reduce、分佈式鎖機制Chubby 等幾個相互獨立又緊密結合的系統組成。GFS 是一個分佈式文件系統,它可以處理大規模的分佈式數據,每一個GFS 集羣由一個主服務器和多個塊服務器組成,被多個客戶端訪問。主服務器負責管理元數據,存儲文件和塊的名空間、文件到塊之間的映射關係以及每個塊副本的存儲位置;塊服務器存儲塊數據,文件被分割成爲固定尺寸(64 MB)的塊,塊服務器把塊做爲Linux 文件保存在本地硬盤上。爲了保證可靠性,每一個塊被缺省保存3個備份。主服務器經過客戶端向塊服務器發送數據請求,而塊服務器則將取得的數據直接返回給客戶端。

開源雲計算平臺Hadoop

Hadoop是Apache基金會的開源雲計算平臺項目,是從Nutch 項目中分離出來的專門負責分佈式存儲以及分佈式運算的項目,因爲獲得Yahoo、Amazon 等公司的直接參與和支持, 已成爲目前應用最廣、最成熟的雲計算開源項目。Hadoop由分佈式文件系統HDFS(hadoop distributed file system,HDFS)、MapReduce分佈式計算模型、鎖服務、結構化數據存儲附屬等組成,是Google文件系統與MapReduce分佈式計算框架及相關基礎服務的開源實現。此外,國內外不少開源雲計算平臺項目也都提出了較完整的體系結構設計,比較成熟的包括AbiCloud,Eucalyptus,MongoDB,ECP,Nimbus等項目,均有助於對雲計算平臺的理解。

Amazon 亞馬遜的彈性計算雲

亞馬遜是以在線書店和電子零售業起家的,現在已在業界享有盛譽,它的雲計算服務不涉及應用層面的計算,主要是基於虛擬化技術提供經過底層的可經過網絡訪問的存儲、計算機處理、信息排隊和數據庫管理系統等租用式服務。亞馬遜的雲計算創建在其公司內部的大規模集羣計算的平臺之上,並提供託管式的計算資源出租服務,用戶能夠經過遠端的操做界面選擇和使用服務。

Amazon 是最先提供雲計算服務的公司之一,該公司的彈性計算雲(elastic compute cloud,EC2)平臺創建在公司內部的大規模計算機、服務器集羣上,平臺爲用戶提供網絡界面操做在「雲端」運行的各個虛擬機實例(instance)。用戶只需爲本身所使用的計算平臺實例付費,運行結束後計費也隨之結束。彈性計算雲用戶使用客戶端經過SOAP over HTTPS 協議與Amazon 彈性計算雲內部的實例進行交互。彈性計算雲平臺爲用戶或者開發人員提供了一個虛擬的集羣環境,在用戶具備充分靈活性的同時,也減輕了雲計算平臺擁有者(Amazon 公司)的管理負擔。彈性計算雲中的每個實例表明一個運行中的虛擬機。用戶對本身的虛擬機具備完整的訪問權限,包括針對此虛擬機操做系統的管理員權限。虛擬機的收費也是根據虛擬機的能力進行費用計算的,實際上,用戶租用的是虛擬的計算能力。經過這種方式,用戶沒必要本身去創建雲計算平臺。總而言之,Amazon經過提供彈性計算雲,知足了小規模軟件開發人員對集羣系統的需求,減少了維護負擔。其收費方式相對簡單明瞭:用戶使用多少資源,只需爲這一部分資源付費便可。

IBM「藍雲」計算平臺

IBM 的「藍雲(blue cloud)」計算平臺是一套軟、硬件平臺,將Internet上使用的技術擴展到企業平臺上,使得數據中心使用相似於互聯網的計算環境。是由一個數據中心、IBM Tivoli 監控軟件(Tivoli monitoring)、IBM DB2 數據庫、IBM Tivoli 部署管理軟件(Tivoli provisioning manager)、IBM WebSphere 應用服務器以及開源虛擬化軟件和一些開源信息處理軟件共同組成。「藍雲」採用了Xen、PowerVM 虛擬技術和Hadoop 技術,以期幫助客戶構建雲計算環境。「藍雲」軟件平臺的特色主要體如今虛擬機以及所採用的大規模數據處理軟件Hadoop,側重於雲計算平臺的核心後端,未涉及用戶界面。因爲該架構是徹底基於IBM 公司的產品設計的,因此也能夠理解爲「藍雲」產品架構[12]。2008年2 月, IBM 成功在無錫科教產業園設立中國第一個商業化運營的雲計算中心。它提供了一個可運營的IT 支撐體系,當一個公司在科教產業園成立後,它的部分軟硬件能夠經過雲計算中心來獲取和使用,大大下降基礎設施的建設成本。

微軟的Azure 「藍天」雲平臺

微軟緊跟雲計算步伐,於2008 年10 月推出了Windows Azure 操做系統,是繼Windows 取代DOS 以後,微軟的又一次顛覆性轉型——經過在互聯網架構上打造新雲計算平臺,讓Windows 真正由PC 延伸到「藍天」上。微軟擁有全世界數以億計的Windows 用戶桌面和瀏覽器,如今它將它們鏈接到「藍天」上。Azure 的底層是微軟全球基礎服務系統,由遍及全球的第四代數據中心構成。微軟的Azure 雲平臺包括4個層次。底層是微軟全球基礎服務系統(global foundation service,GFS),由遍及全球的第四代數據中心構成;雲基礎設施服務層(cloud infrastructure service)以Windows Azure 操做系統爲核心,主要從事虛擬化計算資源管理和智能化任務分配;Windows Azure 之上是一個應用服務平臺,它發揮着構件(building block)的做用,爲用戶提供一系列的服務,如Live服務、NET 服務、SQL 服務等;再往上是微軟提供給開發者的API、數據結構和程序庫,最上層是微軟爲客戶提供的服務(finished service), 如Windows Live、Office Live、Exchange Online 等。

Sun 的雲基礎設施

Sun 提出的雲基礎設施體系結構包括服務、應用程序、中間件、操做系統、虛擬服務器、物理服務器等6 個層次,形象地體現了其提出的「雲計算可描述在從硬件到應用程序的任何傳統層級提供的服務」的觀點。

Salesforce

Salesforce 是雲計算中軟件即服務廠商的先驅。該公司正在建造本身的網絡應用軟件平臺Force。 Com,這一平臺可做爲其餘企業自身軟件服務的基礎。Force。 com 包括關係數據庫、用戶界面選項、企業邏輯以及一個名爲Apex 的集成開發環境。程序員能夠在平臺的Sandbox 上對他們利用Apex 開發出的應用軟件進行測試,而後在Sales2force 的App Exchange 目錄上提交完成後的代碼。

關鍵技術

雲計算關鍵技術按需部署是雲計算的核心。要解決按需部署,必須解決資源的動態可重構、監控和自動化部署等,而這些又須要以虛擬化、高性能存儲、處理器、高速互聯網等技術爲基礎。因此雲計算除了須要仔細研究其體系結構外,還要特別注意研究資源的動態可重構、自動化部署、資源監控、虛擬化、高性能存儲、處理器等關鍵技術。體系結構爲了有效支持雲計算,其體系結構必須支持幾個關鍵特徵。首先, 系統必須是自治的, 即須要內嵌有自動化技術,以減輕或消除人工部署和管理任務, 而容許平臺智地響應應用的要求; 其次, 雲計算的架構必須是敏捷的, 可以對需求信號或變化作出迅還的反應。內嵌的虛擬化技術和集羣化技術,能應付增加或服務級要求的快速變化。雲計算平臺的體系結構是一個雲服務器的互連網絡圖。

雲計算是分佈式處理(Distributed Computing)、並行處理( Parallel Computing)和網格計算( Grid Computing)的發展,它的基本原理是,經過使計算分佈在大量的分佈式計算機上,而非本地計算機或遠程服務器中,企業數據中心的運行將更與互聯網類似。這使得企業可以將資源切換到須要的應用上,根據需求訪問計算機和存儲系統。打個比方,這就比如是從古老的單臺發電機模式轉向了電廠集中供電的模式。它意味着計算能力也能夠做爲一種商品進行流通,就像煤氣、水電同樣,取用方便,費用低廉。最大的不一樣在於,它是經過互聯網進行傳輸的。

雲計算原理是使用特定的軟件按照指定的優先級和調度算法將計算或欲存儲的數據分配到雲環境中的各個節點。其中雲中的各個節點指的是分佈式的計算機。

雲計算是以數據爲中心的一種數據密集型的超級計算。在數據存儲、數據管理、編程模式、併發控制、系統管理等方面具備自身獨特的技術。

海量分佈式存儲技術

爲保證高可用、高可靠和經濟性,雲計算採用分佈式存儲的方式來存儲數據,採用冗餘存儲的方式來保證數據的可靠性,即爲同一份數據存儲多個副本,以高可靠軟件來彌補硬件的不可靠,從而提供廉價可靠的系統。另外,雲計算系統須要同時知足大量用戶的需求,並行地爲大量用戶提供服務。所以,雲計算的數據存儲技術必須具備高吞吐率和高傳輸率的特色。雲計算的數據存儲技術主要有谷歌的非開源的GFS(Google  File  System)和Hadoop開發團隊開發的GFS的開源實現HDFS(Hadoop Distributed File System)。大部分的IT廠商,包括Yahoo,Intel的雲計劃採用的都是HDFS的數據存儲技術。

並行編程模式

爲了高效利用雲計算的資源,使用戶能更輕鬆的享受雲計算帶來的服務,雲計算的編程模型必須保證後臺複雜的並行執行和任務調度向用戶和編程人員透明。雲計算採用Map/Reduce編程模式,將任務自動分紅多個子任務,經過Map和Reduce兩步實現任務在大規模計算節點中的調度和分配。該模型是一種處理和產生大規模數據集的編程模型。Map-Reduce不只僅是一種編程模型,同時也是一種高效的任務調度模型。Map-Reduce這種編程模型並不只適用於雲計算,在多核和多處理器、cell processor以及異構機羣上一樣有良好的性能。Map-Reduce是一種處理和產生大規模數據集的編程模型,程序員在Map函數中指定對各分塊數據的處理過程,在Reduce函數中指定如何對分塊數據處理的中間結果進行歸約,用戶只須要指定map和reduce函數來編寫分佈式的並行程序。當在集羣上運行Map- Reduce程序時,程序員不須要關心如何將輸入的數據分塊、分配和調度,同時系統還將處理集羣內節點失敗以及節點間通訊的管理等。執行一個Map-Reduce程序須要五個步驟:輸入文件、將文件分配給多個worker並行地執行、寫中間文件(本地寫)、多個Reduce workers同時運行、輸出最終結果。本地寫中間文件在減小了對網絡帶寬的壓力同時減小了寫中間文件的時間耗費。執行Reduce時,根據從Master得到的中間文件位置信息,Reduce使用遠程過程調用,從中間文件所在節點讀取所需的數據。Map-Reduce模型具備很強的容錯性,當worker節點出現錯誤時,只須要將該worker節點屏蔽在系統外等待修復,並將該worker上執行的程序遷移到其餘worker上從新執行,同時將該遷移信息經過Master發送給須要該節點處理結果的節點。Map- Reduce使用檢查點的方式來處理Master出錯失敗的問題,當Master,出現錯誤時,能夠根據最近的一個檢查點從新選擇一個節點做爲Master,並由此檢查點位置繼續運行。

Map/ Reduce 經過「Map ( 映射) 」和「Reduce(化簡) 」這樣兩個簡單的概念來參加運算,用戶只須要提供本身的Map 函數以及Reduce 函數就能夠在集羣上進行大規模的分佈式數據處理。Map/ Reduce 不只僅是一種編程模型,同時也是一種高效的任務調度模型,該編程模型僅適用於編寫任務內部鬆耦合、可以高度並行化的程序。所以,如何改進這種模式,使程序員得可以輕鬆的編寫緊耦合的程序,運行時能高效的調度和執行任務,是Map/ Reduce 編程模型將來的發展方向。

數據管理技術

爲了可以對大型數據進行高效的分析處理和特定數據的快速搜索,雲計算系統必須具有如下特色的數據管理技術,即對海量數據的存儲、讀取後進行大量的分析,數據的讀操做頻率要遠大於數據的更新頻率,採用了數據庫領域中列存儲的數據管理模式,將表按列劃分後存儲的讀優化數據管理。雲計算的數據管理技術最著名的是Google 的Big2Table 數據管理技術,同時Hadoop 開發團隊正在開發相似BigTable 的開源數據管理模塊。因爲採用列存儲的方式管理數據,如何提升數據的更新速率以及進一步提升隨機讀速率,將是將來數據管理技術必須解決的問題。

分佈式資源管理技術

在多分節併發執行環境,分佈式資源管理系統是保證系統狀態正確性的關鍵技術。系統狀態須要在多節點之間同步,關鍵節點出現故障時須要遷移服務,分佈式資源管理技術經過鎖機制協調多任務對於資源的使用,從而保證數據操做的一致性。google的chubby是最著名的分佈式資源管理系統。

雲計算平臺管理技術

雲計算資源規模龐大,一個系統的服務器數量可能會高達10萬臺並跨越幾個坐落於不一樣物理地點的數據中心,同時還運行成百上千種應用,如何有效地管理這些數據服務器,保證這些服務器組成的系統可以提供7*24h不間斷服務是一個巨大的挑戰。雲計算系統管理技術是雲計算的「神經網絡」,經過這些技術可以使大量的服務器協同工做,方便地進行業務部署和開通,快速發現和恢復系統故障,經過自動化、智能化的手段實現大規模系統的可運營、可管理。 

雲計算和其它的一些區分

雲計算和網格的區別

網格的定義:支持在動態變化的分佈式虛擬組織間共享資源,協同解決問題的系統。雲計算能夠被當作是網格計算和虛擬化技術的融合,即利用網格分佈式計算處理的能力,將IT 資源構築成一個資源池,再加上成熟的服務器虛擬化、存儲虛擬化技術,以便用戶能夠實時地監控和調配資源。能夠說雲計算的概念涵蓋了網格計算,而且加上了更多企業級安全的因素。

雲計算和網格計算的一個重要區別在於資源調度模式。雲計算採用集羣來存儲和管理數據資源,運行的任務以數據爲中心。即調度計算任務到數據存儲節點運行。而網格計算,則以計算爲中心。網格將數據和計算資源虛擬化,而云計算則進一步將硬件資源虛擬化,活用虛擬機技術,對失敗任務從新執行,而沒必要重啓任務。

<表格>網格計算和雲計算的主要區別

區別點

網格計算

雲計算

發起者

學術界

工業界

標準化

是【有統一的國際標準OGSA/WSRF】

否【開放雲計算聯盟OCC】

開源

部分開源

互聯網絡

因特網, 高延時低帶寬

高速網絡, 低延時高帶寬

關注點

計算密集型

數據密集型

節點

分散的PC或服務器

集羣

獲取的對象

共享的資源

提供的服務

安全保證

公私鑰技術,帳戶技術

保證隔離性

節點操做系統虛擬化

相同的系統UNIX虛擬數據和計算資源

多種操做系統上的虛擬機虛擬軟硬件平臺

節點管理方式

分散式管理

集中式管理

易用性

難以管理、使用

用戶友好

付費方式

/

按時付費

失敗管理

失敗的任務重啓

虛擬機遷移到其餘節點繼續執行

對第三方插件的兼容性

難以兼容

易於兼容,經過提供不一樣的服務來兼容

自我管理方式

從新配置

從新配置,自我修復

 

雲計算與分佈式計算

分佈式計算是指在一個鬆散或嚴格約束條件下使用一個硬件和軟件系統處理任務,系統包含多個處理器單元或存儲單元、多個併發的過程、多個程序。一個程序被分紅多個部分,同時在經過網絡鏈接起來的計算機上運行。分佈式計算相似於並行計算,但並行計算一般用於指一個程序的多個部分同時運行於某臺計算機上的多個處理器上。因此,分佈式計算一般必須處理異構環境、多樣化的網絡鏈接、不可預知的網絡或計算機錯誤。很顯然,雲計算屬於分佈式計算的範疇,是以提供對外服務爲導向的分佈式計算形式。雲計算把應用和系統創建在大規模的廉價服務器集羣之上,經過基礎設施與上層應用程序的協同構建以達到最大效率利用硬件資源的目的以及經過軟件的方法容忍多個節點的錯誤,達到了分佈式計算系統可擴展性和可靠性兩個方面的目標。

雲計算與並行計算

簡單而言,並行計算就是在並行計算機上所作的計算,它與常說的高性能計算(high performance computing)、超級計算(super computing)是同義詞,由於任何高性能計算和超級計算總離不開並行技術。並行計算是在串行計算的基礎上演變而來,它努力仿真天然世界中,一個序列中含有衆多同時發生的、複雜且相關事件的事務狀態。近年來,隨着硬件技術和新型應用的不斷髮展,並行計算也有了若干新的發展,如多核體系結構、雲計算、我的高性能計算機等。因此,雲計算是並行計算的一種形式,也屬於高性能計算、超級計算的形式之一。做爲並行計算的最新發展計算模式,雲計算意味着對於服務器端的並行計算要求的加強,由於數以萬計用戶的應用都是經過互聯網在雲端來實現的, 它在帶來用戶工做方式和商業模式的根本性改變的同時,也對大規模並行計算的技術提出了新的要求。

雲計算與效用計算

效用計算是一種基於計算資源使用量付費的商業模式, 用戶從計算資源供應商獲取和使用計算資源並基於實際使用的資源付費。在效用計算中,計算資源被看做是一種計量服務,就像傳統的水、電、煤氣等公共設施同樣。傳統企業數據中心的資源利用率廣泛在20%左右,這主要是由於超額部署——購買比平均所需資源更多的硬件以便處理峯值負載。效用計算容許用戶只爲他們所須要用到而且已經用到的那部分資源付費。雲計算以服務的形式提供計算、存儲、應用資源的思想與效用計算很是相似。二者的區別不在於這些思想背後的目標,而在於組合到一塊兒,使這些思想成爲現實的現有技術。雲計算是以虛擬化技術爲基礎的,提供最大限度的靈活性和可伸縮性。雲計算服務提供商能夠輕鬆地擴展虛擬環境,以經過提供者的虛擬基礎設施提供更大的帶寬或計算資源。效用計算一般須要相似雲計算基礎設施的支持,但並非必定須要。一樣,在雲計算之上能夠提供效用計算,也能夠不採用效用計算。

雲計算與虛擬化

虛擬化是雲計算的技術基礎,它將底層的硬件,包括服務器、存儲與網絡設備全面虛擬化,在虛擬化技術之上,經過創建一個隨需而選的資源共享、分配、管控平臺,可根據上層的數據能夠根據業務型態的不一樣需求,搭配出各類互相隔離的應用,造成一個服務導向的可伸縮的IT基礎架構,從而爲用戶提供以出租IT基礎設施資源爲形式的雲計算服務。

雲計算與SaaS

SaaS(軟件即服務)是指運營商經過搭建基於Web的軟件平臺,向企業提供軟件線上租賃使用的模式,是雲計算服務的一種用戶端表現形式。而云計算還能夠提供其它不一樣於SaaS形式的服務,例如亞馬遜的計算資源出租服務。目前多數SaaS廠商並非基於雲計算架構,沒有創建符合雲計算技術特徵的數據中心,也不具有大規模的可租用的計算資源。雲計算技術對SaaS提供商在解決硬件或帶寬等資源不足等方面是一種可選的技術路線,可以擴展SaaS提供商服務範圍,提高SaaS提供商對資源的利用能力。

雲計算與P2P

雲計算和P2P都致力於資源共享,以達到資源利用率的最大化。在雲計算架構中,計算機以集羣的形式組織起來,由數據處理中心進行自動化的統一管理和資源分配。而P2P強調去中心化的理念,結點之間直接互聯,弱化集中式的管理中心。P2P是對等聯網,強調互聯雙方的對等關係,經過直接交互共享資源,但資源整合利用的能力較低,純P2P網絡通常經過對等網絡自身實現所設計的功能,自己不多對外提供可管控、可定製的服務。

相關文章
相關標籤/搜索