




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用 Amazon Web Services 進行云計算,第 1 部分: 簡介選擇租用而不是購買Prabhakar Chaganti, CTO, Ylastic, LLCPrabhakar Chaganti 是 Ylastic 的 CTO,這家創業公司正在構建一個對用戶的整個 AWS 云計算環境(EC2、S3、SQS 和 SimpleDB)進行體系結構設計、管理和監視的統一界面。他是兩本新書 Xen Virtualization 和 GWT Java AJAX Programming 的作者。他還在 VMware Global Virtual Appliance Challenge 上獲得了社區
2、評選的最具創意 Virtual Appliance 獎。簡介: 學習基本的 Amazon SimpleDB (SDB 概念,研究 boto(一個用于與 SDB 交互的開放源碼 Python 庫)提供的一些功能。在這個 “用 Amazon Web Services 進行云計算” 系列中,學習如何使用 Amazon Web Services 進行云計算。了解這些服務如何為設計和構建可伸縮、可靠的應用程序提供一種可選方案。第一篇文章解釋虛擬基礎設施的構建塊的特性。學習如何使用 Amazon Web Services 構建 Web 范圍的系統。什么是云計算?云計算(Cloud computi
3、ng)可以粗略地定義為根據需要使用在用戶環境之外以服務形式提供的可伸縮計算資源。用戶只使用需要的資源,只為使用的資源付費。在任何時候,在 Internet 上的任何地方,都可以訪問 “云” 中的任何資源。不需要關心云中的資源在幕后是如何維護的。云計算源于 Internet 或 IP 可用性的技術體系結構圖中常常把結構描述為云。云計算在 2007 年受到關注,成為解決水平可擴展性問題的流行解決方案。 云負責提供高可用性并響應您的應用程序的需要。云計算也稱為效用計算(utility computing)或網格計算(grid computing)。 云計算影響了我們設計和交付可伸縮應用程序的方式。在
4、過去,公司要花費寶貴的時間和資源構建基礎設施,從而提供競爭優勢。常常是 “構建它,它們就來了”。在大多數情況下,這種方式有以下缺點: 有相當一部分計算能力未被使用,它們會占用數據中心中的空間。 需要有人照顧服務器。 有相關聯的能源成本。未使用的計算能力被浪費了,其他公司或用戶可能愿意付費購買多余的計算周期,但是無法實現。 有了云計算,就能夠把多余的計算能力銷售給客戶。這就把計算和 IT 基礎設施轉換為一種實用工具,就像球場一樣,可供所有人使用。這使競爭取決于創新思想而不是計算資源。 應用程序和 IT 系統需要的資源(為了滿足日益增長的存儲、計算、消息傳遞和數據庫需求)本質上是 “日用品”。可以
5、從價格最優惠、服務最好的賣家那里租用這種基礎設施。很簡單,不是嗎?這是一個簡單但革命性的思想,盡管它并不是完全的新概念。它現在之所以成為技術潮流,是因為 Amazon 引入了大范圍的云計算環境。 Amazon Web ServicesAmazon Web Services 是一組服務,它們允許通過程序訪問 Amazon 的計算基礎設施。Amazon 多年來一直在構建和調整這個健壯的計算平臺,現在任何能夠訪問 Internet 的人都可以使用它。Amazon 提供幾個 Web 服務,但是本系列只關注滿足大多數系統的核心需求的基本服務:存儲、計算、消息傳遞和數據集。 通過在 Amazon 提供的可
6、靠且經濟有效的服務上構建功能,可以實現復雜的企業應用程序。這些 Web 服務本身駐留在您的環境之外的云中,具備極高的可用性。只需根據使用的資源付費,不需要提前付費。因為硬件由 Amazon 維護和服務,所以您也不需要承擔維護費用。Amazon Web Services 成功案例SmugMug 是一個在線照片存儲應用程序,它把超過 0.5 PB 的數據存儲在 S3 上,由此節約的服務和存儲成本接近 100 萬美元。它是 Elastic Compute Cloud (EC2 計算資源的 重要用戶,它使用 EC2 應對需求的變化。37Signals 是流行的在線項目管理軟件 Basecamp 的開發
7、商,它使用 S3 滿足存儲需求。紐約時報展現了 EC2 的強大能力,它在 36 小時內使用數百個 EC2 實例處理了數 TB 的存檔數據。Animoto 是一個在線視頻生成程序,需要用非常大的計算能力處理視頻。最近出現了一次會壓垮大多數公司的系統的 Web 通信高峰,Animoto 使用 EC2 快速地擴展了處理能力,從而 成功地度過了這次高峰。當時,它曾經使用 3,500 個同時運行的虛擬實例。這個虛擬的基礎設施大大降低了當今 Web 環境中的 “貧富差異”。您可以在幾分鐘內快速地獲得一個基礎設施,而這在真實的 IT 工作室中可能會花費幾周時間。要點在于這個基礎設施是彈性的,可以根據需求擴展
8、和收縮。世界各地的公司都可以使用這個彈性的計算基礎設施(見邊欄)。 公司不再需要承擔高額的基礎設施投資和維護成本,這為創新提供了更大的機會。現在,您可以把注意力集中在業務思想上,而不需要為服務器操心,不需要擔心磁盤空間不足等問題。根據 Amazon 的估計,企業把大約 70% 的時間花在構建和維護基礎設施上,在推動企業發展的思想上實際上只花費 30% 的時間。Amazon 會處理與硬件和基礎設施相關的繁瑣工作,并確保其高可用性,您只需關注如何把您的思想變成現實。下面是這個全 Web 范圍的基礎設施的主要元素,它們提供幾乎所有應用程序最常用的構建塊: 存儲 所有應用程序都需要存儲文件、文檔、用戶
9、下載或備份。可以把應用程序需要的任何東西存儲在 Amazon Simple Storage Service (S3 中,從而實現可伸縮、可靠、高可用、低成本的存儲。計算 Amazon Elastic Compute Cloud (EC2 能夠根據需要擴展或收縮計算資源,非常方便地提供新的服務器實例。消息傳遞 Amazon Simple Queue Service (SQS 提供不受限制的可靠的消息傳遞,可以使用它消除應用程序組件之間的耦合。數據集 Amazon SimpleDB (SDB 提供可伸縮、包含索引且無需維護的數據集存儲,以及處理和查詢功能。 可以根據需要結合使用這些服務;它們能夠很
10、好地相互協作。因為這些服務在 Amazon 環境中運行,它們之間的所有通信通常非常快。 這個 “用 Amazon Web Services 進行云計算” 系列中的文章詳細討論這些 Web 服務和用來訪問它們的庫。企業家可以利用這個虛擬基礎設施構建可伸縮且可靠的應用程序,與傳統的應用程序主機托管平臺相比可以大大降低成本,因為為了應對服務量的波動和高峰,主機托管平臺需要大量服務器。它還提供很高的冗余水平。 Amazon Web Services 的用戶可以使用兩個支持級別: 基于免費論壇的支持,由監視 Amazon 論壇的 Amazon 人員提供這種支持。 付費的支持包,提供一對一和電話支持,這是
11、更慎重的求助方法。Amazon 在一個所有人都可訪問的 指示板 上公布所有 Web 服務的健康狀態;當服務出現任何問題時,都會更新這個指示板。在任何服務停止運行期間,Amazon Web Services 團隊會每隔 15-30 分鐘發布更新信息,直到問題被解決。 Amazon 為與每個服務進行交互提供了基于標準的 SOAP 和 REST 接口。Amazon 和第三方提供多種語言的開發人員庫,包括 Ruby、Python、Java、Erlang 和 PHP,可以使用這些庫與服務通信。還可以使用命令行工具管理 EC2 上的計算資源。REST 接口很容易使用;可以用任何編程語言編寫客戶機,通過 H
12、TTP 向 Web 服務發出請求。 用 S3 進行存儲 Amazon Simple Storage Service (S3 提供一個用于數據存儲和獲取的 Web 服務接口。數據可以是任何類型的,可以從 Internet 上的任何地方存儲和訪問數據。可以在 S3 中存儲任意數量的對象;存儲的每個對象的大小可以從 1 字節到 5 GB。存儲本身位于美國或歐盟。在創建 bucket (與操作系統中的文件夾概念相似)時,可以選擇對象的存儲位置。使用與 Amazon 電子商務網站的全球網絡相同的數據存儲基礎設施存儲數據,確保安全性。對于存儲在 S3 中的每個對象,可以指定訪問限制,可以用簡單的 HTTP
13、 請求訪問對象。甚至可以讓對象可通過 BitTorrent 協議下載。S3 讓用戶完全不必為存儲空間、數據訪問或數據安全性操心。甚至不必承擔維護存儲服務器的成本。“第 2 部分:用 Amazon Simple Storage Service (S3 在云中存儲數據” 詳細討論 S3。Amazon 確保您的文件的高可用性,在任何時候都可以使用它們。Amazon 為 S3 提供的服務水平協議承諾 99.9% 的正常運行時間,每月度量一次。 用 EC2 實現彈性計算Amazon EC2 是一個 Web 服務,它讓用戶可以在幾分鐘內獲得虛擬機器,根據需要輕松地擴展或收縮計算能力。您只需為實際使用的計算
14、時間付費。如果需要增加計算能力,可以快速地啟動虛擬實例;當需求下降時,可以馬上終止它們。 這些實例基于 Linux®,可以運行您需要的任何應用程序或軟件。您可以控制每個實例。EC2 環境本身基于在劍橋大學開發的開放源碼的 Xen 系統管理程序。Amazon 允許創建 Amazon 機器映像 (AMI 作為實例的模板。可以通過指定權限控制對實例的訪問。可以用這些實例做任何事;惟一的限制是,它們必須是基于 Linux 的映像。最近,Amazon 宣布與 Sun Microsystems 合作提供 Open Solaris 支持,但是 EC2 可用的大多數免費和商業預構建映像是基于 Lin
15、ux 的。 Amazon EC2 提供真正全 Web 范圍的計算,很容易擴展和收縮計算資源。您可以完全控制在 Amazon 數據中心中運行的這個計算環境。Amazon 提供五種服務器類型;可以選擇適合自己應用程序需要的服務器類型。服務器的范圍從普通的單核 x86 服務器直到八核 x86_64 服務器。可以把實例放在不同的地理位置或可用性區中,從而確保對抗故障的能力。Amazon 最近還引入了彈性 IP 地址的概念,彈性 IP 地址可以動態地分配給實例。用 Amazon Simple Queue Service 實現可靠的消息傳遞 Amazon Simple Queue Service (SQS
16、 允許訪問 Amazon 提供的可靠的消息傳遞基礎設施。可以使用簡單的基于 REST 的 HTTP 請求在任何地方發送和接收消息。不需要安裝和配置任何東西。可以創建任意數量的隊列,發送任意數量的消息。Amazon 把消息存儲在多個服務器和數據中心中,從而提供消息傳遞系統所需的冗余和可靠性。每個消息最多可以包含 8KB 的文本數據。可以在消息中使用的 Unicode 字符只包括 #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF。每個隊列可以有一個可配置的可見性超時周期,用來控制多個讀者對隊列的訪問。
17、一個應用程序從隊列中讀取一個消息之后,其他讀者就看不到這個消息,直到超時周期期滿為止。在超時周期期滿之后,消息重新出現在隊列中,另一個讀者進程就可以處理它。 SQS 與其他 Amazon Web Services 很好地集成。可以使用 SQS 構建松散耦合的系統;在這種系統中,EC2 實例可以通過向 SQS 發送消息相互通信并整合工作流。還可以使用隊列為應用程序構建一個自愈合、自動擴展的基于 EC2 的基礎設施。可以使用 SQS 提供的身份驗證機制保護隊列中的消息,防止未授權的訪問。用 Amazon SimpleDB 進行數據集處理Amazon SimpleDB (SDB 是一個用于存儲、處理
18、和查詢結構化數據集的 Web 服務。它并不是傳統意義上的關系數據庫,而是一個高可用的模式,是云中的非結構化數據存儲,可以使用它存儲和獲取包含鍵的值。每組包含鍵的值需要一個惟一的條目名;條目本身劃分為域。每個條目可以包含最多 256 個鍵-值對。可以在每個域中對自己的數據集執行查詢。SDB 當前還不支持垮域查詢。 SDB 便于使用,提供關系數據庫的大多數功能。SDB 的維護比典型的數據庫簡單得多,因為不需要設置或配置任何東西。Amazon 負責所有管理任務。Amazon 自動地為數據編制索引,可以在任何時候任何地方訪問索引。不受模式限制的關鍵優點是,能夠動態地插入數據和添加新的列或鍵。 SDB
19、是 Amazon 基礎設施的組成部分,會在幕后自動地擴展。您可以把注意力放在更重要的方面。同樣,只需為實際使用的數據集資源付費。 可伸縮的體系結構 Amazon Web Services 通過提供以下特性幫助實現可伸縮的系統:可靠性服務在經過充分測試的高可用的 Amazon 數據中心中運行,這些數據中心也運行 Amazon 自己的業務。安全性提供開箱即用的基本安全性和身份驗證機制,可以根據需要在服務之上實現應用程序特有的安全措施,從而增強安全性。節約成本沒有固定的成本或維護成本。只需為使用的服務付費,可以根據需要擴展資源和預算。容易部署可以通過簡單的 API 使用這個虛擬基礎設施和庫的所有功能
20、,可以在使用最廣泛的編程語言中使用這些 API。彈性可以根據需要擴展或收縮計算資源。可以快速地從一個服務器擴展到任意數量的服務器,從而滿足應用程序的需要。內聚性 四個核心服務(存儲、計算、消息傳遞 和 數據集)能夠非常好地協作,為各種應用程序提供一個完整的解決方案。 社區Amazon Web Services 社區非常活躍,這會促進世界各地的用戶采用這些 Web 服務,有助于在這個基礎設施上創建獨特的應用程序。準備為了通過這個 “用 Amazon Web Services 進行云計算” 系列中的其他文章詳細了解這些服務,需要注冊一個 Amazon Web Services 賬戶(見 參考資料)
21、。它會提供公共和私有安全訪問密鑰以及 x.509 安全證書,在 “第 2 部分:用 Amazon Simple Storage Service (S3 在云中存儲數據” 中開始使用各種庫時需要這些密鑰和安全證書。 用于與這些 Web 服務進行交互的工具和庫有用多種語言編寫的不同版本。本系列中的文章力求與語言無關,提供多種語言的示例,但是熟悉 Java、Ruby 或 Python 會有幫助。 結束語在本文中,介紹了 Amazon 的云計算環境,概述了這個基礎設施的四個主要部分。本系列的后續文章詳細討論每個 Amazon Web Service,以及用于利用這個虛擬基礎設施構建應用程序的各種庫和工
22、具。參考資料 學習 閱讀本系列的其他部分: o 第 2 部分 “用 Amazon Simple Storage Service (S3 在云中存儲數據”o 第 3 部分 “用 EC2 根據需要提供服務器”o 第 4 部分 “用 SQS 進行可靠的消息傳遞”o 第 5 部分 “用 SimpleDB 在云中處理數據集” 了解各種 Amazon Web Services 的相關信息: o Amazon Simple Storage Service (S3 o Amazon Elastic Compute Cloud (EC2 o Amazon Simple Queue Service (SQS o Amazon SimpleDB (SDB o 由 Amazon 團隊負責更新的 Service Health Dashboard 提供關于服務遇到的各種問題的信息。 注冊 一個 Amazon Web Services 賬戶。 Amazon Web Services Developer Connection 提供開發人員需要的所有參考資料。 博客 及時提供 Amazon Web Services 的最新動態。 閱讀許多公司提供的 case studies and suc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 留守兒童感恩教育主題班會
- 肺癌的診斷與鑒別診斷
- 速遞網點裝修人工協議
- 銀行裝修環保驗收報告
- 珠寶玉石運輸保險協議
- 營銷團隊入職培訓
- 美術興趣課程課件
- 腸外營養配置規范
- 鋼材采購合同模板范本
- 2024泰州市姜堰區江淮職業高級中學工作人員招聘考試及答案
- 數據庫開發與管理試題及答案
- 2025年北京市朝陽區區高三一模英語試卷(含答案)
- 大規模住區的物業管理創新模式研究
- 2024年中國煙草總公司遼寧省公司人員招聘筆試真題
- 庫爾勒經濟技術開發區工業廢水處理回用項目環境影響報告書
- 2024年貴州貴州烏江煤層氣勘探開發有限公司招聘考試真題
- 智慧樹知到《中國近現代史綱要(哈爾濱工程大學)》2025章節測試附答案
- 教學課件-積極心理學(第2版)劉翔平
- 礦山應急管理培訓
- 煤礦頂板管理培訓
- 高速鐵路客運服務基礎知識單選題100道及答案
評論
0/150
提交評論