The document describes the architecture for hosting a website on Amazon Web Services (AWS). It includes DNS routing to distribute users to regions with lowest latency, load balancing across web servers, a replicated MySQL database, storage on Amazon S3 and EBS, a content delivery network, and monitoring with CloudWatch.
4. Web Application Architecture:
• DNS Routing (Latency Based)
• Load Balancer solution to distribute http requests
to multiple web servers
• Application layer (Multiple web servers running
Apache or NGINX)
• Database layer (MySQL master-slave scheme)
• Storage layer (e.g., php / js, etc)
• Content Delivery Network for fast delivery of
static files to users across the globe
• Monitoring / Alerting Solutions
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
5. Latency based DNS Routing
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
6. Latency based DNS Routing
• Amazon Route 53 is a highly available and scalable
Domain Name System (DNS) web service
• With Amazon Route 53’s Latency Based Routing (LBR)
feature, we can have instances in several AWS regions
and have requests from your end-users automatically
routed to the region with the lowest latency.
• R53 is fast, easy to use, and cost-effective. It answers
DNS queries with low latency by using a global network
of DNS servers. Queries for your domain are
automatically routed to the nearest DNS server, and
thus answered with the best possible performance
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
7. Scalable and load-balanced Application
/ Web server layer
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
8. Scalable and load-balanced Application
/ Web server Layer
• Elastic Load Balancing automatically distributes
incoming application traffic across multiple Amazon
EC2 instances. It enables you to achieve even greater
fault tolerance in your applications, seamlessly
providing the amount of load balancing capacity
needed in response to incoming application traffic.
• Auto Scaling allows you to scale your Amazon EC2
capacity up or down automatically according to
conditions you define. With Auto Scaling, you can
ensure that the number of Amazon EC2 instances
you’re using increases seamlessly during demand
spikes to maintain performance, and decreases
automatically during demand lulls to minimize costs
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
10. Replicated Database Layer
• Amazon Relational Database Service (Amazon RDS) is a
web service that makes it easy to set up, operate, and
scale a relational database in the cloud. It provides
cost-efficient and resizable capacity while managing
time-consuming database administration task.
• Amazon RDS makes it easy to use replication to
enhance availability and reliability for production
workloads.
• RDS for MySQL also enables you to scale out beyond
the capacity of a single database deployment for read-
heavy database workloads.
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
12. Storage Layer (EBS, S3)
• Amazon Elastic Block Store (EBS) provides block level
storage volumes for use with Amazon EC2 instances.
Amazon EBS volumes are network-attached, and
persist independently from the life of an instance.
Amazon EBS provides highly available, highly reliable,
predictable storage volumes that can be attached to a
running Amazon EC2 instance.
• Amazon S3 (Simple Storage Service) is an online file
storage web service offered by Amazon Web Services,
S3's design aims to provide scalability, high availability,
and low latency at commodity costs.
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
14. CDN Implementation
• Amazon CloudFront is a web service for content
delivery. It is an easy way to distribute content to
end users with low latency, high data transfer
speeds, and no commitments.
• Amazon CloudFront can be used to deliver your
entire website, including dynamic, static and
streaming content using a global network of edge
locations. Requests for your content are
automatically routed to the nearest edge
location, so content is delivered with the best
possible performance.
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture
16. Monitoring and Alerting
• CloudWatch provides monitoring for AWS cloud resources and the
applications customers run on AWS. Developers and system
administrators can use it to collect and track metrics, gain insight,
and react immediately to keep their applications and businesses
running smoothly. Amazon CloudWatch monitors AWS resources
such as Amazon EC2 and Amazon RDS DB instances, and can also
monitor custom metrics generated by a customer’s applications and
services
• CloudWatch enables you to monitor your AWS resources in real-
time, including Amazon EC2 instances, Amazon EBS volumes, Elastic
Load Balancers, and Amazon RDS DB instances. Metrics such as CPU
utilization, latency, and request counts are provided automatically
for these AWS resources
7/14/2013
Waizer Inc - Cumminsallison.com
Architecture