隨著經(jīng)濟(jì)的發(fā)展,技術(shù)也在不斷地進(jìn)步,計(jì)算機(jī)逐漸走進(jìn)人們的視線里,與人們的生活融入到一起,也是促進(jìn)生產(chǎn)力發(fā)展的一項(xiàng)重要的推力。尤其是在一些大中型企業(yè)中,計(jì)算機(jī)技術(shù)更是不可或缺的一部分。但是隨著市場競爭的加劇,企業(yè)中或者個(gè)人需要處理和分析的數(shù)據(jù)和信息變得越來越多,越來越復(fù)雜,面對(duì)眾多和復(fù)雜的數(shù)據(jù),不僅浪費(fèi)時(shí)間還浪費(fèi)精力。一般的計(jì)算機(jī)技術(shù)很難支撐企業(yè)的運(yùn)作,于是云計(jì)算順應(yīng)時(shí)代而生,廣泛的應(yīng)用到了企業(yè)中。
云計(jì)算的概念
云計(jì)算是一種新興的商業(yè)計(jì)算模型。它利用高速互聯(lián)網(wǎng)的傳輸能力,將數(shù)據(jù)的存儲(chǔ)和處理從個(gè)人計(jì)算機(jī)或服務(wù)器移到互聯(lián)網(wǎng)上的計(jì)算機(jī)集群中。集群環(huán)境中包含一個(gè)主節(jié)點(diǎn)和多個(gè)子節(jié)點(diǎn),其中主節(jié)點(diǎn)為控制節(jié)點(diǎn)。是一個(gè)數(shù)據(jù)管理和分配中心,子節(jié)點(diǎn)受主節(jié)點(diǎn)控制,實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和計(jì)算。在這種主從模式下,計(jì)算機(jī)按客戶的需求分配計(jì)算資源并進(jìn)行計(jì)算和存取。達(dá)到與超級(jí)計(jì)算機(jī)同樣的計(jì)算能力,從而降低成本。
云計(jì)算的思想是把大量的存儲(chǔ)計(jì)算資源通過網(wǎng)絡(luò)連接起來進(jìn)行資源的統(tǒng)一管理和調(diào)度,從而構(gòu)成一個(gè)資源池向用數(shù)據(jù)管理和分配中心,在用戶看來,“云”中的資源是可以無限擴(kuò)展的,可以隨時(shí)獲取,按需使用,就像我們?nèi)粘J褂玫拿簹?、水電一樣,集中統(tǒng)一存儲(chǔ)和管理,方便及時(shí)取用,消耗和費(fèi)用低廉。這可以使個(gè)人和企業(yè)不用再購買昂貴的硬件設(shè)備和軟件產(chǎn)品。只需要付費(fèi)自己需要的那部分服務(wù),也免去了以前硬件的保養(yǎng)和軟件繁瑣的升級(jí),而且更為安全可靠。另外,云計(jì)算是網(wǎng)格計(jì)算、并行計(jì)算、分布式計(jì)算的發(fā)展,利用云,用戶可以方便地通過網(wǎng)絡(luò)獲取強(qiáng)大的計(jì)算能力、存儲(chǔ)能力以及基礎(chǔ)設(shè)施。
云計(jì)算的服務(wù)模式和系統(tǒng)結(jié)構(gòu)
服務(wù)模式
云計(jì)算主要包括基礎(chǔ)設(shè)施即服務(wù)、平臺(tái)即服務(wù)、軟件即服務(wù)3種服務(wù)模式。
基礎(chǔ)設(shè)施即服務(wù):商家把由多臺(tái)服務(wù)器集群組成的“云端”基礎(chǔ)設(shè)施通過互聯(lián)網(wǎng)按量給客戶提供服務(wù),它主要包括存儲(chǔ)資源和虛擬化服務(wù)器等服務(wù)。是一種托管式硬件服務(wù),用戶付費(fèi)使用商家的硬件設(shè)施。例如, AmazonWeb服務(wù),IBM的“藍(lán)云”服務(wù)等都是將基礎(chǔ)設(shè)施作為服務(wù)出租給用戶。
平臺(tái)即服務(wù):它是把開發(fā)環(huán)境、軟件研發(fā)平臺(tái)作為一種服務(wù)提供給用戶,用戶可以在其開發(fā)平臺(tái)上研制開發(fā)自己的應(yīng)用程序并通過互聯(lián)網(wǎng)提供給用戶使用。PaaS實(shí)際上是和SaaS一樣的模式提供給用戶使用的。只不過 PaaS提供的服務(wù)是軟件開發(fā)平臺(tái)。而另一個(gè)提供的服務(wù)是應(yīng)用軟件。
軟件即服務(wù):它是把應(yīng)用軟件作為一種服務(wù)提供給用戶。服務(wù)提供商統(tǒng)一把應(yīng)用軟件放在自己的“云端”服務(wù)器上,然后通過互聯(lián)網(wǎng)提供給用戶,用戶根據(jù)需求訂購相應(yīng)的軟件.并根據(jù)訂購數(shù)量和時(shí)間來付費(fèi)。直接通過瀏覽器使用。例如GoosleDoe、GoogleApps和ZohoOfice等都屬于這類服務(wù)。
系統(tǒng)結(jié)構(gòu)
云計(jì)算系統(tǒng)結(jié)構(gòu)分為三部分,主服務(wù)器節(jié)點(diǎn)、子服務(wù)器節(jié)點(diǎn)和客戶端。
主服務(wù)器節(jié)點(diǎn)主要負(fù)責(zé)數(shù)據(jù)映射、負(fù)載均衡、任務(wù)調(diào)度和檢測容錯(cuò)等。子服務(wù)器節(jié)點(diǎn)主要負(fù)責(zé)高度并行的數(shù)據(jù)存儲(chǔ)和計(jì)算處理任務(wù),它受主服務(wù)節(jié)點(diǎn)的管理和調(diào)度,直接與客戶端進(jìn)行數(shù)據(jù)交換,形成一個(gè)大型協(xié)調(diào)工作的資源池,采用虛擬化技術(shù)使資源以最大的利用。主服務(wù)器節(jié)點(diǎn)和子服務(wù)器節(jié)點(diǎn)合起來組成“云”服務(wù)器,它通過互聯(lián)網(wǎng)向客戶端提供IaaS, PaaS和SaaS等服務(wù)。云計(jì)算Hadoop構(gòu)架主要包括GFS(Google分布式文件系統(tǒng))、BigTable(分布式數(shù)據(jù)庫)和MapReduce編程等。GFS分布式文件系統(tǒng)和BigTable分布式數(shù)據(jù)庫提供數(shù)據(jù)存取,MapReduce提供Map和 Reduce高度并行處理??蛻舳耸窃朴?jì)算的人口??蛻敉ㄟ^它提交用戶請(qǐng)求服務(wù),用戶直接可以在Web瀏覽器上注冊、登錄、定制服務(wù),用戶請(qǐng)求通過互聯(lián)網(wǎng)發(fā)送到云服務(wù)器端。
云計(jì)算的關(guān)鍵技術(shù)
云計(jì)算作為一種數(shù)據(jù)密集型的新型超級(jí)計(jì)算,它以數(shù)據(jù)為中心,其技術(shù)實(shí)質(zhì)是存儲(chǔ)、計(jì)算、服務(wù)器、應(yīng)用軟件等IT軟硬件資源的虛擬化,擁有數(shù)據(jù)存儲(chǔ)技術(shù)、數(shù)據(jù)管理技術(shù)、虛擬化技術(shù)幾個(gè)關(guān)鍵技術(shù)。
數(shù)據(jù)存儲(chǔ)技術(shù)
云計(jì)算作為數(shù)據(jù)密集型的超級(jí)計(jì)算,它要存儲(chǔ)海量的數(shù)據(jù),因此數(shù)據(jù)存儲(chǔ)的安全可靠與數(shù)據(jù)讀寫的經(jīng)濟(jì)高效是云計(jì)算的基礎(chǔ)。云計(jì)算采用分布式存儲(chǔ)技術(shù)把海量的數(shù)據(jù)存儲(chǔ)在服務(wù)器集群中,同時(shí)為一份數(shù)據(jù)存儲(chǔ)多份副本,采用冗余存儲(chǔ)的方式和數(shù)據(jù)加密技術(shù)來保證數(shù)據(jù)的安全可靠性;云計(jì)算用高吞吐率和高傳輸率來保證并行的為大量用戶提供服務(wù)。云計(jì)算系統(tǒng)中廣泛使用的數(shù)據(jù)存儲(chǔ)系統(tǒng)是谷歌非開源的GFS和Hadoop團(tuán)隊(duì)實(shí)現(xiàn) HDFS。
GFS即谷歌文件系統(tǒng),是一個(gè)可擴(kuò)展的分布式文件系統(tǒng)。用于大型的、分布式的、對(duì)大量數(shù)據(jù)進(jìn)行訪問的應(yīng)用。它運(yùn)行于廉價(jià)的普通硬件上,但可以提供容錯(cuò)功能。它可以給大量的用戶提供總體性能較高的服務(wù)。
GFS主要分為兩類節(jié)點(diǎn):一個(gè)主服務(wù)器節(jié)點(diǎn)和多個(gè)塊服務(wù)器節(jié)點(diǎn)。主服務(wù)器節(jié)點(diǎn)主要存儲(chǔ)與數(shù)據(jù)文件相關(guān)的元數(shù)據(jù).元數(shù)據(jù)包括一個(gè)能將64位標(biāo)簽映射到數(shù)據(jù)塊的位置及其組成文件的表格,數(shù)據(jù)塊副本位置和哪個(gè)進(jìn)程正在讀寫特定的數(shù)據(jù)塊等。主服務(wù)器節(jié)點(diǎn)會(huì)周期性地接收從每個(gè)塊服務(wù)器節(jié)點(diǎn)傳來的更新來讓元數(shù)據(jù)保持最新狀態(tài)。塊服務(wù)器節(jié)點(diǎn)主要用于存儲(chǔ)數(shù)據(jù),數(shù)據(jù)文件會(huì)以每個(gè)默認(rèn)大小為64MB的數(shù)據(jù)塊的方式存儲(chǔ)在塊服務(wù)器上。每個(gè)數(shù)據(jù)塊都有一個(gè)唯一的64位標(biāo)簽,并且每個(gè)數(shù)據(jù)塊在整個(gè)分布式塊服務(wù)器上有多個(gè)副本。
GFS這種文件系統(tǒng)使客戶與主服務(wù)器的交換只限于對(duì)元數(shù)據(jù)的操作.所有數(shù)據(jù)方面的通信都由客戶直接和塊服務(wù)器聯(lián)系,這大大提高了系統(tǒng)的效率,防止主服務(wù)器負(fù)載過重。
數(shù)據(jù)管理技術(shù)
計(jì)算需要對(duì)海量的分布式數(shù)據(jù)進(jìn)行處理、分析,因此,數(shù)據(jù)管理技術(shù)必須能夠高效地管理大量的數(shù)據(jù)。云計(jì)算系統(tǒng)中的數(shù)據(jù)管理技術(shù)主要是開源數(shù)據(jù)管理模塊HBase。BigTable是建立在GFS、Scheduler、LocK Service 和MapReduce之上的一個(gè)大型的分布式數(shù)據(jù)庫,與傳統(tǒng)的關(guān)系數(shù)據(jù)庫不同,它把所有數(shù)據(jù)都作為對(duì)象來處理,形成一個(gè)巨大的表格,用來分布存儲(chǔ)大規(guī)模結(jié)構(gòu)化數(shù)據(jù)。BigTable采用多級(jí)映射的數(shù)據(jù)結(jié)構(gòu),并支持大規(guī)模數(shù)據(jù)處理、高容錯(cuò)性和自我管理等特性,提供PB級(jí)的存儲(chǔ)能力,使用結(jié)構(gòu)化的文件來存儲(chǔ)數(shù)據(jù),并整個(gè)集群每秒可處理數(shù)百萬的讀寫操作。多級(jí)映射的數(shù)據(jù)結(jié)構(gòu)是一個(gè)稀疏的、多維的和排序的Map,每個(gè)單元格由行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳來進(jìn)行三維定位。
BigTable主要分為兩部分:其一是Master節(jié)點(diǎn),用來處理元數(shù)據(jù)相關(guān)的操作并支持負(fù)載均衡。其二是Tablet節(jié)點(diǎn),主要用于存儲(chǔ)數(shù)據(jù)庫的分片,并提供數(shù)據(jù)訪問,同時(shí)Tablet是基于名為SSTable的格式,對(duì)壓縮有很好的支持。
虛擬化技術(shù)
虛擬化技術(shù)是云計(jì)算、云存儲(chǔ)服務(wù)得以實(shí)現(xiàn)的基礎(chǔ)和關(guān)鍵。虛擬化將原本運(yùn)行在真實(shí)環(huán)境中的計(jì)算機(jī)系統(tǒng)或者組件運(yùn)行在虛擬出來的環(huán)境中,它通過在硬件資源、操作系統(tǒng)和應(yīng)用程序這些不同的層次之間構(gòu)建一個(gè)虛擬化層,這個(gè)虛擬化層做為中間層連接上下兩層,它向上層提供下層相同或類似的功能,這樣上層不直接運(yùn)行在下層環(huán)境中,而是運(yùn)行在這個(gè)虛擬化的環(huán)境層中。虛擬化層解除了上下兩層的耦合關(guān)系,使上層的運(yùn)行不依賴于下層的具體實(shí)現(xiàn)。
虛擬化可以節(jié)省開銷、整合服務(wù)、使資源得到最大利用。虛擬化技術(shù)包括將單個(gè)資源劃分成多個(gè)虛擬資源的裂分模式和將多個(gè)資源整合成一個(gè)虛擬資源的聚合模式。虛擬化技術(shù)按照IT資源可分為基礎(chǔ)設(shè)施虛擬化、系統(tǒng)虛擬化和軟件虛擬化等,根據(jù)對(duì)象可分成存儲(chǔ)虛擬化、計(jì)算虛擬化、網(wǎng)絡(luò)虛擬化等。
云計(jì)算技術(shù)面臨的問題
云計(jì)算的快速發(fā)展和應(yīng)用給人們帶來了越來越多的便利和實(shí)惠,但其發(fā)展道路上也存在著很多問題,如數(shù)據(jù)安全問題、系統(tǒng)穩(wěn)定可靠性問題、網(wǎng)絡(luò)傳輸問題、技術(shù)標(biāo)準(zhǔn)化問題等。
數(shù)據(jù)安全問題:如何保證數(shù)據(jù)存儲(chǔ)和傳輸?shù)陌踩煽?。?shù)據(jù)信息長期安全使用、不丟失、不被錯(cuò)誤修改和竊取。特別是有些數(shù)據(jù)信息是商業(yè)機(jī)密、國家機(jī)密,這些數(shù)據(jù)的安全直接關(guān)系到一個(gè)企業(yè)和國家的生存、發(fā)展和強(qiáng)大。數(shù)據(jù)的安全性是云計(jì)算得以發(fā)展的前提和根本,不僅需要技術(shù)的改進(jìn),也需要法律的進(jìn)一步完善。
系統(tǒng)穩(wěn)定可靠性問題:大規(guī)模的集群計(jì)算系統(tǒng)是云計(jì)算的支撐,當(dāng)系統(tǒng)規(guī)模增大后??煽啃院头€(wěn)定性就成為最大的挑戰(zhàn)之一。需要通過有效的系統(tǒng)配置、監(jiān)控、管理、調(diào)度、虛擬化等技術(shù)。實(shí)現(xiàn)一個(gè)強(qiáng)大的、動(dòng)態(tài)的、自治的計(jì)算存儲(chǔ)資源池,提供云計(jì)算所需要的大容量計(jì)算力。系統(tǒng)級(jí)的容錯(cuò)技術(shù)是系統(tǒng)技術(shù)方面的一個(gè)難點(diǎn)。大量服務(wù)器進(jìn)行同一個(gè)計(jì)算時(shí)單節(jié)點(diǎn)故障不應(yīng)影響應(yīng)用的正常運(yùn)行。對(duì)類似數(shù)據(jù)檢索這樣計(jì)算節(jié)點(diǎn)間無通訊的應(yīng)用。這一點(diǎn)比較容易實(shí)現(xiàn)。但對(duì)那些有大量通訊的緊耦合類應(yīng)用。當(dāng)前業(yè)內(nèi)仍無有效的系統(tǒng)級(jí)容錯(cuò)方案。目前主要還是依賴應(yīng)用層面的檢查點(diǎn)和重啟技術(shù),一方面增加了開發(fā)的難度和工作量,另外一方面對(duì)運(yùn)行性能也有一定的影響力。
網(wǎng)絡(luò)傳輸問題:云計(jì)算服務(wù)建立在網(wǎng)絡(luò)基礎(chǔ)之上,網(wǎng)絡(luò)傳輸速率的高低,直接影響著云計(jì)算執(zhí)行效率和優(yōu)勢的發(fā)揮。云計(jì)算的發(fā)展和普及依賴于網(wǎng)絡(luò)技術(shù)的發(fā)展。
技術(shù)標(biāo)準(zhǔn)化問題:云服務(wù)在不同的云服務(wù)商之間遷移、轉(zhuǎn)換等的兼容移植性問題都需要相關(guān)的技術(shù)標(biāo)準(zhǔn)去規(guī)范和實(shí)現(xiàn)。比如用戶希望維護(hù)多個(gè)云之間的數(shù)據(jù)同步或者相互操作同步等。比較理想的解決方案是通過一些公共的方法,或者標(biāo)準(zhǔn)將多個(gè)云數(shù)據(jù)中心抽象成一個(gè)通用的虛擬中心,這樣降低相互同步的復(fù)雜性,提高不同云服務(wù)之間的共用性。
云計(jì)算的發(fā)展應(yīng)用及其展望
隨著互聯(lián)網(wǎng)技術(shù)、分布式計(jì)算、信息社會(huì)需求等的快速發(fā)展,再加上谷歌、微軟、IBM、浪潮等大公司的推動(dòng)和各國政府的大力支持,云計(jì)算在國內(nèi)外都得到了快速的發(fā)展和應(yīng)用。到目前為止,已經(jīng)很多行業(yè)都能捕捉到云計(jì)算的蹤影。
尤其在天文地理、醫(yī)學(xué)生物學(xué)、網(wǎng)絡(luò)安全、科研軍事、娛樂服務(wù)等領(lǐng)域,云計(jì)算有著廣闊的應(yīng)用發(fā)展前景。比如氣象預(yù)報(bào)、地震監(jiān)測、天文信息處理、DNA信息分析、病毒掃描、高仿真軍事模擬、在線游戲娛樂、海量數(shù)據(jù)檢索、海量高維數(shù)據(jù)挖掘等行業(yè)都急切需要云計(jì)算技術(shù)解決其中的相關(guān)技術(shù)難題。云計(jì)算的廣闊應(yīng)用前景正吸引著人們掀起一翻“云”的浪潮。