How to Develop and Deploy Web-Scale Applications on AWS

Post on 19-Jan-2017

310 views 2 download

Transcript of How to Develop and Deploy Web-Scale Applications on AWS

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 ApplicationsPublic Cloud

ServicesRecovery

ObjectivesDisaster

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

54

33

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 AWShttp://info.databarracks.com/AWS9Tips_ebookdownload.html

Questions.