雲端運算和格線運算

來源:互聯網
上載者:User

 

2009 年 5 月 06 日

希望進一步瞭解雲端運算和格線運算嗎?本文介紹如何通過 Amazon 的 Elastic Compute Cloud (EC2) 使用 Infrastructure as a Service 獲得完善的電腦基礎設施。您將瞭解格線運算和雲端運算的相似之處、差別及有關問題。本文將探討雲端運算中 Web 開發的一些安全問題和選擇,協助您瞭解使用雲端運算的環境友好性。

簡介

您可能非常關注云計算和格線運算的比較。本文介紹了雲端運算服務類型,雲端運算和格線運算的相似與不同。同時本文探討了雲端運算優於格線運算的地方,兩者面臨的共同問題以及一些安全方面的問題。本文以 Amazon Web Services 為例。

實現雲端運算需要三個部分:瘦客戶機(或者能夠在胖瘦之間切換的客戶機)、格線運算和效用計算。格線運算將獨立的電腦串連成一個大的基礎設施,充分利用閑置的資源。效用計算就是支付在共用伺服器上使用的服務,就好象支付公用事業一樣(比如電力、天然氣等)。

通過格線運算,可以把計算資源作為能夠開啟關閉的公用事業來提供。雲端運算更進一步,可以隨需提供計算資源。這樣在使用公用定價時就可以避免過度供給。在滿足數百萬使用者的需求時也消除了過度供給的需要。

基礎設施即服務

消費者通過 Internet 可以從完善的電腦基礎設施獲得服務。這類服務稱為基礎設施即服務(Infrastructure as a Service,IaaS)。基於 Internet 的服務(如儲存和資料庫)是 IaaS 的一部分。Internet 上其他類型的服務包括平台即服務(Platform as a Service,PaaS)和軟體即服務(Software as a Service,SaaS)。PaaS 提供了使用者可以訪問的完整或部分的應用程式開發,SaaS 則提供了完整的可直接使用的應用程式,比如通過 Internet 管理企業資源。

作為 Infrastructure as a Service (IaaS) 在實際應用中的一個例子,The New York Times 使用成百上千台 Amazon EC2 執行個體在 36 小時內處理 TB 級的文檔資料。如果沒有 EC2,The New York Times 處理這些資料將要花費數天或者數月的時間。

IaaS 分為兩種用法:公用的和私人的。Amazon EC2 在基礎設施雲中使用公用伺服器集區。更加私人化的服務會使用企業內部資料中心的一組公用或私人伺服器集區。如果在企業資料中心環境中開發軟體,那麼這兩種類型都能使用,而且使用 EC2 臨時擴充資源的成本也很低 — 比方說測試。結合使用兩者可以更快地開發應用程式和服務,縮短開發與測試周期。

Amazon Web 服務

使用 EC2,客戶可以建立自己的 Amazon Machine Images (AMI),包括作業系統、應用程式和資料,並控制在給定的時候每個 AMI 有多少執行個體運行。客戶為佔用的執行個體時間(和頻寬)付費,高峰的時候增加計算資源,不需要的時候減少計算資源。EC2、Simple Storage Service (S3) 及其他 Amazon 產品能夠通過 Internet 為數百萬使用者提供服務。

Amazon 提供了從單核的 x86 伺服器到 8 核的 x86_64 伺服器等五種不同類型的伺服器。提供服務執行個體不需要知道使用了哪種伺服器。可以把執行個體放在不同的地理位置或者可用性區域域內。Amazon 允許使用彈性 IP 位址,可以動態分配給執行個體。

雲端運算

使用雲端運算,企業馬上就能大幅提高自己的計算能力,而不需要投資新的基礎設施,開展新的培訓或者購買新的軟體許可證。雲端運算最適合希望將資料中心基礎設施全部外包的中小型企業,或者希望不用花費高額成本建立更大的資料中心就可獲得更高負荷能力的大型企業。不論哪種情況,服務消費者都在 Internet 上使用所需要的服務並只為所使用的服務付費。

服務消費者不用再守在 PC 旁邊使用 PC 上的應用程式,或者購買針對特定智能手機、PDA 及其他裝置的版本。消費者不必擁有雲中的基礎設施、軟體或平台,因此降低了前期成本、資本支出和運營成本。消費者也不用關心雲中的伺服器和網路怎麼維護。消費者可以訪問任何地方的多台伺服器,不需要知道使用的是哪一台伺服器以及它們的位置。

格線運算

雲端運算是從格線運算演化來的,能夠隨需應變地提供資源。格線運算可以在雲中,也可能不在,這取決於什麼樣的使用者在使用它。如果使用者是系統管理員和整合商,他們就會關心如何維護雲。他們升級、安裝和虛擬化伺服器與應用程式。如果使用者是消費者,就不必關心系統是如何啟動並執行。

格線運算要求軟體的使用可以分為多個部分,將程式的片段作為大的系統映像傳遞給幾千個電腦中。網格的一個問題是如果某個節點上的軟體片段失效,可能會影響到其他節點上的軟體片段。如果這個片段在其他節點上可以使用容錯移轉組件,那麼就可以緩解問題,但是如果軟體片段依賴其他軟體片段完成一項或多項格線運算任務,那麼問題仍然得不到解決。大型系統鏡像以及用於操作和維護的相關硬體可能造成很高的資本和運營支出。

異同點

雲端運算和格線運算都是可伸縮的。延展性是通過獨立運行在通過 Web 服務串連的各種作業系統上的應用程式執行個體的Server Load Balancer實現的。CPU 和網路頻寬根據需要分配和回收。系統儲存能力根據特定時間的使用者數量、執行個體的數量和傳輸的資料量進行調整。

兩種計算類型都涉及到多承租(multitenancy)和多任務,即很多使用者可以執行不同的任務,訪問一個或多個應用程式執行個體。通過大型的使用者池共用資源來降低基礎設施成本,提高峰值負荷能力。雲端運算和格線運算都提供了服務水平協議(SLA)以保證可用性,比如 99%。如果服務達不到承諾的正常已耗用時間,消費者將由於資料延遲而得到服務補償。

Amazon S3 在雲中提供了儲存和資料檢索 Web 服務。設定在 S3 中能夠儲存的對象數量的最大上限。可以儲存只有一個位元組的對象,也能儲存 5 GB 甚至 TB 級的對象。S3 對於對象的每個儲存位置使用 “桶(bucket)” 作為容器。這些資料採用和 Amazon 電子商務網站相同的資料存放區基礎設施安全地實現儲存。

雖然網格中的儲存計算非常適合資料密集型儲存,但是儲存一個位元組大小的對象從經濟上來說不合適。在資料格中,分布式資料的數量必須足夠大才能發揮最大效益。

計算型網格關注的是計算量非常大的操作。雲端運算中的 Amazon Web Services 提供了兩種執行個體:標準和高 CPU。

需要考慮的問題

雲端運算和格線運算面臨著四個問題:閾值策略、互通性、隱含成本、異常行為。

閾值策略

假設有一個程式在雲中進行信用卡驗證,並且碰到了十二月份的銷售旺季。於是我們發現了更高的需求,於是建立了更多的執行個體來滿足這種需求。隨著銷售旺季的過去,這種需求就會減少,資源執行個體被回收並重新分配給其他應用。

為了檢驗程式能否工作,在轉入真正的生產環境之前,在可行性實驗(pilot study)階段需要開發、改進並實現一種閾值策略。看看這種策略能否發現需求的突然增加,從而建立更多的執行個體以滿足這些需求。看看如何回收閑置的資源並轉移到其他工作。

互通性問題

如果企業外包或者和一家雲端運算供應商共同建立應用程式,可能會發現很難轉向其他採用私人 API 或者具有不同匯入和匯出資料格式的供應商。這就造成了兩家雲端運算供應商之間的互通性問題。可能需要改變資料的格式或者應用程式邏輯。雖然還沒有出現 API 或者資料匯入和匯出的雲端運算業界標準,但 IBM 和 Amazon Web Services 展開了合作以實現互通性。

隱含成本

雲端運算並沒有告訴您隱含的成本有哪些。比方說,如果企業要使用服務提供者提供的雲中的儲存服務和包含 TB 級資料的資料庫應用程式,可能需要支付很高的網路費用。這筆費用要比在購買新的基礎設施、培訓新的僱員或者購買新的軟體許可證方面節省的成本高。網路成本的另一個例子是,如果企業距離雲供應商很遠,可能會遇到很長的延遲,尤其是在流量大的情況下。

無法預料的行為

假設信用卡驗證應用程式在企業內部資料中心啟動並執行很好。需要通過可行性實驗對雲中的應用程式進行檢驗,以檢查是否存在無法預料的行為。比方說,檢查應用程式如何驗證信用卡,在十二月份的銷售高峰期如何分配資源和釋放閑置的資源,並轉向其他任務。如果發現信用卡驗證或者釋放閑置資源出現異常的結果,那麼就需要在將其放入雲中之前解決這些問題。

安全問題

2008 年 2 月,Amazon S3 和 EC2 遭遇了三個小時的宕機。儘管 SLA 提供了資料恢複和針對這種情況的補償,但這個期間使用者失去了銷售機會,高管人員得不到需要的重要商務資訊。

不要被動地等待宕機的發生,使用者應該自己檢查安全性 — 看看供應商能在多大程度上恢複資料。測試非常簡單。不需要特殊的工具。只需要請求過去儲存的資料看看供應商恢複它需要多長時間。如果時間很長,問問供應商在不同情況下能獲得多少服務補償。檢查校正和是否匹配原來的資料。

安全性測試的一個方面是用一種可信的演算法在本地機器上加密資料,然後使用解密密匙訪問雲中遠程伺服器上的資料。如果無法讀取曾經訪問過的資料,那麼就是加密密匙被破壞了或者供應商使用了自己的密碼編譯演算法。可能需要向供應商瞭解該演算法。

另一個是雲中資料潛在的問題。為了保護資料,可能需要管理自己的私人密匙。詢問供應商私人密匙的管理問題。如果簽署的話,Amazon 將提供認證。

雲中的軟體開發

使用高端資料庫開發軟體,最可能的選擇是使用企業內部資料中心的雲端服務器池,測試的時候可以使用 Amazon Web 服務臨時擴充資源。這樣專案管理人員可以更好地控製成本、管理安全問題和分配資源。專案管理人員可以為不同的雲類型分配不同的硬體資源:Web 開發雲、測試雲端和產品雲。不同類型的雲成本也是不一樣的。開發雲的單位時間成本可能低於產品雲,因為 SLA 和安全性等附加特性都分配在產品雲中。

管理員可以將專案限制式為特定的雲。比方說,產品雲的部分服務可用於產品配置。開發雲的服務僅用於開發。為了最佳化軟體開發項目不同階段的資產,管理員可以按項目和使用者跟蹤使用方式,從而獲得成本資料。如果發現成本很高,管理員可花費較低的成本使用 Amazon EC2 臨時擴充資源,只要安全和資料恢複問題已經得到解決。

環境友好的雲端運算

雲端運算的動機之一就是更高的環境友好性。首先,減少了企業內部資料中心運行應用程式需要的硬體,使用雲端運算替代它們可以減少運行硬體和降低其溫度需要的電能。將這些系統整合到遠程中心裡,可以更有效地進行管理。

其次,雲端運算技術提高了電信技術,比如遠程列印和檔案傳輸,有可能降低辦公空間、購買新傢具、淘汰舊傢具、辦公室清潔等方面的需求。還減少了開車上班的需要,降低了二氧化碳的釋放。

結束語

本文比較了雲端運算和格線運算之間的異同,介紹了如何解決雲端運算和格線運算中的問題,在按需付費環境中的資料恢複和管理私人密匙的安全問題,協助您做好使用雲端運算的準備。使用者對更大的 Internet 容量的潛在需求對開發人員和項目團隊的其他成員提出了挑戰。處理好 Web 應用程式設計和潛在的安全問題可以減少團隊遇到的麻煩。要獲得協助,請考慮可以協助您建立 Web 應用程式的 IBM Rational Web Developer WebSphere 軟體,以及可協助減少應用程式缺陷和實現應用程式跟蹤的 IBM Rational ClearQuest(請參閱 參考資料)。

 

參考資料

學習

  • 進一步瞭解 IBM Cloud Services Initiatives。

  • 進一步瞭解 IBM Grid Computing。
  • 閱讀 Judith M. Myerson 的系列文章 在 Web 服務上下文中使用 SLA,詳細瞭解服務水平協議。
  • 如果需要進一步瞭解 Ajax 工具,請閱讀 “Ajax -- 困惑者指南”。
  • 閱讀 “SOA 中的緊密耦合 Web Services”。
  • 閱讀 Judith M. Myerson 的 The Complete Book of Middleware,討論了系統設計的基本原則和優先關注的問題,強調了隨著電子商務和分布式整合系統的發展帶來的新需求。
  • 閱讀 Enterprise Systems Integration, Second Edition,瞭解需要的業務知識和技術以保證成功的系統整合。
  • RFID in the Supply Chain 可以協助您的企業取得更大成功,介紹了商務程序、運營和實現問題、風險、漏洞、安全和機密性。
  • IBM 紅皮書:閱讀 Tivoli Manager for Domino V2.1 Fulfilling Service-Level Agreements Using Tivoli Technology,協助 IBM Lotus Domino 管理員瞭解開發服務水平協議的細節。
  • IBM SOA 網站 介紹了 SOA 以及 IBM 如何提供協助。
  • 隨時關注 developerWorks 技術活動和網路廣播。

獲得產品和技術

  • IBM Rational Web Developer for WebSphere Software 用於架構管理,IBM Rational ClearQuest 用於變更和發行管理,IBM Rational Functional Tester Plus 用於品質管理,這些工具可以協助您開發 Ajax 及其他應用程式。這些 IBM 工具可以減少測試時間和企業測試成本,提高生產率。

  • IBM 試用版產品下載:使用 IBM 試用軟體開發您的下一個項目,可直接從 developerWorks 下載。

討論

  • developerWorks 部落格:加入 developerWorks 社區。

 

關於作者

 

Judith M. Myerson 是一位系統工程師兼架構師。她感興趣的領域包括中介軟體技術、企業級系統、資料庫技術、應用程式開發、網路管理、安全性和專案管理。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.