常 浩
(太原大學(xué) 計算機(jī)工程系,山西 太原 030009)
云計算與網(wǎng)格計算
常 浩
(太原大學(xué) 計算機(jī)工程系,山西 太原 030009)
分布式處理、并行處理和網(wǎng)格計算的發(fā)展推動了計算機(jī)產(chǎn)業(yè)的發(fā)展,云計算運動隨之產(chǎn)生。從云計算服務(wù)類型、云計算與網(wǎng)格計算的相似與不同方面,探討了云計算優(yōu)于網(wǎng)格計算的地方,同時介紹了兩者面臨的共同問題以及一些安全方面的問題。
服務(wù);云計算;網(wǎng)格計算
分布式計算、網(wǎng)格計算和SOA被普遍采用以來,云計算運動已應(yīng)運而生。實現(xiàn)云計算需要三個部分,瘦客戶機(jī)(或者能夠在胖瘦之間切換的客戶機(jī))、網(wǎng)格計算和效用計算;網(wǎng)格計算將獨立的計算機(jī)連接成一個大的基礎(chǔ)設(shè)施,充分利用閑置的資源;效用計算就是支付在共享服務(wù)器上使用的服務(wù),就好像支付公共事業(yè)一樣(比如電力、天然氣等)。通過網(wǎng)格計算,可以把計算資源作為能夠開啟關(guān)閉的公用事業(yè)來提供,而云計算更進(jìn)一步,可以隨需提供計算資源,這樣在使用公用定價時就可以避免過度供給,在滿足數(shù)百萬用戶的需求時也消除了過度供給的需要。
消費者通過Internet可以從完善的計算機(jī)基礎(chǔ)設(shè)施獲得服務(wù),這類服務(wù)稱為基礎(chǔ)設(shè)施服務(wù)(Infrastructure as a Service),基于Internet的服務(wù)是基礎(chǔ)設(shè)施服務(wù)的一部分;Internet上其他類型的服務(wù)包括平臺服務(wù)(Platform as a Service)和軟件服務(wù)(Software as a Service),平臺服務(wù)提供了用戶可以訪問的完整或部分的應(yīng)用程序開發(fā),而軟件服務(wù)則提供了完整的可直接使用的應(yīng)用程序,比如通過Internet管理企業(yè)資源。
基礎(chǔ)設(shè)施服務(wù)在實際應(yīng)用中非常廣泛,例如The New York Times使用成百上千臺Amazon EC2實例在36小時內(nèi)處理TB級的文檔數(shù)據(jù),如果沒有EC2,The New York Times處理這些數(shù)據(jù)將要花費數(shù)天或者數(shù)月的時間。基礎(chǔ)設(shè)施服務(wù)分為兩種用法,公共和私有。Amazon EC2在基礎(chǔ)設(shè)施云中使用公共服務(wù)器池,更加私有化的服務(wù)會使用企業(yè)內(nèi)部數(shù)據(jù)中心的一組公用或私有服務(wù)器池,如果在企業(yè)數(shù)據(jù)中心環(huán)境中開發(fā)軟件,那么這兩種類型都能使用,而且使用EC2臨時擴(kuò)展資源的成本也很低,例如測試,結(jié)合使用兩者可以更快地開發(fā)應(yīng)用程序和服務(wù),縮短開發(fā)和測試周期。
使用EC2,客戶可以創(chuàng)建自己的Amazon Machine Images(AMI),包括操作系統(tǒng)、應(yīng)用程序和數(shù)據(jù),并控制在給定的時候每個AMI有多少實例運行,客戶為占用的實例時間和帶寬付費,高峰的時候增加計算資源,不需要的時候減少計算資源。EC2、Simple Storage Service及其他Amazon產(chǎn)品能夠通過 Internet為數(shù)百萬用戶提供服務(wù)。Amazon提供了從單核的x86服務(wù)器到8核的x86-64服務(wù)器等五種不同類型的服務(wù)器,提供服務(wù)實例不需要知道使用了哪種服務(wù)器,可以把實例放在不同的地理位置或者可用區(qū)域內(nèi),Amazon允許使用彈性IP地址,可以動態(tài)分配給實例。
使用云計算,企業(yè)馬上就能大幅提高自己的計算能力,而不需要投資新的基礎(chǔ)設(shè)施,開展新的培訓(xùn)或者購買新的軟件許可證,云計算最適合希望將數(shù)據(jù)中心基礎(chǔ)設(shè)施全部外包的中小型企業(yè),或者希望不用花費高額成本建立更大的數(shù)據(jù)中心就可獲得更高負(fù)荷能力的大型企業(yè),不論哪種情況服務(wù)消費者都在Internet上使用所需要的服務(wù)并只為所使用的服務(wù)付費。服務(wù)消費者不用守在PC旁邊使用PC上的應(yīng)用程序,或者購買針對特定智能手機(jī)、PDA及其他設(shè)備的版本,消費者不必?fù)碛性浦械幕A(chǔ)設(shè)施、軟件或平臺,因此降低了前期成本、資本支出和運營成本,消費者也不用關(guān)心云中的服務(wù)器和網(wǎng)絡(luò)怎么維護(hù),消費者可以訪問任何地方的多臺服務(wù)器,不需要知道使用的是哪一臺服務(wù)器以及它們的位置[1]。
云計算是從網(wǎng)格計算演化來的,能夠隨需應(yīng)變地提供資源。網(wǎng)格計算可以在云中,也可能不在,這取決于什么樣的用戶在使用它;如果用戶是系統(tǒng)管理員和集成商,就會關(guān)心如何維護(hù)云,并升級、安裝和虛擬化服務(wù)器與應(yīng)用程序;如果用戶是消費者,就不必關(guān)心系統(tǒng)是如何運行的。網(wǎng)格計算要求軟件的使用可以分為多個部分,將程序的片段作為大的系統(tǒng)映像傳遞給幾千個計算機(jī)中,網(wǎng)格的一個問題是如果某個節(jié)點上的軟件片段失效,可能會影響到其他節(jié)點上的軟件片段;如果這個片段在其他節(jié)點上可以使用故障轉(zhuǎn)移組件,那么就可以緩解問題,但是如果軟件片段依賴其他軟件片段完成一項或多項網(wǎng)格計算任務(wù),那么問題仍然得不到解決,大型系統(tǒng)鏡像以及用于操作和維護(hù)的相關(guān)硬件可能造成很高的資本和運營支出[2]。
云計算和網(wǎng)格計算都是可伸縮的,可伸縮性是通過獨立運行在通過Web服務(wù)連接的各種操作系統(tǒng)上的應(yīng)用程序?qū)嵗呢?fù)載平衡實現(xiàn)的; CPU和網(wǎng)絡(luò)帶寬根據(jù)需要分配和回收,系統(tǒng)存儲能力根據(jù)特定時間的用戶數(shù)量、實例的數(shù)量和傳輸?shù)臄?shù)據(jù)量進(jìn)行調(diào)整。
兩種計算類型都涉及到多承租和多任務(wù),即很多用戶可以執(zhí)行不同的任務(wù)。訪問一個或多個應(yīng)用程序?qū)嵗?通過大型的用戶池共享資源來降低基礎(chǔ)設(shè)施成本,提高峰值負(fù)荷能力。云計算和網(wǎng)格計算都提供了服務(wù)水平協(xié)議(SLA)以保證可用性,如果服務(wù)達(dá)不到承諾的正常運行時間,消費者將由于數(shù)據(jù)延遲而得到服務(wù)補(bǔ)償。
Amazon S3在云中提供了存儲和數(shù)據(jù)檢索Web服務(wù),可以存儲只有一個字節(jié)的對象,也能存儲5 GB甚至 TB級的對象,S3對于對象的每個存儲位置使用桶(bucket)作為容器,這些數(shù)據(jù)采用和Amazon電子商務(wù)網(wǎng)站相同的數(shù)據(jù)存儲基礎(chǔ)設(shè)施安全地實現(xiàn)存儲。雖然網(wǎng)格中的存儲計算非常適合數(shù)據(jù)密集型存儲,但是存儲一個字節(jié)大小的對象從經(jīng)濟(jì)上來說不合適,在數(shù)據(jù)網(wǎng)格中,分布式數(shù)據(jù)的數(shù)量必須足夠大才能發(fā)揮最大效益。
計算型網(wǎng)格關(guān)注的是計算量非常大的操作,而云計算中的Amazon Web Services提供了兩種實例,標(biāo)準(zhǔn)和高CPU。
假設(shè)有一個程序在云中進(jìn)行信用卡驗證,并且碰到了十二月份的銷售旺季,于是發(fā)現(xiàn)了更高的需求,需要創(chuàng)建更多的實例來滿足這種需求,隨著銷售旺季的過去,這種需求就會減少,資源實例被回收并重新分配給其他應(yīng)用。為了檢驗程序能否工作,在轉(zhuǎn)入真正的生產(chǎn)環(huán)境之前,在可行性試驗階段需要開發(fā)、改進(jìn)并實現(xiàn)一種閾值策略,看看這種策略能否發(fā)現(xiàn)需求的突然增加,從而創(chuàng)建更多的實例以滿足這些需求,看看如何回收閑置的資源并轉(zhuǎn)移到其他工作中去。
如果企業(yè)外包或者和一家云計算供應(yīng)商共同創(chuàng)建應(yīng)用程序,可能會發(fā)現(xiàn)很難轉(zhuǎn)向其他采用私有API或者具有不同導(dǎo)入和導(dǎo)出數(shù)據(jù)格式的供應(yīng)商,這就造成了兩家云計算供應(yīng)商之間的互操作性問題,可能需要改變數(shù)據(jù)的格式或者應(yīng)用程序邏輯,雖然還沒有出現(xiàn)API或者數(shù)據(jù)導(dǎo)入和導(dǎo)出的云計算業(yè)界標(biāo)準(zhǔn),但I(xiàn)BM和Amazon Web Services展開了合作以實現(xiàn)互操作性。
云計算并沒有告訴隱含的成本有哪些,比方說,如果企業(yè)要使用服務(wù)提供商提供的云中的存儲服務(wù)和包含 TB級數(shù)據(jù)的數(shù)據(jù)庫應(yīng)用程序,可能需要支付很高的網(wǎng)絡(luò)費用,這筆費用要比在購買新的基礎(chǔ)設(shè)施、培訓(xùn)新的雇員或者購買新的軟件許可證方面節(jié)省的成本高。網(wǎng)絡(luò)成本的另一個例子是,如果企業(yè)距離云提供商很遠(yuǎn),可能會遇到很長的延遲,尤其是在流量大的情況下。
假設(shè)信用卡驗證應(yīng)用程序在企業(yè)內(nèi)部數(shù)據(jù)中心運行得很好,需要通過可行性試驗對云中的應(yīng)用程序進(jìn)行檢驗,以檢查是否存在無法預(yù)料的行為,比方說,檢查應(yīng)用程序如何驗證信用卡,在十二月份的銷售高峰期如何分配資源和釋放閑置的資源,并轉(zhuǎn)向其他任務(wù),如果發(fā)現(xiàn)信用卡驗證或者釋放閑置資源出現(xiàn)異常的結(jié)果,那么就需要在將其放入云中之前解決這些問題。
在實際使用中Amazon S3和EC2可能遭遇宕機(jī),盡管SLA提供了數(shù)據(jù)恢復(fù)和針對這種情況的補(bǔ)償,但這個期間用戶失去了銷售機(jī)會,高管人員得不到需要的重要業(yè)務(wù)信息。不要被動地等待宕機(jī)的發(fā)生,用戶應(yīng)該自己檢查安全性,看看供應(yīng)商能在多大程度上恢復(fù)數(shù)據(jù),測試非常簡單,不需要特殊的工具,只需要請求過去存儲的數(shù)據(jù),看看供應(yīng)商恢復(fù)它需要多長時間,如果時間很長,問問供應(yīng)商在不同情況下能獲得多少服務(wù)補(bǔ)償,檢查校驗和是否匹配原來的數(shù)據(jù)。
安全測試的一個方面是用一種可信的算法在本地機(jī)器上加密數(shù)據(jù),然后使用解密密鑰訪問云中遠(yuǎn)程服務(wù)器上的數(shù)據(jù),如果無法讀取曾經(jīng)訪問過的數(shù)據(jù),那么就是加密密鑰被破壞了或者供應(yīng)商使用了自己的加密算法??赡苄枰蚬?yīng)商了解該算法。另一個是云中數(shù)據(jù)潛在的問題,為了保護(hù)數(shù)據(jù),可能需要管理自己的私有密匙,詢問供應(yīng)商私有密鑰的管理問題,如果簽署的話,Amazon將提供證書。
使用高端數(shù)據(jù)庫開發(fā)軟件,最可能的選擇是使用企業(yè)內(nèi)部數(shù)據(jù)中心的云服務(wù)器池,測試的時候可以使用Amazon Web服務(wù)臨時擴(kuò)展資源,這樣項目管理人員可以更好地控制成本、管理安全問題和分配資源,項目管理人員可以為不同的云類型分配不同的硬件資源,Web開發(fā)云、測試云和產(chǎn)品云,不同類型的云成本也是不一樣的;開發(fā)云的單位時間成本可能低于產(chǎn)品云,因為SLA和安全性等附加特性都分配在產(chǎn)品云中。
管理人員可以將項目限制為特定的云,比方說,產(chǎn)品云的部分服務(wù)可用于產(chǎn)品配置,開發(fā)云的服務(wù)僅用于開發(fā),為了優(yōu)化軟件開發(fā)項目不同階段的資產(chǎn),管理人員可以按項目和用戶跟蹤使用情況,從而獲得成本數(shù)據(jù),如果發(fā)現(xiàn)成本很高,管理人員可花費較低的成本使用Amazon EC2臨時擴(kuò)展資源,只要安全和數(shù)據(jù)恢復(fù)問題已經(jīng)得到解決。
云計算的動機(jī)之一就是更高的環(huán)境友好性。首先,減少了企業(yè)內(nèi)部數(shù)據(jù)中心運行應(yīng)用程序需要的硬件,使用云計算替代它們可以減少運行硬件和降低其溫度需要的電能,將這些系統(tǒng)整合到遠(yuǎn)程中心里,可以更有效地進(jìn)行管理。其次,云計算技術(shù)提高了電信技術(shù),比如遠(yuǎn)程打印和文件傳輸,有可能降低辦公空間、購買新家具、淘汰舊家具、辦公室清潔等方面的需求,還減少了開車上班的需要,降低了二氧化碳的釋放。
在目前和未來,云計算將在技術(shù)行業(yè)中扮演非常重要的角色,最終會將IT作為服務(wù)提供給使用者。文章提出了如何解決云計算和網(wǎng)格計算中的問題,在按需付費環(huán)境中的數(shù)據(jù)恢復(fù)和管理私有密匙的安全問題,幫助做好使用云計算的準(zhǔn)備。用戶對更大的Internet容量的潛在需求對開發(fā)人員和項目團(tuán)隊的成員提出了挑戰(zhàn),處理好Web應(yīng)用程序設(shè)計和潛在的安全問題可以減少開發(fā)團(tuán)隊遇到的麻煩。
[1]MICHAEL MILLER.云計算[M].北京:機(jī)械工業(yè)出版社,2009.
[2]許駿,柳泉波,李玉順.面向服務(wù)的網(wǎng)格計算[M].北京:科學(xué)出版社,2009.
[責(zé)任編輯:袁太生]
Cloud Computing and Grid Computing
CHANG H ao
(Department of Computer Engineering,Taiyuan university,Taiyuan,030009,China)
Distributed processing,parallel processing and grid computing to promote the development of the computer industry development,cloud computing movement arose.Type of service from the cloud computing,cloud computing and grid computing similarities and differences explore that the cloud computing is better than grid computing.Meanwhile,the article referred to the two common problems faced as well as some security issues.
Services;Cloud computing;Grid computing
book=2010,ebook=17
TP311
A
1671-5977(2010)02-0113-03
2010-02-10
常 浩(1979-),男,山西朔州人,太原大學(xué)計算機(jī)工程系助教,工學(xué)碩士,研究方向:數(shù)據(jù)挖掘,數(shù)據(jù)庫。