從亞馬遜Web服務(wù)看云計算與網(wǎng)格計算之異同
簡介
您可能非常關(guān)注云計算和網(wǎng)格計算的比較。本文介紹了云計算服務(wù)類型,云計算和網(wǎng)格計算的相似與不同。同時本文探討了云計算優(yōu)于網(wǎng)格計算的地方,兩者面臨的共同問題以及一些安全方面的問題。本文以 Amazon Web Services 為例。
實現(xiàn)云計算需要三個部分:瘦客戶機(或者能夠在胖瘦之間切換的客戶機)、網(wǎng)格計算和效用計算。網(wǎng)格計算將獨立的計算機連接成一個大的基礎(chǔ)設(shè)施,充分利用閑置的資源。效用計算就是支付在共享服務(wù)器上使用的服務(wù),就好象支付公共事業(yè)一樣(比如電力、天然氣等)。
通過網(wǎng)格計算,可以把計算資源作為能夠開啟關(guān)閉的公用事業(yè)來提供。云計算更進一步,可以隨需提供計算資源。這樣在使用公用定價時就可以避免過度供給。在滿足數(shù)百萬用戶的需求時也消除了過度供給的需要。
基礎(chǔ)設(shè)施即服務(wù)
消費者通過 Internet 可以從完善的計算機基礎(chǔ)設(shè)施獲得服務(wù)。這類服務(wù)稱為基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)?;?Internet 的服務(wù)(如存儲和數(shù)據(jù)庫)是 IaaS 的一部分。Internet 上其他類型的服務(wù)包括平臺即服務(wù)(Platform as a Service,PaaS)和軟件即服務(wù)(Software as a Service,SaaS)。PaaS 提供了用戶可以訪問的完整或部分的應(yīng)用程序開發(fā),SaaS 則提供了完整的可直接使用的應(yīng)用程序,比如通過 Internet 管理企業(yè)資源。
作為 Infrastructure as a Service (IaaS) 在實際應(yīng)用中的一個例子,The New York Times 使用成百上千臺 Amazon EC2 實例在 36 小時內(nèi)處理 TB 級的文檔數(shù)據(jù)。如果沒有 EC2,The New York Times 處理這些數(shù)據(jù)將要花費數(shù)天或者數(shù)月的時間。
IaaS 分為兩種用法:公共的和私有的。Amazon EC2 在基礎(chǔ)設(shè)施云中使用公共服務(wù)器池。更加私有化的服務(wù)會使用企業(yè)內(nèi)部數(shù)據(jù)中心的一組公用或私有服務(wù)器池。如果在企業(yè)數(shù)據(jù)中心環(huán)境中
簡介
您可能非常關(guān)注云計算和網(wǎng)格計算的比較。本文介紹了云計算服務(wù)類型,云計算和網(wǎng)格計算的相似與不同。同時本文探討了云計算優(yōu)于網(wǎng)格計算的地方,兩者面臨的共同問題以及一些安全方面的問題。本文以 Amazon Web Services 為例。
實現(xiàn)云計算需要三個部分:瘦客戶機(或者能夠在胖瘦之間切換的客戶機)、網(wǎng)格計算和效用計算。網(wǎng)格計算將獨立的計算機連接成一個大的基礎(chǔ)設(shè)施,充分利用閑置的資源。效用計算就是支付在共享服務(wù)器上使用的服務(wù),就好象支付公共事業(yè)一樣(比如電力、天然氣等)。
通過網(wǎng)格計算,可以把計算資源作為能夠開啟關(guān)閉的公用事業(yè)來提供。云計算更進一步,可以隨需提供計算資源。這樣在使用公用定價時就可以避免過度供給。在滿足數(shù)百萬用戶的需求時也消除了過度供給的需要。
基礎(chǔ)設(shè)施即服務(wù)
消費者通過 Internet 可以從完善的計算機基礎(chǔ)設(shè)施獲得服務(wù)。這類服務(wù)稱為基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)。基于 Internet 的服務(wù)(如存儲和數(shù)據(jù)庫)是 IaaS 的一部分。Internet 上其他類型的服務(wù)包括平臺即服務(wù)(Platform as a Service,PaaS)和軟件即服務(wù)(Software as a Service,SaaS)。PaaS 提供了用戶可以訪問的完整或部分的應(yīng)用程序開發(fā),SaaS 則提供了完整的可直接使用的應(yīng)用程序,比如通過 Internet 管理企業(yè)資源。
作為 Infrastructure as a Service (IaaS) 在實際應(yīng)用中的一個例子,The New York Times 使用成百上千臺 Amazon EC2 實例在 36 小時內(nèi)處理 TB 級的文檔數(shù)據(jù)。如果沒有 EC2,The New York Times 處理這些數(shù)據(jù)將要花費數(shù)天或者數(shù)月的時間。
IaaS 分為兩種用法:公共的和私有的。Amazon EC2 在基礎(chǔ)設(shè)施云中使用公共服務(wù)器池。更加私有化的服務(wù)會使用企業(yè)內(nèi)部數(shù)據(jù)中心的一組公用或私有服務(wù)器池。如果在企業(yè)數(shù)據(jù)中心環(huán)境中開發(fā)軟件,那么這兩種類型都能使用,而且使用 EC2 臨時擴展資源的成本也很低 — 比方說測試。結(jié)合使用兩者可以更快地開發(fā)應(yīng)用程序和服務(wù),縮短開發(fā)和測試周期。
Amazon Web 服務(wù)
使用 EC2,客戶可以創(chuàng)建自己的 Amazon Machine Images (AMI),包括操作系統(tǒng)、應(yīng)用程序和數(shù)據(jù),并控制在給定的時候每個 AMI 有多少實例運行??蛻魹檎加玫膶嵗龝r間(和帶寬)付費,高峰的時候增加計算資源,不需要的時候減少計算資源。EC2、Simple Storage Service (S3) 及其他 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ù)中心就可獲得更高負荷能力的大型企業(yè)。不論哪種情況,服務(wù)消費者都在 Internet 上使用所需要的服務(wù)并只為所使用的服務(wù)付費。
服務(wù)消費者不用再守在 PC 旁邊使用 PC 上的應(yīng)用程序,或者購買針對特定智能手機、PDA 及其他設(shè)備的版本。消費者不必擁有云中的基礎(chǔ)設(shè)施、軟件或平臺,因此降低了前期成本、資本支出和運營成本。消費者也不用關(guān)心云中的服務(wù)器和網(wǎng)絡(luò)怎么維護。消費者可以訪問任何地方的多臺服務(wù)器,不需要知道使用的是哪一臺服務(wù)器以及它們的位置。
網(wǎng)格計算
云計算是從網(wǎng)格計算演化來的,能夠隨需應(yīng)變地提供資源。網(wǎng)格計算可以在云中,也可能不在,這取決于什么樣的用戶在使用它。如果用戶是系統(tǒng)管理員和集成商,他們就會關(guān)心如何維護云。他們升級、安裝和虛擬化服務(wù)器與應(yīng)用程序。如果用戶是消費者,就不必關(guān)心系統(tǒng)是如何運行的。
網(wǎng)格計算要求軟件的使用可以分為多個部分,將程序的片段作為大的系統(tǒng)映像傳遞給幾千個計算機中。網(wǎng)格的一個問題是如果某個節(jié)點上的軟件片段失效,可能會影響到其他節(jié)點上的軟件片段。如果這個片段在其他節(jié)點上可以使用故障轉(zhuǎn)移組件,那么就可以緩解問題,但是如果軟件片段依賴其他軟件片段完成一項或多項網(wǎng)格計算任務(wù),那么問題仍然得不到解決。大型系統(tǒng)鏡像以及用于操作和維護的相關(guān)硬件可能造成很高的資本和運營支出。
異同點
云計算和網(wǎng)格計算都是可伸縮的??缮炜s性是通過獨立運行在通過 Web 服務(wù)連接的各種操作系統(tǒng)上的應(yīng)用程序?qū)嵗呢撦d平衡實現(xiàn)的。CPU 和網(wǎng)絡(luò)帶寬根據(jù)需要分配和回收。系統(tǒng)存儲能力根據(jù)特定時間的用戶數(shù)量、實例的數(shù)量和傳輸?shù)臄?shù)據(jù)量進行調(diào)整。
兩種計算類型都涉及到多承租(multitenancy)和多任務(wù),即很多用戶可以執(zhí)行不同的任務(wù),訪問一個或多個應(yīng)用程序?qū)嵗?。通過大型的用戶池共享資源來降低基礎(chǔ)設(shè)施成本,提高峰值負荷能力。云計算和網(wǎng)格計算都提供了服務(wù)水平協(xié)議(SLA)以保證可用性,比如 99%。如果服務(wù)達不到承諾的正常運行時間,消費者將由于數(shù)據(jù)延遲而得到服務(wù)補償。
Amazon S3 在云中提供了存儲和數(shù)據(jù)檢索 Web 服務(wù)。設(shè)置在 S3 中能夠存儲的對象數(shù)量的最大上限??梢源鎯χ挥幸粋€字節(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)濟上來說不合適。在數(shù)據(jù)網(wǎng)格中,分布式數(shù)據(jù)的數(shù)量必須足夠大才能發(fā)揮最大效益。
計算型網(wǎng)格關(guān)注的是計算量非常大的操作。云計算中的 Amazon Web Services 提供了兩種實例:標準和高 CPU。
需要考慮的問題
云計算和網(wǎng)格計算面臨著四個問題:閾值策略、互操作性、隱含成本、異常行為。
閾值策略
假設(shè)有一個程序在云中進行信用卡驗證,并且碰到了十二月份的銷售旺季。于是我們發(fā)現(xiàn)了更高的需求,于是創(chuàng)建了更多的實例來滿足這種需求。隨著銷售旺季的過去,這種需求就會減少,資源實例被回收并重新分配給其他應(yīng)用。
為了檢驗程序能否工作,在轉(zhuǎn)入真正的生產(chǎn)環(huán)境之前,在可行性試驗(pilot study)階段需要開發(fā)、改進并實現(xiàn)一種閾值策略??纯催@種策略能否發(fā)現(xiàn)需求的突然增加,從而創(chuàng)建更多的實例以滿足這些需求??纯慈绾位厥臻e置的資源并轉(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è)界標準,但 IBM 和 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è)距離云提供商很遠,可能會遇到很長的延遲,尤其是在流量大的情況下。
無法預(yù)料的行為
假設(shè)信用卡驗證應(yīng)用程序在企業(yè)內(nèi)部數(shù)據(jù)中心運行的很好。需要通過可行性試驗對云中的應(yīng)用程序進行檢驗,以檢查是否存在無法預(yù)料的行為。比方說,檢查應(yīng)用程序如何驗證信用卡,在十二月份的銷售高峰期如何分配資源和釋放閑置的資源,并轉(zhuǎn)向其他任務(wù)。如果發(fā)現(xiàn)信用卡驗證或者釋放閑置資源出現(xiàn)異常的結(jié)果,那么就需要在將其放入云中之前解決這些問題。
安全問題
2008 年 2 月,Amazon S3 和 EC2 遭遇了三個小時的宕機。盡管 SLA 提供了數(shù)據(jù)恢復(fù)和針對這種情況的補償,但這個期間用戶失去了銷售機會,高管人員得不到需要的重要業(yè)務(wù)信息。
不要被動地等待宕機的發(fā)生,用戶應(yīng)該自己檢查安全性 — 看看供應(yīng)商能在多大程度上恢復(fù)數(shù)據(jù)。測試非常簡單。不需要特殊的工具。只需要請求過去存儲的數(shù)據(jù)看看供應(yīng)商恢復(fù)它需要多長時間。如果時間很長,問問供應(yīng)商在不同情況下能獲得多少服務(wù)補償。檢查校驗和是否匹配原來的數(shù)據(jù)。
安全測試的一個方面是用一種可信的算法在本地機器上加密數(shù)據(jù),然后使用解密密匙訪問云中遠程服務(wù)器上的數(shù)據(jù)。如果無法讀取曾經(jīng)訪問過的數(shù)據(jù),那么就是加密密匙被破壞了或者供應(yīng)商使用了自己的加密算法。可能需要向供應(yīng)商了解該算法。
另一個是云中數(shù)據(jù)潛在的問題。為了保護數(shù)據(jù),可能需要管理自己的私有密匙。詢問供應(yīng)商私有密匙的管理問題。如果簽署的話,Amazon 將提供證書。
云中的軟件開發(fā)
使用高端數(shù)據(jù)庫開發(fā)軟件,最可能的選擇是使用企業(yè)內(nèi)部數(shù)據(jù)中心的云服務(wù)器池,測試的時候可以使用 Amazon Web 服務(wù)臨時擴展資源。這樣項目管理人員可以更好地控制成本、管理安全問題和分配資源。項目管理人員可以為不同的云類型分配不同的硬件資源: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 臨時擴展資源,只要安全和數(shù)據(jù)恢復(fù)問題已經(jīng)得到解決。
環(huán)境友好的云計算
云計算的動機之一就是更高的環(huán)境友好性。首先,減少了企業(yè)內(nèi)部數(shù)據(jù)中心運行應(yīng)用程序需要的硬件,使用云計算替代它們可以減少運行硬件和降低其溫度需要的電能。將這些系統(tǒng)整合到遠程中心里,可以更有效地進行管理。
其次,云計算技術(shù)提高了電信技術(shù),比如遠程打印和文件傳輸,有可能降低辦公空間、購買新家具、淘汰舊家具、辦公室清潔等方面的需求。還減少了開車上班的需要,降低了二氧化碳的釋放。
結(jié)束語
本文比較了云計算和網(wǎng)格計算之間的異同,介紹了如何解決云計算和網(wǎng)格計算中的問題,在按需付費環(huán)境中的數(shù)據(jù)恢復(fù)和管理私有密匙的安全問題,幫助您做好使用云計算的準備。用戶對更大的 Internet 容量的潛在需求對開發(fā)人員和項目團隊的其他成員提出了挑戰(zhàn)。處理好 Web 應(yīng)用程序設(shè)計和潛在的安全問題可以減少團隊遇到的麻煩。要獲得幫助,請考慮可以幫助您創(chuàng)建 Web 應(yīng)用程序的 IBM Rational Web Developer WebSphere 軟件,以及可幫助減少應(yīng)用程序缺陷和實現(xiàn)應(yīng)用程序跟蹤的 IBM Rational ClearQuest。
【編輯推薦】