雲計算的出現,改變了資訊和服務的提供方式,它顛覆了傳統IT系統的交付模式。 與其說雲計算是技術的創新,不如說雲計算是思維模式的轉變。
雲計算是一種以資料和處理能力為中心的密集型計算模式,它融合了資料存儲、資料管理、併發控制、分散式運算、系統管理、負載均衡等多種傳統IT技術。 仔細研究不難發現,雲計算並不是科技「新發明」,而是傳統技術的「平滑演進」。 談及雲計算,有七大傳統IT技術不可或缺,可以說它們是雲計算得以實現的基石。 以下是筆者的簡要總結,曬出來希望對大家有所説明。
一、 虛擬化
很多人對雲計算和虛擬化的認識都存在誤區,認為雲計算就是虛擬化。 事實上並非如此,虛擬化只是雲計算的核心技術之一。 也就是說,虛擬化是雲計算的重要給成部分但不是全部。
從技術上講,虛擬化是一種調配電腦資源的方法。 它把應用系統各硬體間的物理劃分打破,從而實現架構的動態化,實現物理資源的集中管理和使用。 虛擬化的最大好處是增強系統的彈性和靈活性,降低成本、改進服務、提高資源利用效率。
從表現形式上看,虛擬化又分兩種應用模式。 一是將一台性能強大的伺服器虛擬成多個獨立的小伺服器,服務不同的使用者。 二是將多個伺服器虛擬成一個強大的伺服器,完成特定的功能。 這兩種模的核心都是統一管,動態分配資源,提高資源利用率。 在雲計算中,這兩種模式都有比較多的應用。
二、 海量分散式資料存儲
雲計算的另一大優勢就是能夠快速、高效地處理海量資料。 在資料爆炸的今天,這一點至關重要。 為了保證資料的高可靠性,雲計算通常會採用分散式存儲技術,將資料存儲在不同的物理設備中。 這種模式不僅擺脫了硬體設備的限制,同是擴充性更好,能夠快速回應使用者需求的變化。
分散式存儲與傳統的網路存儲並不完全一樣,傳統的網路存儲系統採用集中的存儲伺服器存放所有資料,存儲伺服器成為系統性能的瓶頸,不能滿足大規模存儲應用的需要。 分散式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲資訊,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
海量分散式資料存儲技術已經成為雲計算的核心技術之一。 在當前的雲計算領域,Google的GFS和Hadoop開發的開源系統HDFS是比較流行兩種雲計算公佈式存儲系統。
三、 並行程式設計
從本質上講,雲計算是一個多使用者、多工、支援併發處理的系統。 高效、簡捷、快速是其核心理念,它旨在通過網路把強大的伺服器計算資源方便地分發到終端使用者手中,同時保證低成本和良好的使用者體驗。 在這個過程中,並行程式設計模式將被廣泛採用。
並行程式設計模式創立的初忠是更高效地利用軟、更件資源,讓使用者更快速、更簡單地使用應用或服務。 在並行程式設計模式中,後臺複雜的任務處理和資源調度對於使用者來說是透明的,這樣使用者體驗能夠大大提升。
MapReduce是當前雲計算主流並行程式設計模式之一。 MapReduce模式將任務自動分成多個子任務,通過Map和Reduce兩步實現任務在大規模計算節點中的高度與分配。
事實上,並行程式設計並不能實現多個任務100%同時進行。 它只是讓多個任務看上雲盡可能同步,因為程式的執行都是有先後順序的。 只是時間間隔和誰先誰後需要全面而細緻的設計。
對於不懂技術的人來說,並行程式設計模式似乎很難理解。 簡單來說並行程式設計的過程就是按1-2-1-2-1...... 的循序執行,但它會通過特定手段,讓使用者感覺不出1到2的順序。
四、 資料管理
前文提到,處理海量資料是雲計算的一大優勢。 那麼如何處理則涉及到很多層面的東西,因此高效地資料處理技術也是雲計算不可或缺的核心技術之一。
對於雲計算來說,資料管理面臨巨大的挑戰。 雲計算不僅要保證資料的存儲和訪問,還要能夠對海量資料進行特定的檢索和分析。
另外,雲計算要處理的資料不僅僅是本地資料中心裡的資料,來自網路的資料才是重點。 隨著互聯網的興起,如何高效利用和管理網路資料一直是業內的熱門話題。 雲計算的核心也是網路,不管是SaaS、PaaS還是IaaS都離不開網路資料的管理。 因此,雲計算必需引入全面而高效的資料技術。
五、 分散式資源管理
雲計算採用了分散式存儲技術存儲資料,那麼自然要引入分散式資源管理技術。 在多節點的併發執行環境中,各個節點的狀態需要同步,並且在單個節點出現故障時,系統需要有效的機制保證其它節點不受影響。 而分散式資源管理系統恰是這樣的技術,它是是保證系統狀態的關鍵。
另外,雲計算系統所處理的資源往往非常龐大,少則幾百台伺服器,多則上萬台,同時可能跨躍多個地域。 且雲平臺中運行的應用也是數以千計,如何有效地管理這此資源,保證它們正常提供服務,需要強大的技術支撐。 因此,分散式資源管理技術的重要性可想而知。
儘管挑戰巨大,全球各大雲計算服務提供者們都在積極開展相關技術的研發工作。 其中Google內部使用的Borg技術很受業內稱道。 另外,微軟、IBM、Oracle/Sun等雲計算巨頭都有相應解決方案提出。
六、 安全技術
調查資料表明,安全已經成為阻礙雲計算發展的最主要原因之一。 資料顯示,32%已經使用雲計算的組織和45%尚未使用雲計算的組織的IT管理將雲安全作為進一步部署雲的最大障礙。 因此,要想保證雲計算能夠長期穩定、快速發展,安全是首要解決的問題。
事實上,雲計算安全也不是新問題,傳統互聯網存在同樣的問題。 只是雲計算出現以後,安全問題變得更加突出。 在雲計算體系中,安全涉及到很多層面,包括網路安全、伺服器安全、軟體安全、系統安全等等。 因此,有分析師認為,雲安全產業的發展,將把傳統安全技術提到一個新的階段。
現在,不管是軟體安全廠商還是硬體安全廠商都在積極研發雲計算安全產品和方案。 包括傳統殺毒軟體廠商、軟硬防火牆廠商、IDS/IPS廠商在內的各個層面的安全供應商都已加入到雲安全領域。 相信在不久的將來,雲安全問題將得到很好地解決。
七、 綠色節能技術
節能環保是全球整個時代的大主題。 雲計算以也低成本、高效率著稱。 雲計算具有巨大的規模經濟效益,在提高資源利用效率的同時,節省了大量能源。 Carbon Disclosure Project(碳排放披露專案,簡稱CDP)近日發佈了一項有關雲計算有助於減少碳排放的研究報告。 報告指出,遷移至雲的美國公司每年就可以減少碳排放8570萬噸,這相當於2億桶石油所排放出的碳總量。
當然,雲計算服務提供者們會持續改善技術,讓雲計算更綠色。 在這裡,我想說的是,綠色節能技術已經成為雲計算必不可少的技術,在未來越來越多的節能技術還會被引入雲計算中來。