2010-08-23 29 views
6

每隔一段時間我閱讀/聽說AWS,現在我試着閱讀文檔。 但是這樣的文檔似乎是爲那些已經知道他們需要使用哪種AWS而只搜索如何使用它的人編寫的。需要一些使用亞馬遜AWS的指導

因此,爲了我自己,爲了更好地理解AWS,我試着用一些問題來勾畫一個假設的Web應用程序。

應用程序的目的是修改像視頻或圖像的內容。因此,用戶可以使用某種web界面上傳文件,進行一些設置,服務器抓取文件並對其進行修改(例如重新編碼)。該服務還提取視頻的音頻軌道並搜索索引所發話語,以便客戶可以在他的視頻中進行搜索。 (以及它只是假設)

所以我的問題:

  • 給出我自己的域名「oneofmydomains.com」是有可能主辦AWS完整webinterface?我想過使用GWT創建界面,並通過AWS提供JS /圖像,但哪一個簡單的存儲?有什麼關於index.html,是否有一個EC2實例需要承載一個Web服務器,它必須全天候運行造成成本?
  • 現在用戶具有登錄表單的界面,是否可以使用AWS管理登錄?在這裏我還想到一個EC2實例託管數據庫,但它也會導致成本,我不知道是否有更好的方法?
  • 用戶已登錄並上傳文件。哪種存儲解決方案可以用來保存客戶的原創內容和修改內容?
  • 現在用戶想要瀏覽他上傳的狀態,這意味着我需要某種ACL,以便客戶只能看到他自己的文件。我是否需要爲此使用數據庫(例如EC2),或者亞馬遜是否提供某種ACL,因此GWT web界面在沒有任何EC2的情況下將是安全的?
  • 客戶文件被重新編碼並且音軌被編入索引。所以他想要搜索一個視頻。哪個服務可以用來爲每個客戶創建和維護索引?

希望有人可以給幾個答案,讓我明白了AWS上一個如何使用它

THX更好!

回答

11

亞馬遜AWS提供其應支付給定結構的各個方面服務的整個生態系統,從託管到數據存儲,或消息等,無論他們是爲目的的最佳契合將對情況下要決定根據情況。鑑於你的問題是相當廣泛的我就介紹一些什麼AWS具有的基礎知識,提供什麼不同類型的服務是:

EC2(彈性雲計算)

亞馬遜的雲解決方案,這是基本相同舊的虛擬機技術,但「雲」提供了額外的結和機器人等自動化配置,比例,結算等

  • 你付出爲你使用什麼(按小時),對基本(單CPU,1。7GB內存)如果你每天24小時運行它,你可能會花費不到3美元一天(在windows實例上)
  • 有許多不同的操作系統可供選擇,包括Linux和Windows,Linux實例運行更便宜沒有與Windows
  • 相關的許可證費用,一旦您將服務器設置爲您需要的方式(包括任何服務器更新/修補程序),您就可以創建自己的AMI(Amazon機器映像),然後您可以使用它但是,如果所有的html都被映射到映像中,它會使更新變得困難,因此常規方法是包含一個服務(例如windows服務),它將從存儲中提取最新的部署包(請稍後參閱S3)在啓動時和在inte處更新站點rvals
  • 有彈性負載平衡器(它有自己的成本,但只有一個需要在大多數情況下),你可以把所有的網絡服務器
  • 也有云監視(又是額外的成本)服務您可以在每個實例的基礎上啓用它來幫助您監控運行實例的CPU,網絡輸入/輸出等。
  • 您可以設置AutoScalers,它可以根據某些度量自動調出或終止實例,例如如果平均CPU利用率低於50%5分鐘,則一次終止1個實例,如果平均CPU超過70%5分鐘,則一次啓動1個實例
  • 您可以將這些實例用作Web服務器,使用它們運行數據庫或Memcache集羣等。選擇是你的
  • 通常,我不會建議讓亞馬遜實例與亞馬遜以外的數據庫交談,因爲往返時間要長得多,通常的做法是使用SimpleDB(見下文)作爲數據庫
  • AmazonSDK包含足夠的類以幫助您編寫一些自定義監視器/擴展服務,但AWS控制檯允許您執行大部分配置

SimpleDB的

亞馬遜的非關係型,鍵值數據存儲相比,你會支付每查詢性能判罰,但獲得高可擴展性,而無需做任何額外的工作,傳統的數據庫。

  • 你付使用,即它有多少工作需要執行查詢
  • 默認高度可擴展,亞馬遜最高可擴展至基於流量SimpleDB的情況下,您無需做任何事情,任何與此有關的控制
  • 數據分區到'域'(相當於普通SQL DB中的表)
  • 數據是非關係的,如果您需要關係模型然後檢查Amazon RDB,我沒有任何關於它不是最好的人評論它..
  • 你可以執行SQ L對數據庫的查詢仍然存在,通常是通過某種插件或工具,亞馬遜目前尚未爲此提供前端
  • 請注意'最終一致性',在Amazon擴展您的數據後,數據會在多個實例上重複數據庫和同步不能保證當你做更新,所以它是可能的(雖然極不可能)更新一些數據,然後直接讀回它並獲取舊數據返回
  • 有'一致的讀取'和'條件更新'機制可用於防止最終一致性問題,如果你正在開發。淨,我建議使用SimpleSavant客戶交談的SimpleDB

S3(簡單存儲服務)

亞馬遜的存儲服務,再次,高度可擴展和安全的太 - 當您保存在S3文件很跨多個節點複製,因此您可以立即獲得一些DR能力。

  • 你只需要支付數據傳輸
  • 文件存儲對創建「桶」來保存文件的關鍵
  • ,每個桶中有一個唯一的URL(在所有亞馬遜獨特的,因此, S3賬戶)
  • CloudBerry S3 Explorer是使用AmazonSDK你可以寫它採用S3
自己的倉庫層最好的UI客戶端我已經在Windows
  • 使用

    對不起,如果這是一個有點長的囉嗦,但這是亞馬遜提供的3種最流行的網絡服務,應該涵蓋你所提到的所有要求。我們已經使用亞馬遜AWS一段時間了,並且仍然存在一些扭曲和錯誤,但它通常向前並且相當穩定。

    使用諸如aws之類的東西的一個缺點是供應商被鎖定,雖然您可以在亞馬遜以外和您自己的數據中心運行您的服務,或者將文件從S3中移出(但有代價),擺脫SimpleDB可能代表了遷移過程中的大部分工作。