As part of the Introduction to AWS Workshop Series, see how to scale your website from your first user, right up to a complex architecture to support 10 million users.
9. US-WEST (Oregon)
EU-WEST (Ireland)
ASIA PAC (Tokyo)
US-WEST (N. California)
SOUTH AMERICA
(Sao Paulo)
US-EAST (Virginia)
AWS GovCloud (US)
ASIA PAC (Sydney)
ASIA PAC
(Singapore)
CHINA (Beijing)
EU-CENTRAL (Frankfurt)
10. US-WEST (Oregon)
EU-WEST (Ireland)
ASIA PAC (Tokyo)
US-WEST (N. California)
SOUTH AMERICA
(Sao Paulo)
US-EAST (Virginia)
AWS GovCloud (US)
ASIA PAC (Sydney)
ASIA PAC
(Singapore)
CHINA (Beijing)
EU-CENTRAL (Frankfurt)
11.
12. AWS Provides Broad and Deep Services to
Support any Cloud Workload
Application Services
AWS Global Infrastructure
Networking
Deployment & Administration
Compute StorageCompute Database
13. Mobile
Push
Notifications
Mobile
Analytics
Cognito
Cognito
Sync
Analytics
Kinesis
Data
Pipeline
RedShift EMR
AWS Global Infrastructure
Your Applications
AWS Global Infrastructure11 Regions 28 Availability Zones 53 Edge Locations
Network
VPC
Direct
Connect
Route 53
API
Human Interaction
Support
Web Console
Interaction
Command Line
Libraries,
SDK’s
Storage
EBS S3 Glacier CloudFront
Database
DynamoDBRDS ElastiCache
Deployment & Management
Elastic
Beanstalk
OpsWorks
Cloud
Formation
Code
Deploy
Code
Pipeline
Code
Commit
Security & Administration
CloudWatch Config
Cloud
Trail
IAM Directory KMS
Application
SQS SWF
App
Stream
Elastic
Transcoder
SES
Cloud
Search
SNS
Enterprise Applications
WorkSpaces WorkMail WorkDocs
Compute
EC2 ELB
Auto
Scaling
LambdaECS
17. • Will hit an endpoint eventually
c3.8xlarge
m3.2xlarge
t2.micro
18. utilizes Intel® Xeon® processors
Core count,
Memory size, Storage size & type, Network performance, & CPU
technologies
• Hurry Up & Go Idle
19. Intel® Xeon® v3
• Haswell microarchitecture has better branch prediction; efficient at
prefetching instructions and data; along with other improvements that
can boost existing applications’ performance by 30% or more
P state and C state control
Intel® AVX2.0
20. • Intel® AVX – Get dramatically better performance for highly parallel
HPC workloads such as life science engineering, data mining, financial
analysis, or other technical computing applications. AVX also
enhances image, video, and audio processing.
• Intel® AES-NI – Enhance your security with these new encryption
instructions that reduce the performance penalty associated with
encrypting/decrypting data.
• Intel® Turbo Boost Technology – Get more computing power when you
need it with performance that adapts to spikes in your workload with
Intel® Turbo Boost Technology 2.0
25. Self-managed Fully managed
Database server
on Amazon EC2
Your choice of
database running on
Amazon EC2
Bring Your Own
License (BYOL)
Amazon
DynamoDB
Managed NoSQL
database service
using SSD storage
Seamless scalability
Zero administration
Amazon RDS
Aurora,
Microsoft SQL,
Oracle, MySQL or
PostgreSQL as a
managed service
BYOL or License
Included
Amazon
Redshift
Massively parallel,
petabyte-scale data
warehouse service
Fast, powerful, and
easy to scale
Database options
26. But how do I choose
what DB technology I
need? SQL? NoSQL?
31. Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone Availability Zone
Web
Instance
RDS DB Instance
Standby (Multi-AZ)
Elastic Load
Balancer
Amazon
Route 53
User
32. • Create highly scalable applications
• Distribute load across EC2 instances
in multiple Availability Zones
Feature
Details
Available
Load
balances
across
instances
in
mul1ple
Availability
Zones
Health
checks
Automa1cally
checks
health
of
instances
and
takes
them
in
or
out
of
service
Session
s6ckiness
Routes
requests
to
the
same
instance
Secure
sockets
layer
Supports
SSL
offload
from
web
and
applica1on
servers
with
flexible
cipher
support
Monitoring
Publishes
metrics
to
CloudWatch
and
can
get
logs
of
requests
processed
Elastic Load
Balancer
Elastic Load Balancer
34. User 10k-100k’s
RDS DB Instance
Active (Multi-AZ)
Availability Zone Availability Zone
RDS DB Instance
Standby (Multi-AZ)
Elastic Load
Balancer
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Amazon
Route 53
User
35. This will take us pretty far, but
we care about performance
and efficiency, so let’s improve
further
37. Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
Balancer
Amazon S3
Amazon
Cloudfront
Amazon
Route 53
User
• Move static content from
the web instance to
Amazon S3 and Amazon
CloudFront
39. CloudFront
Amazon CloudFront is a web service for scalable
content delivery:
• Cache static content at the edge for faster delivery
• Helps lower load on origin infrastructure
• Dynamic and static content
• Streaming video
• Custom SSL certificates
• Low TTLs (as short as 0 seconds)
• Lower costs for origin fetches (between Amazon
S3 / Amazon EC2 and CloudFront)
• Optimized to work with Amazon EC2, Amazon S3,
Elastic Load Balancing, and Amazon Route 53
Response
Time
Server
Load
Response
Time
Server
Load
Response
Time
Server
Load
No
CDN
CDN
for
Sta1c
Content
CDN
for
Sta1c
&
Dynamic
Content
0
20
40
60
80
8:00
AM
9:00
AM
10:00
AM
11:00
AM
12:00
PM
1:00
PM
2:00
PM
3:00
PM
4:00
PM
5:00
PM
6:00
PM
7:00
PM
8:00
PM
9:00
PM
VolumeofData
Delivered(Gbps)
41. • Move session/state and
DB caching to Amazon
ElastiCache or Amazon
DynamoDB
Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
Balancer
Amazon S3
Amazon
Cloudfront
Amazon
Route 53
User
ElastiCache
DynamoDB
42. • Managed, provisioned throughput
NoSQL database
• Fast, predictable performance
• Fully distributed, fault tolerant
architecture
• JSON support (NEW)
• Items up to 400 KB (NEW)
Feature
Details
Provisioned
throughput
Dial
up
or
down
provisioned
read/write
capacity
Predictable
performance
Average
single
digit
millisecond
latencies
from
SSD-‐backed
infrastructure
Strong
consistency
Be
sure
you
are
reading
the
most
up
to
date
values
Fault
tolerant
Data
replicated
across
Availability
Zones
Monitoring
Integrated
with
Amazon
CloudWatch
Secure
Integrates
with
AWS
Iden1ty
and
Access
Management
(IAM)
43.
44. • Move dynamic content from
the ELB to Amazon
CloudFront
Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
Balancer
Amazon S3
Amazon
Cloudfront
Amazon
Route 53
User
ElastiCache
DynamoDB
45. • Move dynamic content
from the ELB to Amazon
CloudFront
Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
Balancer
Amazon S3
Amazon
Cloudfront
Amazon
Route 53
User
ElastiCache
DynamoDB
46. Now that our web tier is
much more lightweight, we
can revisit the beginning of
our talk…
48. Automatic resizing of compute
clusters based on demand
Feature
Details
Control
Define
minimum
and
maximum
instance
pool
sizes
and
when
scaling
and
cool
down
occurs.
Integrated
to
Amazon
CloudWatch
Use
metrics
gathered
by
CloudWatch
to
drive
scaling.
Instance
types
Run
Auto
Scaling
for
on-‐demand
and
Spot
Instances.
Compa1ble
with
VPC.
aws autoscaling create-auto-scaling-group
--auto-scaling-group-name MyGroup
--launch-configuration-name MyConfig
--min-size 4
--max-size 200
--availability-zones us-west-2c, us-west-2b
Auto Scaling Trigger auto-scaling policy
Amazon
CloudWatch
56. Availability Zone
Amazon
Route 53
User
Amazon S3
Amazon
Cloudfront
Availability Zone
Elastic Load
Balancer
DynamoDB
RDS DB Instance
Read Replica
Web
Instance
Web
Instance
Web
Instance
ElastiCache RDS DB Instance
Read Replica
Web
Instance
Web
Instance
Web
Instance
ElastiCacheRDS DB Instance
Standby (Multi-AZ)
RDS DB Instance
Active (Multi-AZ)
57.
58.
59. AWS application management solutions
Convenience Control
Higher-level services Do it yourself
AWS
Elastic Beanstalk
AWS
OpsWorks
AWS
CloudFormation
Amazon EC2
66. Controller
A
Controller
B
Controller
A
Controller
B
Q
Q
Tight
coupling
Use
Amazon
SQS
as
buffers
Loose
coupling
67. DON’T REINVENT THE WHEEL
Examples:
• Email
• Queuing
• Transcoding
• Search
• Databases
• Monitoring
• Metrics
• Logging
Amazon
CloudSearch
Amazon SQSAmazon SNS
Amazon Elastic
Transcoder
Amazon SWF
Amazon SES
In the early days, if someone has a service for it already,
opt to use that instead of building it yourself.
68.
69. RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
Balancer
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Amazon
Route 53
User
Amazon S3
Amazon
Cloudfront
DynamoDB
Amazon SQS
ElastiCache
Worker
Instance
Worker
Instance
Amazon
CloudWatch
Internal App
Instance
Internal App
Instance
Amazon SES
72. • Split up databases by function/
purpose
• Harder to do cross-function
queries
• Essentially delaying the need
for something like sharding/
NoSQL until much further down
the line
• Won’t help with single huge
functions/tables
ForumsDB
UsersDB
ProductsDB
73. Sharded horizontal scaling
• More complex at the
application layer
• No practical limit on
scalability
• Operation complexity/
sophistication
• Shard by function or key
space
• RDBMS or NoSQL
User ShardID
002345 A
002346 B
002347 C
002348 B
002349 A
Shard C
Shard B
Shard A
74. Shifting functionality to NoSQL
• ALeverage hosted services like DynamoDB
• Some use cases:
– Leaderboards/scoring
– Rapid ingest of clickstream/log data
– Temporary data needs (cart data)
– “Hot” tables
– Metadata/lookup tables
DynamoDB
80. Expand Your Cloud Skills with AWS
Certification
aws.amazon.com/certification
Validate your proven
technical expertise with the
AWS platform and gain
recognition for your skills
Online videos and
labs
aws.amazon.com/training/
self-paced-labs
Start working with an AWS
service in minutes with free
online instructional videos
and labs
aws.amazon.com/training
Instructor-led courses
Learn how to design, deploy,
and operate highly available,
cost-effective, and secure
applications on AWS