今天注冊了Amazon AWS賬戶,還被扣了1美元,覺得有必要了解一下它提供的各種服務。在IBM developerworks找到了一篇文章——原文鏈接,摘過來漲漲知識。另外這是一系列文章,系列地址
Amazon Web Services 是一組服務,它們允許通過程序訪問 Amazon 的計算基礎設施。Amazon 多年來一直在構建和調整這個健壯的計算平臺,現在任何能夠訪問 Internet 的人都可以使用它。Amazon 提供幾個 Web 服務,但是本系列只關注滿足大多數系統的核心需求的基本服務:存儲、計算、消息傳遞和數據集。
通過在 Amazon 提供的可靠且經濟有效的服務上構建功能,可以實現復雜的企業應用程序。這些 Web 服務本身駐留在您的環境之外的云中,具備極高的可用性。只需根據使用的資源付費,不需要提前付費。因為硬件由 Amazon 維護和服務,所以您也不需要承擔維護費用。
這個虛擬的基礎設施大大降低了當今 Web 環境中的 “貧富差異”。您可以在幾分鐘內快速地獲得一個基礎設施,而這在真實的 IT 工作室中可能會花費幾周時間。要點在于這個基礎設施是彈性的,可以根據需求擴展和收縮。世界各地的公司都可以使用這個彈性的計算基礎設施(見邊欄)。
公司不再需要承擔高額的基礎設施投資和維護成本,這為創新提供了更大的機會。現在,您可以把注意力集中在業務思想上,而不需要為服務器操心,不需要擔心磁盤空間不足等問題。根據 Amazon 的估計,企業把大約 70% 的時間花在構建和維護基礎設施上,在推動企業發展的思想上實際上只花費 30% 的時間。Amazon 會處理與硬件和基礎設施相關的繁瑣工作,并確保其高可用性,您只需關注如何把您的思想變成現實。
下面是這個全 Web 范圍的基礎設施的主要元素,它們提供幾乎所有應用程序最常用的構建塊:
[存儲](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Storage with Amazon S3)
所有應用程序都需要存儲文件、文檔、用戶下載或備份。可以把應用程序需要的任何東西存儲在 Amazon Simple Storage Service (S3) 中,從而實現可伸縮、可靠、高可用、低成本的存儲。
[計算](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Elastic computing with Amazon EC2)
Amazon Elastic Compute Cloud (EC2) 能夠根據需要擴展或收縮計算資源,非常方便地提供新的服務器實例。
[消息傳遞](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Reliable messaging with Amazon Simple Queue Service)
Amazon Simple Queue Service (SQS) 提供不受限制的可靠的消息傳遞,可以使用它消除應用程序組件之間的耦合。
[數據集](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Dataset processing with Amazon SimpleDB)
Amazon SimpleDB (SDB) 提供可伸縮、包含索引且無需維護的數據集存儲,以及處理和查詢功能。
可以根據需要結合使用這些服務;它們能夠很好地相互協作。因為這些服務在 Amazon 環境中運行,它們之間的所有通信通常非常快。
企業家可以利用這個虛擬基礎設施構建可伸縮且可靠的應用程序,與傳統的應用程序主機托管平臺相比可以大大降低成本,因為為了應對服務量的波動和高峰,主機托管平臺需要大量服務器。它還提供很高的冗余水平。
Amazon Web Services 的用戶可以使用兩個支持級別:
基于免費論壇的支持,由監視 Amazon 論壇的 Amazon 人員提供這種支持。
付費的支持包,提供一對一和電話支持,這是更慎重的求助方法。
Amazon 在一個所有人都可訪問的 指示板 上公布所有 Web 服務的健康狀態;當服務出現任何問題時,都會更新這個指示板。在任何服務停止運行期間,Amazon Web Services 團隊會每隔 15-30 分鐘發布更新信息,直到問題被解決。
Amazon 為與每個服務進行交互提供了基于標準的 SOAP 和 REST 接口。Amazon 和第三方提供多種語言的開發人員庫,包括 Ruby、Python、Java?、Erlang 和 PHP,可以使用這些庫與服務通信。還可以使用命令行工具管理 EC2 上的計算資源。REST 接口很容易使用;可以用任何編程語言編寫客戶機,通過 HTTP 向 Web 服務發出請求。
用 S3 進行存儲
Amazon Simple Storage Service (S3) 提供一個用于數據存儲和獲取的 Web 服務接口。數據可以是任何類型的,可以從 Internet 上的任何地方存儲和訪問數據。可以在 S3 中存儲任意數量的對象;存儲的每個對象的大小可以從 1 字節到 5 GB。存儲本身位于美國或歐盟。在創建 bucket(與操作系統中的文件夾概念相似)時,可以選擇對象的存儲位置。使用與 Amazon 電子商務網站的全球網絡相同的數據存儲基礎設施存儲數據,確保安全性。
對于存儲在 S3 中的每個對象,可以指定訪問限制,可以用簡單的 HTTP 請求訪問對象。甚至可以讓對象可通過 BitTorrent 協議下載。
S3 讓用戶完全不必為存儲空間、數據訪問或數據安全性操心。甚至不必承擔維護存儲服務器的成本。
Amazon 確保您的文件的高可用性,在任何時候都可以使用它們。Amazon 為 S3 提供的服務水平協議承諾 99.9% 的正常運行時間,每月度量一次。
用 EC2 實現彈性計算
Amazon EC2 是一個 Web 服務,它讓用戶可以在幾分鐘內獲得虛擬機器,根據需要輕松地擴展或收縮計算能力。您只需為實際使用的計算時間付費。如果需要增加計算能力,可以快速地啟動虛擬實例;當需求下降時,可以馬上終止它們。
這些實例基于 Linux?,可以運行您需要的任何應用程序或軟件。您可以控制每個實例。EC2 環境本身基于在劍橋大學開發的開放源碼的 Xen 系統管理程序。Amazon 允許創建 Amazon 機器映像 (AMI) 作為實例的模板。可以通過指定權限控制對實例的訪問。可以用這些實例做任何事;惟一的限制是,它們必須是基于 Linux 的映像。最近,Amazon 宣布與 Sun Microsystems 合作提供 Open Solaris 支持,但是 EC2 可用的大多數免費和商業預構建映像是基于 Linux 的。
Amazon EC2 提供真正全 Web 范圍的計算,很容易擴展和收縮計算資源。您可以完全控制在 Amazon 數據中心中運行的這個計算環境。Amazon 提供五種服務器類型;可以選擇適合自己應用程序需要的服務器類型。服務器的范圍從普通的單核 x86 服務器直到八核 x86_64 服務器。可以把實例放在不同的地理位置或可用性區中,從而確保對抗故障的能力。Amazon 最近還引入了彈性 IP 地址的概念,彈性 IP 地址可以動態地分配給實例。
用 Amazon Simple Queue Service 實現可靠的消息傳遞
Amazon Simple Queue Service (SQS) 允許訪問 Amazon 提供的可靠的消息傳遞基礎設施。可以使用簡單的基于 REST 的 HTTP 請求在任何地方發送和接收消息。不需要安裝和配置任何東西。可以創建任意數量的隊列,發送任意數量的消息。Amazon 把消息存儲在多個服務器和數據中心中,從而提供消息傳遞系統所需的冗余和可靠性。每個消息最多可以包含 8KB 的文本數據。可以在消息中使用的 Unicode 字符只包括 #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]。
每個隊列可以有一個可配置的可見性超時周期,用來控制多個讀者對隊列的訪問。一個應用程序從隊列中讀取一個消息之后,其他讀者就看不到這個消息,直到超時周期期滿為止。在超時周期期滿之后,消息重新出現在隊列中,另一個讀者進程就可以處理它。
SQS 與其他 Amazon Web Services 很好地集成。可以使用 SQS 構建松散耦合的系統;在這種系統中,EC2 實例可以通過向 SQS 發送消息相互通信并整合工作流。還可以使用隊列為應用程序構建一個自愈合、自動擴展的基于 EC2 的基礎設施。可以使用 SQS 提供的身份驗證機制保護隊列中的消息,防止未授權的訪問。
用 Amazon SimpleDB 進行數據集處理
Amazon SimpleDB (SDB) 是一個用于存儲、處理和查詢結構化數據集的 Web 服務。它并不是傳統意義上的關系數據庫,而是一個高可用的模式,是云中的非結構化數據存儲,可以使用它存儲和獲取包含鍵的值。每組包含鍵的值需要一個惟一的條目名;條目本身劃分為域。每個條目可以包含最多 256 個鍵-值對。可以在每個域中對自己的數據集執行查詢。SDB 當前還不支持垮域查詢。
SDB 便于使用,提供關系數據庫的大多數功能。SDB 的維護比典型的數據庫簡單得多,因為不需要設置或配置任何東西。Amazon 負責所有管理任務。Amazon 自動地為數據編制索引,可以在任何時候任何地方訪問索引。不受模式限制的關鍵優點是,能夠動態地插入數據和添加新的列或鍵。
SDB 是 Amazon 基礎設施的組成部分,會在幕后自動地擴展。您可以把注意力放在更重要的方面。同樣,只需為實際使用的數據集資源付費。