This document provides an overview of Amazon Web Services (AWS) and best practices for building scalable applications in the cloud. It discusses using AWS services like S3, CloudFront, Route53, EC2, ELB, Auto Scaling, RDS and DynamoDB. The key recommendations are to offload static content, cache content at the edge, avoid duplicating code/assets, load balance from the start, implement auto scaling correctly, leverage database services, and test/optimize applications. The goal is to build highly scalable and reliable applications that can grow from a startup to support millions of users globally.
7. 503
Service Temporarily Unavailable
The server is temporarily unable
to service your request due to
maintenance downtime or capacity
problems. Please try again later.
8. 503
Service Temporarily Unavailable
The server is temporarily unable
to service your request due to
maintenance downtime or capacity
problems. Please try again later.
12. • OFFLOAD static content
• CACHE at the edge (static and dynamic)
• DRY (don’t repeat yourself)
• LOAD BALANCE from the start
• AUTO SCALING done right
• DATABASE smarts
• A/B TEST and templatize
Must-know best practices
18. Global
Infrastructure
Components
Regions
An independent collection of AWS resources in a defined
geography
A solid foundation for meeting location-dependent privacy
and compliance requirements
Availability Zones (AZ)
Designed as independent failure zones
Physically separated within a typical metropolitan region
Edge Locations
To deliver content to end users with lower latency
A global network of edge locations supports global DNS
infrastructure (Route53) and Cloud Front CDN
19. On a global footprint
9 Regions
US-WEST (Oregon) EU-WEST (Ireland)
ASIA PAC
(Tokyo)
ASIA PAC
(Singapore)
US-WEST (N. California)
SOUTH AMERICA (Sao
Paulo)
US-EAST (Virginia)
GOV CLOUD
ASIA PAC
(Sydney)
21. US West Region (Oregon)
Availability
Zone A
Availability
Zone B
Singapore
Availability
Zone A
Availability
Zone B
EU West Region
Availability
Zone A
Availability
Zone C
Availability
Zone B
Each Region has multiple Availability Zones. Availability Zones are
distinct locations that are engineered to be insulated from failures in
other Availability Zones and provide inexpensive, low latency network
connectivity to other Availability Zones in the same Region.
22. 40 Edge Locations
Dallas(2)
St.Louis
Miami
JacksonvilleLos Angeles (2)
Palo Alto
Seattle
Ashburn(2)
Newark
New York (2)
Dublin
London(2)
Amsterdam
Stockholm
Frankfurt(2)
Paris(2)
Singapore(2)
Hong Kong
Tokyo
Sao Paulo
South Bend
San Jose
Osaka
Milan
Sydney
On a global footprint
Seoul
24. Stockholm
Dynamic pages (PHP, Java)
(from web servers)
Static content or streaming
(with CloudFront)
Instant Global Reach
Web servers
in Singapore
Hong Kong
Sao Paulo
San Jose
27. Multi-Region
Latency Based Routing
Route 53 now powering CloudFront, EC2 and ELB
Application instances in
several AWS Regions
Users automatically
routed to lowest
latency Region
29. OFFLOAD static content to CDN
• reduce your compute capacity demand and costs
• improve end-user experience
• increase fault-tolerance and durability
+
30.
31. ENTIRE APPLICATION via CDN
• minimize client-server chatter (keep it at the edge)
• reduce server-database traffic (cache the common calls)
• speed up mobile app response (persistent connections)
+
32. Best Practices
DRY (don’t repeat yourself)
• original vs. derived assets : 33% savings
• single reference and consistency
• control, accurate logs and tracking
S3 (or Glacier) RRS
33.
34. Amazon ELB
& Auto Scaling
Distribute load for highly scalable
applications
42. When you turn off your cloud resources,
you actually stop paying for them
43. LOAD BALANCE from the start
• uninterrupted growth and evolution
• ready for massive scale, high reliability
• stateless and fault-tolerant arrays
Availability Zone
Availability Zone
44.
45. REAL-TIME reaction response
• notification of pending news flash (with audible alarm)
• on-demand ramp up of capacity (6 mins.)
• subscriber alert push delivered
• mass response traffic handled (followed by ramp down)
46. 0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Load
Hour
Daily CPU load
25%
savings
Optimizeby the time of day
$52 / hr day
$15 / hr night
49. « Want to increase innovation?
Lower the cost of failure »
Joi Ito
MIT Media Labs
50. Automation enables rapid prototyping & innovation
• Reference architectures, scripts, SDK’s, libraries, etc.
• Rapid development and test agility
• “Infrastructure as code…”
• A / B Testing
57. Database
Relational Database Service
Database-as-a-Service
No need to install or manage database instances
Scalable and fault tolerant configurations
Feature Details
Platform support Create MySQL, SQL Server and Oracle RDBMS
Preconfigured Get started instantly with sensible default settings
Automated patching Keep your database platform up to date automatically
Backups Automatic backups and point in time recovery and full DB
backups
Backups Volumes can be snapshotted for point in time restore
Failover Automated failover to slave hosts in event of a failure
Replication Easily create read-replicas of your data and seamlessly replicate
data across availability zones
63. DATABASE smarts
• enhance reliability, ensure data safety
• optimal performance, minimize load
• scale out and share work
• cost reduction
Availability Zone
Availability Zone
64.
65.
66.
67.
68. We are sincerely eager
to hear your feedback
on this presentation and
on re:Invent.
Please fill out an
evaluation form when
you have a chance.
AWS is a set of infrastructure building blocks