AWS中的Web應用程序托管架構
高可用和可擴展的web應用是復雜而昂貴的。密集的高峰時段和流量模式的劇烈波動導致昂貴的硬件利用率低下。Amazon 云服務為web 應用提供高可靠的,可擴展的,安全的高性能基礎設施,同時保證了彈性,根據(jù)客戶的流量變化而實時調整規(guī)模進而降低了成本。
1)Amazon-Route-53 來處理用戶的DNS請求,這是一個高可用的DNS服務,網絡流量通過云服務路由到其他的基礎設施
2) 靜態(tài)數(shù)據(jù),流數(shù)據(jù),和動態(tài)內容通過Amazon CloudFont發(fā)布到一個全球CDN網絡的位置邊緣,請求被自動路由到離用戶最近的服務器,從而是內容發(fā)布具備盡量高的性能
3) 資源和靜態(tài)內容存儲在Amazon S3中,Amazon S3是一個專為關鍵任務和主數(shù)據(jù)存儲的高度耐用的儲基礎設施
4) HTTP請求首先被彈性負載均衡處理,彈性負載均衡將呼入流量分發(fā)到多個可用區(qū)Amazon EC2 多個實例上。這極大提升了應用的容錯能力,同時對呼入流量無縫地提供了按需負載均衡的能力。
5) Web服務器和應用服務器部署在Amazon EC2的實例上,一般選擇一個AMI鏡像然后按需求定制,定制后的AMI成為將來應用開發(fā)的起點。
6) 應用服務器和web服務器被部署在一個Auto Scaling group 內。 Auto Scaling 能根據(jù)預先定義的條件動態(tài)增減容量。通過保證Amazon EC2的實例數(shù)量,可以針對需求無縫地滿足高性能,同時保持低成本。
7) 為了提高高可用性,將Amazon RDS部署在多個可用區(qū)內保持同步備份。