how to develop and deploy web-scale applications on aws

28
How to develop and deploy web-scale applications on AWS

Upload: databarracks

Post on 19-Jan-2017

305 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: How to Develop and Deploy Web-Scale Applications on AWS

How to develop and deploy web-scale applications on AWS

Page 2: 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

Page 3: How to Develop and Deploy Web-Scale Applications on AWS

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

Page 4: How to Develop and Deploy Web-Scale Applications on AWS
Page 5: How to Develop and Deploy Web-Scale Applications on AWS

#1 DESIGN FOR FAILURE ●○○○

Page 6: How to Develop and Deploy Web-Scale Applications on AWS

The cloud scales: AWS Global Reach

Page 7: How to Develop and Deploy Web-Scale Applications on AWS

Daily Active Customers

AWS in numbers

Regions Availability Zones

Edge Locations

12

54

33

1m

Page 8: How to Develop and Deploy Web-Scale Applications on AWS

...Expanding in 2016

Page 9: How to Develop and Deploy Web-Scale Applications on AWS

#2 HIGH AVAILABILITY ●●○○

Page 10: How to Develop and Deploy Web-Scale Applications on AWS
Page 11: How to Develop and Deploy Web-Scale Applications on AWS

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

Page 12: How to Develop and Deploy Web-Scale Applications on AWS

Highly available service architecture

Page 13: How to Develop and Deploy Web-Scale Applications on AWS

#3 SCALING●●●○

Page 14: How to Develop and Deploy Web-Scale Applications on AWS

Auto-scaling

Page 15: How to Develop and Deploy Web-Scale Applications on AWS

Elastic Load Balancing

Page 16: How to Develop and Deploy Web-Scale Applications on AWS

Amazon Route 53

Page 17: How to Develop and Deploy Web-Scale Applications on AWS

#4 LOOSE COUPLING●●●●

Page 18: How to Develop and Deploy Web-Scale Applications on AWS

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

Page 19: How to Develop and Deploy Web-Scale Applications on AWS

Building applications from scratch

Page 20: How to Develop and Deploy Web-Scale Applications on AWS

Migrating applications – from legacy hosting

Page 21: How to Develop and Deploy Web-Scale Applications on AWS

Optimising existing applications

Review security

Right sizing instances

Decoupling for scale

Make web servers stateless

Page 22: How to Develop and Deploy Web-Scale Applications on AWS

Is my data safe and under control?

Page 23: How to Develop and Deploy Web-Scale Applications on AWS

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

Page 24: How to Develop and Deploy Web-Scale Applications on AWS

Trusted Advisor - automated cost optimisation & advice

Page 25: How to Develop and Deploy Web-Scale Applications on AWS

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

Page 26: How to Develop and Deploy Web-Scale Applications on AWS

If nothing else, remember

#1 Design for failure#2 High availability#3 Scaling#4 Loose coupling

Page 27: How to Develop and Deploy Web-Scale Applications on AWS

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

Page 28: How to Develop and Deploy Web-Scale Applications on AWS

Questions.