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