您可能非常關注云計算和網格計算的比較。本文介紹了云計算服務類型,云計算和網格計算的相似與不同。同時本文探討了云計算優于網格計算的地方,兩者面臨的共同問題以及一些安全方面的問題。本文以AmazonWeb Services 為例。
實現云計算需要三個部分:瘦客戶機(或者能夠在胖瘦之間切換的客戶機)、網格計算和效用計算。網格計算將獨立的計算機連接成一個大的基礎設施,充分利用閑置的資源。效用計算就是支付在共享服務器上使用的服務,就好象支付公共事業一樣(比如電力、天然氣等)。
通過網格計算,可以把計算資源作為能夠開啟關閉的公用事業來提供。云計算更進一步,可以隨需提供計算資源。這樣在使用公用定價時就可以避免過度供給。在滿足數百萬用戶的需求時也消除了過度供給的需要。
基礎設施即服務
消費者通過 Internet 可以從完善的計算機基礎設施獲得服務。這類服務稱為基礎設施即服務(Infrastructure asaService,IaaS)。基于 Internet 的服務(如存儲和數據庫)是 IaaS的一部分。Internet上其他類型的服務包括平臺即服務(Platform as aService,PaaS)和軟件即服務(Software as aService,SaaS)。PaaS提供了用戶可以訪問的完整或部分的應用程序開發,SaaS則提供了完整的可直接使用的應用程序,比如通過 Internet管理企業資源。
作為 Infrastructure as a Service (IaaS) 在實際應用中的一個例子,The NewYorkTimes 使用成百上千臺 Amazon EC2 實例在 36 小時內處理 TB 級的文檔數據。如果沒有 EC2,TheNewYork Times 處理這些數據將要花費數天或者數月的時間。
IaaS 分為兩種用法:公共的和私有的。AmazonEC2在基礎設施云中使用公共服務器池。更加私有化的服務會使用企業內部數據中心的一組公用或私有服務器池。如果在企業數據中心環境中
簡介
您可能非常關注云計算和網格計算的比較。本文介紹了云計算服務類型,云計算和網格計算的相似與不同。同時本文探討了云計算優于網格計算的地方,兩者面臨的共同問題以及一些安全方面的問題。本文以AmazonWeb Services 為例。
實現云計算需要三個部分:瘦客戶機(或者能夠在胖瘦之間切換的客戶機)、網格計算和效用計算。網格計算將獨立的計算機連接成一個大的基礎設施,充分利用閑置的資源。效用計算就是支付在共享服務器上使用的服務,就好象支付公共事業一樣(比如電力、天然氣等)。
通過網格計算,可以把計算資源作為能夠開啟關閉的公用事業來提供。云計算更進一步,可以隨需提供計算資源。這樣在使用公用定價時就可以避免過度供給。在滿足數百萬用戶的需求時也消除了過度供給的需要。
基礎設施即服務
消費者通過 Internet 可以從完善的計算機基礎設施獲得服務。這類服務稱為基礎設施即服務(Infrastructure asaService,IaaS)。基于 Internet 的服務(如存儲和數據庫)是 IaaS的一部分。Internet上其他類型的服務包括平臺即服務(Platform as aService,PaaS)和軟件即服務(Software as aService,SaaS)。PaaS提供了用戶可以訪問的完整或部分的應用程序開發,SaaS則提供了完整的可直接使用的應用程序,比如通過 Internet管理企業資源。
作為 Infrastructure as a Service (IaaS) 在實際應用中的一個例子,The NewYorkTimes 使用成百上千臺 Amazon EC2 實例在 36 小時內處理 TB 級的文檔數據。如果沒有 EC2,TheNewYork Times 處理這些數據將要花費數天或者數月的時間。
IaaS 分為兩種用法:公共的和私有的。AmazonEC2在基礎設施云中使用公共服務器池。更加私有化的服務會使用企業內部數據中心的一組公用或私有服務器池。如果在企業數據中心環境中開發軟件,那么這兩種類型都能使用,而且使用EC2臨時擴展資源的成本也很低 — 比方說測試。結合使用兩者可以更快地開發應用程序和服務,縮短開發和測試周期。
Amazon Web 服務
使用 EC2,客戶可以創建自己的 Amazon MachineImages(AMI),包括操作系統、應用程序和數據,并控制在給定的時候每個AMI有多少實例運行。客戶為占用的實例時間(和帶寬)付費,高峰的時候增加計算資源,不需要的時候減少計算資源。EC2、SimpleStorageService (S3) 及其他 Amazon 產品能夠通過 Internet 為數百萬用戶提供服務。
Amazon 提供了從單核的 x86 服務器到 8 核的x86_64服務器等五種不同類型的服務器。提供服務實例不需要知道使用了哪種服務器。可以把實例放在不同的地理位置或者可用區域內。Amazon允許使用彈性IP 地址,可以動態分配給實例。
云計算
使用云計算,企業馬上就能大幅提高自己的計算能力,而不需要投資新的基礎設施,開展新的培訓或者購買新的軟件許可證。云計算最適合希望將數據中心基礎設施全部外包的中小型企業,或者希望不用花費高額成本建立更大的數據中心就可獲得更高負荷能力的大型企業。不論哪種情況,服務消費者都在Internet上使用所需要的服務并只為所使用的服務付費。
服務消費者不用再守在 PC 旁邊使用 PC上的應用程序,或者購買針對特定智能手機、PDA及其他設備的版本。消費者不必擁有云中的基礎設施、軟件或平臺,因此降低了前期成本、資本支出和運營成本。消費者也不用關心云中的服務器和網絡怎么維護。消費者可以訪問任何地方的多臺服務器,不需要知道使用的是哪一臺服務器以及它們的位置。
網格計算
云計算
是從網格計算演化來的,能夠隨需應變地提供資源。網格計算可以在云中,也可能不在,這取決于什么樣的用戶在使用它。如果用戶是系統管理員和集成商,他們就會關心如何維護云。他們升級、安裝和虛擬化服務器與應用程序。如果用戶是消費者,就不必關心系統是如何運行的。
網格計算
要求軟件的使用可以分為多個部分,將程序的片段作為大的系統映像傳遞給幾千個計算機中。網格的一個問題是如果某個節點上的軟件片段失效,可能會影響到其他節點上的軟件片段。如果這個片段在其他節點上可以使用故障轉移組件,那么就可以緩解問題,但是如果軟件片段依賴其他軟件片段完成一項或多項網格計算任務,那么問題仍然得不到解決。大型系統鏡像以及用于操作和維護的相關硬件可能造成很高的資本和運營支出。
異同點
云計算
和網格計算都是可伸縮的。可伸縮性是通過獨立運行在通過 Web服務連接的各種操作系統上的應用程序實例的負載平衡實現的。CPU和網絡帶寬根據需要分配和回收。系統存儲能力根據特定時間的用戶數量、實例的數量和傳輸的數據量進行調整。
兩種計算類型都涉及到多承租(multitenancy)和多任務,即很多用戶可以執行不同的任務,訪問一個或多個應用程序實例。通過大型的用戶池共享資源來降低基礎設施成本,提高峰值負荷能力。云計算和網格計算都提供了服務水平協議(SLA)以保證可用性,比如99%。如果服務達不到承諾的正常運行時間,消費者將由于數據延遲而得到服務補償。
Amazon S3 在云中提供了存儲和數據檢索 Web 服務。設置在S3中能夠存儲的對象數量的最大上限。可以存儲只有一個字節的對象,也能存儲 5 GB 甚至 TB 級的對象。S3對于對象的每個存儲位置使用“桶(bucket)” 作為容器。這些數據采用和 Amazon電子商務網站相同的數據存儲基礎設施安全地實現存儲。
雖然網格中的存儲計算非常適合數據密集型存儲,但是存儲一個字節大小的對象從經濟上來說不合適。在數據網格中,分布式數據的數量必須足夠大才能發揮最大效益。
計算型網格關注的是計算量非常大的操作。云計算中的 Amazon Web Services 提供了兩種實例:標準和高CPU。
需要考慮的問題
云計算
和網格計算面臨著四個問題:閾值策略、互操作性、隱含成本、異常行為。
閾值策略
假設有一個程序在云中進行信用卡驗證,并且碰到了十二月份的銷售旺季。于是我們發現了更高的需求,于是創建了更多的實例來滿足這種需求。隨著銷售旺季的過去,這種需求就會減少,資源實例被回收并重新分配給其他應用。
為了檢驗程序能否工作,在轉入真正的生產環境之前,在可行性試驗(pilotstudy)階段需要開發、改進并實現一種閾值策略。看看這種策略能否發現需求的突然增加,從而創建更多的實例以滿足這些需求。看看如何回收閑置的資源并轉移到其他工作。
互操作性問題
如果企業外包或者和一家云計算供應商共同創建應用程序,可能會發現很難轉向其他采用私有API或者具有不同導入和導出數據格式的供應商。這就造成了兩家云計算供應商之間的互操作性問題。可能需要改變數據的格式或者應用程序邏輯。雖然還沒有出現API或者數據導入和導出的云計算業界標準,但 IBM 和 Amazon Web Services 展開了合作以實現互操作性。
隱含成本
云計算
并沒有告訴您隱含的成本有哪些。比方說,如果企業要使用服務提供商提供的云中的存儲服務和包含TB級數據的數據庫應用程序,可能需要支付很高的網絡費用。這筆費用要比在購買新的基礎設施、培訓新的雇員或者購買新的軟件許可證方面節省的成本高。網絡成本的另一個例子是,如果企業距離云提供商很遠,可能會遇到很長的延遲,尤其是在流量大的情況下。
無法預料的行為
假設信用卡驗證應用程序在企業內部數據中心運行的很好。需要通過可行性試驗對云中的應用程序進行檢驗,以檢查是否存在無法預料的行為。比方說,檢查應用程序如何驗證信用卡,在十二月份的銷售高峰期如何分配資源和釋放閑置的資源,并轉向其他任務。如果發現信用卡驗證或者釋放閑置資源出現異常的結果,那么就需要在將其放入云中之前解決這些問題。
安全問題
2008 年 2 月,Amazon S3 和 EC2 遭遇了三個小時的宕機。盡管SLA提供了數據恢復和針對這種情況的補償,但這個期間用戶失去了銷售機會,高管人員得不到需要的重要業務信息。
不要被動地等待宕機的發生,用戶應該自己檢查安全性—看看供應商能在多大程度上恢復數據。測試非常簡單。不需要特殊的工具。只需要請求過去存儲的數據看看供應商恢復它需要多長時間。如果時間很長,問問供應商在不同情況下能獲得多少服務補償。檢查校驗和是否匹配原來的數據。
安全測試的一個方面是用一種可信的算法在本地機器上加密數據,然后使用解密密匙訪問云中遠程服務器上的數據。如果無法讀取曾經訪問過的數據,那么就是加密密匙被破壞了或者供應商使用了自己的加密算法。可能需要向供應商了解該算法。
另一個是云中數據潛在的問題。為了保護數據,可能需要管理自己的私有密匙。詢問供應商私有密匙的管理問題。如果簽署的話,Amazon將提供證書。
云中的軟件開發
使用高端數據庫開發軟件,最可能的選擇是使用企業內部數據中心的云服務器池,測試的時候可以使用 AmazonWeb服務臨時擴展資源。這樣項目管理人員可以更好地控制成本、管理安全問題和分配資源。項目管理人員可以為不同的云類型分配不同的硬件資源:Web開發云、測試云和產品云。不同類型的云成本也是不一樣的。開發云的單位時間成本可能低于產品云,因為SLA和安全性等附加特性都分配在產品云中。
管理人員可以將項目限制為特定的云。比方說,產品云的部分服務可用于產品配置。開發云的服務僅用于開發。為了優化軟件開發項目不同階段的資產,管理人員可以按項目和用戶跟蹤使用情況,從而獲得成本數據。如果發現成本很高,管理人員可花費較低的成本使用AmazonEC2 臨時擴展資源,只要安全和數據恢復問題已經得到解決。