How to develop and deploy
web-scale applications on AWS
● Fundamentals of building resilient web-scale applications
on AWS:
○ From scratch
○ Migrating from legacy hosting service
● The specific AWS services to use and how to take
advantage of them
● Building for scalability, resilience and security
● How to manage costs
● How to avoid common mistakes
Agenda
Supporting
businesses in
public cloud
adoption
Web Scale Applications
Public Cloud Services
Recovery Objectives
Disaster Recovery
Data Retention Backup
as a Service
Lifecycle Management
Archive as a Service
#1 DESIGN FOR FAILURE
●○○○
The cloud scales: AWS Global Reach
Daily Active
Customers
AWS in numbers
Regions
Availability
Zones
Edge
Locations
12 5433 1m
...Expanding in 2016
#2 HIGH AVAILABILITY
●●○○
AWS building
blocks
Inherently Highly Available
and Fault Tolerant Services
● Amazon S3
● Amazon DynamoDB
● Amazon CloudFront
● Amazon Route53
● Elastic Load Balancing
● Amazon SQS
● Amazon SNS
● Amazon SES
● Amazon SWF
Highly Available with the
right architecture
● Amazon EC2
● Amazon EBS
● Amazon RDS
● Amazon VPC
Highly
available
service
architecture
#3 SCALING
●●●○
Auto-scaling
Elastic Load
Balancing
Amazon
Route 53
#4 LOOSE COUPLING
●●●●
Service
orientated
architecture
● Move services into their own
tiers/modules
● Treat each of these as 100%
wholly separate pieces of your
infrastructure and scale them
independently
● Design everything as a ‘black-
box’
● Decouple interactions
● Favour services with built-in
redundancy and scalability than
building your own
Building
applications
from scratch
Migrating
applications –
from legacy
hosting
Optimising existing
applications
Review
security
Right sizing
instances
Decoupling
for scale
Make web
servers
stateless
Is my data safe and under control?
Maintaining privacy
and security of data
Your data won’t
move unless you
move it
You decide
where to put
your data
Encryption
in motion or
at rest
Trusted Advisor - automated cost optimisation & advice
How to avoid
common mistakes
Billing Alerts
Pre-warm
Elastic Load
Balancing
Scale
down as
well as up
Make sure
web servers
are stateless
Don’t use
ephemeral
storage for
critical data
If nothing else,
remember
#1 Design for failure
#2 High availability
#3 Scaling
#4 Loose coupling
Resources
● http://docs.aws.amazon.com/gettingstarted/latest/wah-linux/web-app-hosting-intro.html
● Architecting for the Cloud whitepaper
http://d0.awsstatic.com/whitepapers/AWS_Cloud_Best_Practices.pdf
● 9 Top Tips for scalable web apps in AWS
http://info.databarracks.com/AWS9Tips_ebookdownload.html
Questions.

How to Develop and Deploy Web-Scale Applications on AWS

Editor's Notes

  • #9 12 Regions 29 Availability Zones 64 Edge locations Over 1 million active customers Every day, AWS adds enough new server capacity to support Amazon.com when it was a $7 billion global enterprise.
  • #15 Setting up auto-scaling and groups important to handle load on demand What is important to know when setting up auto-scaling Deals well with gradual increase in traffic Pre-warming load balancing - to handle sudden surges of traffic and don’t forgot to setup scaling down policies