一荆永、云計算思想的產生
云計算的最終目標是將計算饼煞、服務和應用作為一種公共設施提供給公眾,使人們能夠像使用水逃片、電绝编、煤氣和電話那樣使用計算機資源眷昆。
二女揭、云計算的概念
云計算(Cloud Computing)是由分布式計算(Distributed Computing)掩驱、并行處理(Parallel Computing)涮帘、網(wǎng)格計算(Grid Computing)發(fā)展來的疮鲫,是一種新興的商業(yè)計算模型伤哺。目前茫舶,對于云計算的認識在不斷的發(fā)展變化皮仁,云計算仍沒有普遍一致的定義。
狹義的云計算指的是廠商通過分布式計算和虛擬化技術搭建數(shù)據(jù)中心或超級計算機挤忙,以免費或按需租用方式向技術開發(fā)者或者企業(yè)客戶提供數(shù)據(jù)存儲霜威、分析以及科學計算等服務,比如亞馬遜數(shù)據(jù)倉庫出租生意册烈。
廣義的云計算指廠商通過建立網(wǎng)絡服務器集群戈泼,向各種不同類型客戶提供在線軟件服務、硬件租借赏僧、數(shù)據(jù)存儲大猛、計算分析等不同類型的服務。廣義的云計算包括了更多的廠商和服務類型次哈,例如國內用友窑滞、金蝶等管理軟件廠商推出的在線財務軟件哀卫,谷歌發(fā)布的Google應用程序套裝等。
通俗的理解是共啃,云計算的"云"就是存在于互聯(lián)網(wǎng)上的服務器集群上的資源移剪,它包括硬件資源(服務器剿涮、存儲器取试、CPU等)和軟件資源(如應用軟件、集成開發(fā)環(huán)境等)蓬坡,本地計算機只需要通過互聯(lián)網(wǎng)發(fā)送一個需求信息铺根,遠端就會有成千上萬的計算機為你提供需要的資源并將結果返回到本地計算機位迂,這樣,本地計算機幾乎不需要做什么泻帮,所有的處理都在云計算提供商所提供的計算機群來完成。
三、云計算的主要服務形式和典型應用
云計算還處于萌芽階段踱蠢,有龐雜的各類廠商在開發(fā)不同的云計算服務苇侵。云計算的表現(xiàn)形式多種多樣,簡單的云計算在人們日常網(wǎng)絡應用中隨處可見哀军,比如騰訊QQ空間提供的在線制作Flash圖片,Google的搜索服務猿推,Google Doc, Google Apps等。目前秽五,云計算的主要服務形式有:SaaS(Software as a Service), PaaS(Platform as a Service)瓣铣, IaaS(Infrastructure as a Service)。
四丐一、云計算的核心技術
云計算系統(tǒng)運用了許多技術,其中以編程模型柠衍、數(shù)據(jù)管理技術牺勾、數(shù)據(jù)存儲技術、虛擬化技術、云計算平臺管理技術最為關鍵。
(1)編程模型
MapReduce是Google開發(fā)的java民泵、Python签钩、C++編程模型,它是一種簡化的分布式編程模型和高效的任務調度模型拾给,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算额衙。嚴格的編程模型使云計算環(huán)境下的編程十分簡單。MapReduce模式的思想是將要執(zhí)行的問題分解成Map(映射)和Reduce(化簡)的方式伟件,先通過Map程序將數(shù)據(jù)切割成不相關的區(qū)塊硼啤,分配(調度)給大量計算機處理,達到分布式運算的效果斧账,再通過Reduce程序將結果匯整輸出谴返。
(2) 海量數(shù)據(jù)分布存儲技術
云計算系統(tǒng)由大量服務器組成,同時為大量用戶服務咧织,因此云計算系統(tǒng)采用分布式存儲的方式存儲數(shù)據(jù)嗓袱,用冗余存儲的方式保證數(shù)據(jù)的可靠性。云計算系統(tǒng)中廣泛使用的數(shù)據(jù)存儲系統(tǒng)是Google的GFS和Hadoop團隊開發(fā)的GFS的開源實現(xiàn)HDFS拯爽。
GFS即Google文件系統(tǒng)(Google File System)索抓,是一個可擴展的分布式文件系統(tǒng),用于大型的毯炮、分布式的逼肯、對大量數(shù)據(jù)進行訪問的應用。GFS的設計思想不同于傳統(tǒng)的文件系統(tǒng)桃煎,是針對大規(guī)模數(shù)據(jù)處理和Google應用特性而設計的篮幢。它運行于廉價的普通硬件上,但可以提供容錯功能为迈。它可以給大量的用戶提供總體性能較高的服務三椿。
(3) 海量數(shù)據(jù)管理技術
云計算需要對分布的、海量的數(shù)據(jù)進行處理葫辐、分析搜锰,因此,數(shù)據(jù)管理技術必需能夠高效的管理大量的數(shù)據(jù)耿战。云計算系統(tǒng)中的數(shù)據(jù)管理技術主要是Google的BT(BigTable)數(shù)據(jù)管理技術和Hadoop團隊開發(fā)的開源數(shù)據(jù)管理模塊HBase蛋叼。
(4)虛擬化技術
通過虛擬化技術可實現(xiàn)軟件應用與底層硬件相隔離,它包括將單個資源劃分成多個虛擬資源的裂分模式剂陡,也包括將多個資源整合成一個虛擬資源的聚合模式狈涮。虛擬化技術根據(jù)對象可分成存儲虛擬化、計算虛擬化鸭栖、網(wǎng)絡虛擬化等歌馍,計算虛擬化又分為系統(tǒng)級虛擬化、應用級虛擬化和桌面虛擬化晕鹊。
(5)云計算平臺管理技術
云計算資源規(guī)模龐大松却,服務器數(shù)量眾多并分布在不同的地點暴浦,同時運行著數(shù)百種應用,如何有效的管理這些服務器玻褪,保證整個系統(tǒng)提供不間斷的服務是巨大的挑戰(zhàn)肉渴。