云計算是一種新型的業(yè)務交付模式,同時也是新型的IT基礎設施管理方法。通過新型的業(yè)務交付模式,用戶將通過網(wǎng)絡充分利用優(yōu)化的硬件、軟件和網(wǎng)絡資源,并以此為基礎提供創(chuàng)新的業(yè)務服務。新型的IT基礎設施管理方法讓IT部門可以把海量資源作為一個統(tǒng)一的大資源進行管理,支持IT部門在大量增加資源的同時無需顯著增加相應的人員進行維護管理,云計算的相關技術如下:
虛擬化
虛擬化可大幅度提高組織過程中資源和應用程序的效率和可用性。虛擬化把物理資源和最終呈現(xiàn)給用戶的資源進行了分離,實際上是一個替代過程,在具有統(tǒng)一良好架構設計的物理資源上創(chuàng)建出多個替代資源(即虛擬資源),替代資源和物理資源具有相同的接口和功能,對用戶來說虛擬資源具備與物理資源相同的使用功能,同時還可以有不同的屬性,如價格、容量、可調(diào)整性等。
自動化部署
云計算的一個核心思想是通過自動化的方式盡可能地簡化任務,使得用戶可以通過自助服務方式快捷地獲取所需的資源和能力。部署是基礎設施管理中十分重要,也是需要花費很大工作量的一部分,包括操作系統(tǒng)、中間件和應用等不同層次的部署。自動化部署可提供簡化流程,用戶提出申請后由自動化部署平臺根據(jù)調(diào)度和預約自動完成相應的部署,因此用戶只需花十幾分鐘,甚至幾分鐘就可以得到一個完整的環(huán)境,極大地提高了工作效率。
應用規(guī)模擴展
云計算提供了一個巨大的資源池,而應用的使用又有不同的負載周期,根據(jù)負載對應用的資源進行動態(tài)伸縮可以顯著提高資源的有效利用率,即高負載時動態(tài)擴展資源,低負載時釋放多余的資源,這就是應用規(guī)模擴展技術所解決的問題。該技術以應用為基本單位,為不同的應用架構設定不同的集群類型,每一種集群類型都有特定的擴展方式,然后通過監(jiān)控負載的動態(tài)變化,自動為應用集群增加或者減少資源。
分布式文件系統(tǒng)
分布式存儲的目標是利用云環(huán)境中多臺服務器的存儲資源來滿足單臺服務器所不能滿足的存儲需求。其特征是,存儲資源能夠被抽象表示和統(tǒng)一管理,并且能夠保證數(shù)據(jù)讀寫與操作的安全性、可靠性等各方面的要求。
云計算催生了一些優(yōu)秀的分布式文件系統(tǒng)和云存儲服務。最典型的云平臺分布式文件系統(tǒng)是Googie的GFS和開源的Hadoop。這兩種可伸縮的分布式文件系統(tǒng)利用容錯和故障恢復機制,有效地克服了單節(jié)點故障導致的系統(tǒng)故障,實現(xiàn)了大規(guī)模海量級的文件存儲。以Hadoop文件系統(tǒng)為例,Hadoop文件系統(tǒng)(HDFS)是一個運行在普通硬件之上的分布式文件系統(tǒng),它和現(xiàn)有的分布式文件系統(tǒng)有著很多相似性。然而,與其他分布式文件系統(tǒng)的區(qū)別也是很明顯的:HDFS是高容錯性的??梢圆渴鹪诘统杀镜挠布希琀DFS高吞吐量地對應用程序進行數(shù)據(jù)訪問,它適合大數(shù)據(jù)集的應用程序,HDFS放開一些POSIX的需求去實現(xiàn)流式地訪問文件數(shù)據(jù)。
分布式數(shù)據(jù)庫與非結構化數(shù)據(jù)存儲
在分布式文件系統(tǒng)上。典型的存儲海量結構化數(shù)據(jù)的分布式存儲系統(tǒng)包括Google的BigTable、開源的HBase等。這些系統(tǒng)可將非結構化數(shù)據(jù)(如網(wǎng)頁等)存儲為分布式的、多維的、有序的圖。HBase是Apache的Hadoop項目的子項目,是一個分布式的、面向列的開源數(shù)據(jù)庫,不同于一般的關系數(shù)據(jù)庫,它是一個適合于非結構化數(shù)據(jù)存儲的數(shù)據(jù)庫,并且采用的是基于列的而不是基于行的模式。其用戶存儲數(shù)據(jù)行在一個表里,一個數(shù)據(jù)行擁有一個可選擇的鍵和任意數(shù)量的列;表是疏松存儲的,因此用戶可以給行定義各種不同的列。HBase主要用于需要隨機訪問,實時讀寫大數(shù)據(jù)。
分布式計算
基于云平臺的最典型的分布式計算模式是Map Reduce編程模型。Map Reduce將大型任務分成很多細粒度的子任務,這些子任務分布式在多個計算節(jié)點上進行調(diào)度和計算,從而在云平臺上獲得對海量數(shù)據(jù)的處理能力。“Map(映射)”和“Reduce(化簡)”的主要思想都是從函數(shù)式編程語言里借來的:當前的軟件實現(xiàn)是指定一個Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(化簡)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。
簡單說來,一個映射函數(shù)就是對一些獨立元素組成概念列表的每一個元素進行指定的操作。事實上,每個元素都是被獨立操作的,而原始列表沒有被更改,因為這里創(chuàng)建了一個新的列表來保存新的答案。也就是說,Map操作是可以高度并行的,這對高性能要求的應用以及并行計算領域的需求非常有用。Reduce操作指的是對一個列表的元素進行適當?shù)暮喜ⅰkm然它不如映射函數(shù)那么并行,但是因為化簡總是有一個簡單的答案,大規(guī)模的運算相對獨立,所以化簡函數(shù)在高度并行環(huán)境下也很有用