云計算的“橫空出世”讓很多人將其視為一項全新的技術,但事實上它的雛形已出現(xiàn)多年,只是最近幾年才開始取得相對較快的發(fā)展。
云計算的 橫空出世 讓很多人將其視為一項全新的技術,但事實上它的雛形已出現(xiàn)多年,只是最近幾年才開始取得相對較快的發(fā)展。確切地說,云計算是大規(guī)模分布式計算技術及其配套商業(yè)模式演進的產物,它的發(fā)展主要有賴于虛擬化、分布式數(shù)據(jù)存儲、數(shù)據(jù)管理、編程模式、信息安全等各項技術、產品的共同發(fā)展。近些年來,托管、后向收費、按需交付等商業(yè)模式的演進也加速了云計算市場的轉折。云計算不僅改變了信息提供的方式,也顛覆了傳統(tǒng)ICT系統(tǒng)的交付模式。與其說云計算是技術的創(chuàng)新,不如說云計算是思維和商業(yè)模式的轉變。
下面詳細談一談云計算的核心技術。
云計算是一種以數(shù)據(jù)和處理能力為中心的密集型計算模式,它融合了多項ICT技術,是傳統(tǒng)技術 平滑演進 的產物。其中以虛擬化技術、分布式數(shù)據(jù)存儲技術、編程模型、大規(guī)模數(shù)據(jù)管理技術、分布式資源管理、信息安全、云計算平臺管理技術、綠色節(jié)能技術最為關鍵。
1、虛擬化技術
虛擬化是云計算最重要的核心技術之一,它為云計算服務提供基礎架構層面的支撐,是ICT服務快速走向云計算的最主要驅動力??梢哉f,沒有虛擬化技術也就沒有云計算服務的落地與成功。隨著云計算應用的持續(xù)升溫,業(yè)內對虛擬化技術的重視也提到了一個新的高度。與此同時,我們的調查發(fā)現(xiàn),很多人對云計算和虛擬化的認識都存在誤區(qū),認為云計算就是虛擬化。事實上并非如此,虛擬化是云計算的重要組成部分但不是全部。
從技術上講,虛擬化是一種在軟件中仿真計算機硬件,以虛擬資源為用戶提供服務的計算形式。旨在合理調配計算機資源,使其更高效地提供服務。它把應用系統(tǒng)各硬件間的物理劃分打破,從而實現(xiàn)架構的動態(tài)化,實現(xiàn)物理資源的集中管理和使用。虛擬化的最大好處是增強系統(tǒng)的彈性和靈活性,降低成本、改進服務、提高資源利用效率。
從表現(xiàn)形式上看,虛擬化又分兩種應用模式。一是將一臺性能強大的服務器虛擬成多個獨立的小服務器,服務不同的用戶。二是將多個服務器虛擬成一個強大的服務器,完成特定的功能。這兩種模式的核心都是統(tǒng)一管理,動態(tài)分配資源,提高資源利用率。在云計算中,這兩種模式都有比較多的應用。
2、分布式數(shù)據(jù)存儲技術
云計算的另一大優(yōu)勢就是能夠快速、高效地處理海量數(shù)據(jù)。在數(shù)據(jù)爆炸的今天,這一點至關重要。為了保證數(shù)據(jù)的高可靠性,云計算通常會采用分布式存儲技術,將數(shù)據(jù)存儲在不同的物理設備中。這種模式不僅擺脫了硬件設備的限制,同時擴展性更好,能夠快速響應用戶需求的變化。
分布式存儲與傳統(tǒng)的網(wǎng)絡存儲并不完全一樣,傳統(tǒng)的網(wǎng)絡存儲系統(tǒng)采用集中的存儲服務器存放所有數(shù)據(jù),存儲服務器成為系統(tǒng)性能的瓶頸,不能滿足大規(guī)模存儲應用的需要。分布式網(wǎng)絡存儲系統(tǒng)采用可擴展的系統(tǒng)結構,利用多臺存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴展。
在當前的云計算領域,Google的GFS和Hadoop開發(fā)的開源系統(tǒng)HDFS是比較流行的兩種云計算分布式存儲系統(tǒng)。
GFS(Google File System)技術:谷歌的非開源的GFS(GoogleFile System) 云計算平臺滿足大量用戶的需求,并行地為大量用戶提供服務。使得云計算的數(shù)據(jù)存儲技術具有了高吞吐率和高傳輸率的特點。
HDFS(Hadoop Distributed File System)技術:大部分ICT廠商,包括Yahoo、Intel的 云 計劃采用的都是HDFS的數(shù)據(jù)存儲技術。未來的發(fā)展將集中在超大規(guī)模的數(shù)據(jù)存儲、數(shù)據(jù)加密和安全性保證、以及繼續(xù)提高I/O速率等方面。
3、編程模式
從本質上講,云計算是一個多用戶、多任務、支持并發(fā)處理的系統(tǒng)。高效、簡捷、快速是其核心理念,它旨在通過網(wǎng)絡把強大的服務器計算資源方便地分發(fā)到終端用戶手中,同時保證低成本和良好的用戶體驗。在這個過程中,編程模式的選擇至關重要。云計算項目中分布式并行編程模式將被廣泛采用。
分布式并行編程模式創(chuàng)立的初衷是更高效地利用軟、硬件資源,讓用戶更快速、更簡單地使用應用或服務。在分布式并行編程模式中,后臺復雜的任務處理和資源調度對于用戶來說是透明的,這樣用戶體驗能夠大大提升。MapReduce是當前云計算主流并行編程模式之一。MapReduce模式將任務自動分成多個子任務,通過Map和Reduce兩步實現(xiàn)任務在大規(guī)模計算節(jié)點中的高度與分配。
MapReduce是Google開發(fā)的java、Python、C++編程模型,主要用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。MapReduce模式的思想是將要執(zhí)行的問題分解成Map(映射)和Reduce(化簡)的方式,先通過Map程序將數(shù)據(jù)切割成不相關的區(qū)塊,分配(調度)給大量計算機處理,達到分布式運算的效果,再通過Reduce程序將結果匯整輸出。
4、大規(guī)模數(shù)據(jù)管理
處理海量數(shù)據(jù)是云計算的一大優(yōu)勢。那么如何處理則涉及到很多層面的東西,因此高效的數(shù)據(jù)處理技術也是云計算不可或缺的核心技術之一。對于云計算來說,數(shù)據(jù)管理面臨巨大的挑戰(zhàn)。云計算不僅要保證數(shù)據(jù)的存儲和訪問,還要能夠對海量數(shù)據(jù)進行特定的檢索和分析。由于云計算需要對海量的分布式數(shù)據(jù)進行處理、分析,因此,數(shù)據(jù)管理技術必需能夠高效的管理大量的數(shù)據(jù)。
Google的BT(BigTable)數(shù)據(jù)管理技術和Hadoop團隊開發(fā)的開源數(shù)據(jù)管理模塊HBase是業(yè)界比較典型的大規(guī)模數(shù)據(jù)管理技術。
BT(BigTable)數(shù)據(jù)管理技術:BigTable是非關系的數(shù)據(jù)庫,是一個分布式的、持久化存儲的多維度排序Map.BigTable建立在 GFS, Scheduler, Lock Service和MapReduce之上,與傳統(tǒng)的關系數(shù)據(jù)庫不同,它把所有數(shù)據(jù)都作為對象來處理,形成一個巨大的表格,用來分布存儲大規(guī)模結構化數(shù)據(jù)。 Bigtable的設計目的是可靠的處理PB級別的數(shù)據(jù),并且能夠部署到上千臺機器上。
開源數(shù)據(jù)管理模塊HBase:HBase是Apache的Hadoop項目的子項目,定位于分布式、面向列的開源數(shù)據(jù)庫。HBase不同于一般的關系數(shù)據(jù)庫,它是一個適合于非結構化數(shù)據(jù)存儲的數(shù)據(jù)庫。另一個不同的是HBase基于列的而不是基于行的模式。作為高可靠性分布式存儲系統(tǒng),HBase在性能和可伸縮方面都有比較好的表現(xiàn)。利用HBase技術可在廉價PC Server上搭建起大規(guī)模結構化存儲集群。
1 2 閱讀全文