aws webcast - design for availability

107
© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. Design for Availability Brett Hollman Manager, Solutions Architecture April 23 rd , 2014

Upload: amazon-web-services

Post on 08-Sep-2014

1.729 views

Category:

Technology


5 download

DESCRIPTION

How do you build an architecture which is designed from the beginning to withstand failure? This session will cover techniques to develop such an architecture which is capable of withstanding disaster and failure. Take advantage of AWS Availability Zones to spread your application or workload across multiple physical locations to isolate yourself from physical and geographical disruptions. Replicate your database and state information to increase availability. Attend this complimentary webinar to learn these techniques and many more. What you will learn: • How to design for failure • How to use distribute your application across Multiple Availability Zones (physically different data centers) • How to scale your application as traffic grows and / or shrinks • How to make your application self healing • How to add loose coupling into your application to make it more survivable

TRANSCRIPT

Page 1: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Design for Availability

Brett Hollman

Manager, Solutions Architecture

April 23rd, 2014

Page 2: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Designing for Availability

ME: Brett Hollman – Solutions Architect and Manager at Amazon Web Services YOU: here to learn more about designing your applications for high availability on AWS TODAY: about best practices and things to think about when building a highly available application on AWS

Page 3: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

3 3

What is High Availability?

Availability: Percentage of time an application operates during its work cycle

Loss of availability is known as an outage or downtime

• App is offline, unreachable, or partially available

• App is slow to use

• Planned and unplanned

Goal

• No downtime

• Always available

Page 4: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

4 4

Availability is related to

Scalability

• Ability of an application to accommodate growth without changing design

• If app cannot scale, availability may be impacted

• Scalability doesn’t guarantee availability

Fault Tolerance

• Built-in redundancy so apps can continue functioning when components fail

• Fault tolerance is crucial to HA

AWS democratizes High Availability

• Multiple servers, isolated redundant data centers, regions across the globe, Fault

Tolerant services, etc.

Page 5: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AWS GLOBAL

INFRASTRUCTURE

Page 6: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

US-WEST (Oregon)

EU-WEST (Ireland) ASIA PAC (Tokyo)

ASIA PAC

(Singapore)

US-WEST (N. California)

SOUTH AMERICA (Sao Paulo)

US-EAST (Virginia)

AWS GovCloud (US)

ASIA PAC (Sydney)

Regions

AWS CHINA

(Beiijing)

Limited preview

Page 7: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

US-WEST (Oregon)) EU-WEST (Ireland)

ASIA PAC (Tokyo)

ASIA PAC

(Singapore)

US-WEST (N. California)

SOUTH AMERICA (Sao Paulo)

US-EAST (Virginia)

AWS GovCloud (US)

ASIA PAC (Sydney)

Availability Zones

Page 8: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

Reference Model

Page 9: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AWS BUILDING BLOCKS

Inherently Highly Available and

Fault Tolerant Services

Highly Available

with the right

architecture

Amazon S3

Amazon DynamoDB

Amazon CloudFront

Amazon Route53

Elastic Load Balancing

Amazon SQS

Amazon SNS

Amazon SES

Amazon SWF

Amazon EC2

Amazon EBS

Amazon RDS

Amazon VPC

Page 10: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Principles of Designing for Availability

Page 11: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

LET’S BUILD A

HIGHLY AVAILABLE SYSTEM

Page 12: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Vertical Scaling

From $0.02/hr Elastic Compute Cloud (EC2) Basic unit of compute capacity

Range of CPU, memory & local disk options

22 Instance types available from 6 different families

Feature Details

Flexible Run windows or Linux distributions

Scalable Wide range of instance types from micro to

cluster compute

Machine Images Configurations can be saved as machine

images (AMIs) from which new instances can

be created

Full control Full root or administrator rights

Secure Full firewall control via Security Groups

Monitoring Publishes metrics to Cloud Watch

Inexpensive On-demand, Reserved and Spot instance types

VM Import/Export Import and export VM images to transfer

configurations in and out of EC2

Compute

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

** MANY NEW INSTANCE TYPES

Page 13: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 14: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 15: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 16: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 17: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

#1 DESIGN FOR FAILURE

●○○○○

Page 18: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

« Everything fails all the time »

Werner Vogels

CTO of Amazon

Page 19: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AVOID SINGLE POINTS OF FAILURE

Page 20: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AVOID SINGLE POINTS OF FAILURE

ASSUME EVERYTHING FAILS,

AND WORK BACKWARDS

Page 21: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

YOUR GOAL

Applications should continue to function

Page 22: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 23: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 24: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 25: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AMAZON EBS ELASTIC BLOCK STORE

Page 26: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Elastic Block Store High performance block storage device

1GB to 1TB in size

Mount as drives to instances

Feature Details

High performance

file system

Mount EBS as drives and format as required

Flexible size Volumes from 1GB to 1TB in size

Secure Private to your instances

Performance Use provisioned IOPS to get desired level of IO

performance

Available Replicated within an Availability Zone

Backups Volumes can be snapshotted for point in time

restore

Monitoring Detailed metrics captured via Cloud Watch

Storage

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

Page 27: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 28: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 29: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 30: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 31: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AMAZON ELB ELASTIC LOAD BALANCING

Page 32: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Elastic Load Balancing Create highly scalable applications

Distribute load across EC2 instances in multiple

availability zones

Feature Details

Auto-scaling Automatically scales to handle request volume

Available Load balance across instances in multiple

availability zones

Health checks Automatically checks health of instances and

takes them in or out of service

Session stickiness Route requests to the same instance

Secure sockets layer Supports SSL offload from web and application

servers with flexible cipher support

Monitoring Publishes metrics to Cloud Watch

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

** NEW CONNECTION DRAINING

AND NEW ACCESS LOGS

Compute

Page 33: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 34: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 35: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

HEALTH CHECKS

Page 36: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 37: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 38: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 39: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 40: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

#2 MULTIPLE

AVAILABILITY ZONES ●●○○○

Page 41: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AMAZON RDS

MULTI-AZ

Page 42: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Relational Database Service Database-as-a-Service

No need to install or manage database instances

Scalable and fault tolerant configurations

Feature Details

Platform support Create MySQL, SQL Server, Postgres and

Oracle RDBMS

Preconfigured Get started instantly with sensible default

settings

Automated patching Keep your database platform up to date

automatically

Backups Automatic backups and point in time recovery

and full DB backups

Provisioned IOPS Specify IO throughput depending on

requirements

Failover Automated failover to slave hosts in event of a

failure

Replication Easily create read-replicas of your data and

seamlessly replicate data across availability

zones

Database

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

Page 43: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 44: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 45: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 46: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 47: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AMAZON ELB AND

MULTIPLE AZs

Page 48: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 49: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 50: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

#3 SCALING

●●●○○

Page 51: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 52: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 53: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AUTO SCALING SCALE UP/DOWN EC2 CAPACITY

Page 54: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Auto Scaling Automatic re-sizing of compute clusters based upon demand

Trigger auto-scaling policy

Feature Details

Control Define minimum and maximum instance pool

sizes and when scaling and cool down occurs

Integrated to

CloudWatch

Use metrics gathered by CloudWatch to drive

scaling

Instance types Run auto scaling for on-demand instances and

spot. Compatible with VPC

as-create-auto-scaling-group MyGroup

--launch-configuration MyConfig

--availability-zones eu-west-1a

--min-size 4

--max-size 200

Compute

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

** NEW CONSOLE

Page 55: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 56: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 57: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 58: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 59: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 60: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 61: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 62: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 63: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 64: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Scaling Data Tier

Page 65: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

RDS - Push-Button Scaling

scale up or down to the desired instance class

scale up to an 8-core server with 244 GB of RAM

with the cr1.8xlarge

Page 66: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Use Cases Reporting and ETL

Discrete read/write transactions (browsers vs buyers)

Scale-out with one or more read servers master-slave

architecture

scaling READS

Page 67: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

• Optimize master for OLTP and read slaves for table scans

• Resize slaves as needed to boost reporting performance

• Use short-term slaves to save cost during monthly reporting

• Promote to standalone server.

• NEW - Cross Region Read Replicas with MySQL

scaling READS Tech tips

Page 68: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Scaling for Writes on the Data Tier

At large scale, you may start to run into issues with your database around contention on writes to the master.

How can you solve it?

• Federation ( splitting into multiple DBs based on function)

• Sharding ( splitting one data set up across multiple hosts)

• Moving some functionality to other types of DBs ( NoSQL )

Page 69: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Database Federation • 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

Page 70: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Sharded Horizontal Scaling

• More complex at the application

layer

• ORM support can help

• 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

A

B

C

Page 71: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

#4 SELF-HEALING

●●●●○

Page 72: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

HEALTH CHECKS

+ AUTO SCALING

Page 73: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 74: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 75: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 76: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 77: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

HEALTH CHECKS

+ AUTO SCALING

=

SELF-HEALING

Page 78: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

DEGRADED MODE

Page 79: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AMAZON S3 STATIC WEBSITE

+ AMAZON ROUTE 53

DNS Failover

Page 80: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 81: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 82: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 83: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

#5 LOOSE

COUPLING ●●●●●

Page 84: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

BUILD LOOSELY COUPLED SYSTEMS

The looser they are coupled, the bigger they scale,

the more fault tolerant they get…

Page 85: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

SOA

Move services into their own tiers/modules. Treat each of these as 100% whole-y separate pieces of your infrastructure and scale them independently.

Amazon.com and AWS do this extensively! It offers flexibility and greater understanding of each component.

Page 86: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Loose coupling sets you free!

The looser they're coupled, the bigger they scale

Independent components

Design everything as a black box

Decouple interactions

Favor services with built in redundancy and scalability than building your own

Page 87: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AMAZON SQS SIMPLE QUEUE SERVICE

Page 88: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Amazon SQS

Processing

task/processing trigger

Processing results

Amazon SQS Reliable, highly scalable, queue service

for storing messages as they travel

between instances

Feature Details

Reliable Messages stored redundantly across

multiple availability zones

Simple Simple APIs to send and receive messages

Scalable Unlimited number of messages

Secure Authentication of queues to ensure

controlled access

Application Services

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

Page 89: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

PUBLISH&

NOTIFY RECEIVE TRANSCODE

Page 90: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

PUBLISH&

NOTIFY RECEIVE TRANSCODE

Page 91: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 92: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

VISIBILITY TIMEOUT

Page 93: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 94: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 95: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 96: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 97: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

CLOUDWATCH METRICS FOR AMAZON SQS

+ AUTO SCALING

Page 98: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

Page 99: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 100: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 101: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 102: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 103: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 104: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 105: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

YOUR GOAL

Applications should continue to function

Page 106: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

IT’S ALL ABOUT

CHOICE BALANCE COST & AVAILABILITY REQUIREMENTS

Page 107: AWS Webcast - Design for Availability

© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.

AWS Architecture Center http://aws.amazon.com/architecture

AWS Whitepapers http://aws.amazon.com/whitepapers

AWS Blog http://aws.typepad.com

Thanks for coming!

- Brett Hollman