7. DNS - Route 53
“Amazon Route 53 is a highly available and scalable
cloud Domain Name System (DNS) web service.”
Integrates extremely well with other AWS services
Elastic Load Balancing
Simple Email Services
Health checks / failover
8. Let’s start simple - Elastic Beanstalk
“Amazon Elastic Beanstalk is an easy-to-use service for
deploying and scaling web applications and services.”
12. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
54.12.13.14
54.12.13.14
13. MySQL - Amazon RDS
“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.”
Automated backups
Encryption in transit and at rest
Automated maintenance (security upgrades etc.)
14. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
54.12.13.14
54.12.13.14
Buy
15. Elastic Load Balancing
“Elastic Load Balancing automatically distributes incoming application
traffic across multiple Amazon EC2 instances in the cloud.”
High availability
Scalable
SSL termination (encryption / decryption)
16. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
17. Problems with multiple servers
TYPO3 Flow sessions are stored in local file cache
Logging goes to local filesystem
Uploaded resources are stored on local filesystem
18. TYPO3 Flow sessions are stored in local file cache
Solution:
Change TYPO3 Flow’s session backend to a
database or redis backend (e.g. ElastiCache)
19. Logging goes to local filesystem
Solution: Ship log files to a central logging server
CloudWatch
20. Uploaded resources are stored on local filesystem
Solution:
Upload resources to a shared file service (e.g. Amazon S3)
21. Amazon S3
“Amazon S3 provides developers and IT teams with
secure, durable, highly-scalable object storage.”
Easy to use
Cheap
Highly-scalable
Durable
22. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
25. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
26. Auto-Scaling
“Auto Scaling helps you maintain application availability
and allows you to scale your Amazon EC2 capacity up or
down automatically according to conditions you define"
27. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
28. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
29. RDS Multi-AZ
“Amazon RDS Multi-AZ deployments provide enhanced
availability and durability for Database (DB) Instances"
30. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
31. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
32. Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
33. RDS Read Replicas
“Amazon RDS Read Replicas provide enhanced performance and durability”
Reading (HTTP GET) uses a random read replica
Writing (HTTP POST) goes to master
34. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
35. Amazon SQS
“Amazon Simple Queue Service (SQS) is a fast, reliable,
scalable, fully managed message queuing service.
Things to use a queue for:
Generate and send emails (newsletters etc.)
Generate and send reports
Handling events in an event-driven architecture
36. Zone A Zone B Zone C
Region EU-WEST-1
DNS
Route 53
ticket.com
One of ELB’s IP'sBuy
Elastic Load Balancing
S3
SQS
37. Emails - SES
“Amazon Simple Email Service (Amazon SES) is a cost-
effective outbound-only email-sending service built on the
reliable and scalable infrastructure.”
High deliverability
Automated DKIM signing
Anti-spam agreements
Higher delivery rates
38.
39. Push iOS / Android - Amazon SNS
“Amazon Simple Notification Service is a fast, flexible,
fully managed push messaging service.”
41. And much more..
CDN (CloudFront)
Managed Redis / Memcached (ElastiCache)
And more …
42. Start cost
My experience so far:
99% predictable, 1% unknown
2 x t2.micro (with SSD)…………… ~ $30
1 x Load Balancer ………………………… ~ $20
1 x MySQL with failover…………… ~ $30
1 x MySQL Read replica …………… ~ $15
S3, Route 53, SES, SNS etc…… ~ $ 5
——
Total ………………………………………………………… ~ $100 / month
AWS Pricing is very complex and hard to predict.
43. +
Some of the reasons why I love AWS:
• Fairly easy to get started (with a very advanced setup)
• File/push/email/queue/cache/… services are super useful and easy to use
• The auto-healing / auto-scaling features gives me peace of mind
• Feels confident that we can scale easily using horizontal scaling