@LastZactionHero 非常有趣的問題,讓我詳細回答你,我希望你在談論一些電子商務應用程序,企業或B2B應用程序可以看到尖峯等。既然你已經提到你在s3上託管你的rails應用程序。讓我明確一些事情。 1)你不能在s3上託管一個rails應用程序。 S3是簡單的存儲服務。你只能存儲文件的地方。 2)我想你已經在AWS ec2上託管了你的rails應用程序,並在ec2實例上面附加了一個彈性負載平衡器,這很好。
3)您有一個自我管理的Postgresql部署在ec2實例上。
如果您在AWS上運行,則您可以輕鬆安全地進行擴展並縮小規模。
我可以在你現在的模型中看到一個問題,即你的db。 AWS已經將db作爲一項服務。這就是所謂的關係數據庫服務。它支持Mysql Oracle和MS SQL服務器。
RDS帶有很多的功能,如自動備份您的數據庫,高IOPS等
,但它不支持你的PostgreSQL。您需要擁有或管理自我管理的ec2實例並運行postgresql數據庫,但要確保它的故障安全,並且您確實有正確的備份和恢復系統。
AWS提供自動縮放api和命令行工具,非常簡單。
你不必擔心帶寬問題等,但我也承認安傑洛的答案。
您可以使用彈性內存緩存來緩存您的應用程序。如果需要加快您的應用,請使用CDN。 RDS可以管理高達30000 IOPS,它的一個怪物會爲你做很多工作。
隨意問我是否需要任何幫助。
(聲明:我是一名資深的DevOps工程師工作了一個電子商務公司,在軌道上使用Ruby)
可以緩存的信息,你需要爲靜態網頁? S3會爲那些沒有問題的人提供服務。你是否期待數據庫中有很多操作?讀?寫?這些查詢是特定於單個實體/用戶(不是複雜的查詢還是大量的連接)?谷歌應該幫助您找到許多負載測試應用程序。你看過EC2的自動縮放功能嗎?我相信他們有一些可以觸發CPU /內存。此外,可以使用Cloudfront完成靜態資源。 – 2013-04-04 04:40:54