architecting for high availability - pop-up loft tel aviv

Post on 27-Jan-2017

645 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Architec(ngforHighAvailabilityRan Tessler, AWS Solu0ons Architecture Manager

1.  DESIGN FOR FAILURE 2.  USE MULTI-AZ 3.  SCALING 4.  LOOSE COUPLING

LET’S BUILD A SYSTEM

LET’S BUILD A HIGHLY AVAILABLE

SYSTEM

AWS BUILDING BLOCKS Inherently Highly Available and Fault Tolerant Services

Highly Available with the right architecture !  Amazon S3

!  Amazon DynamoDB !  Amazon CloudFront !  Amazon SWF

!  Amazon SQS !  Amazon SNS !  Amazon SES !  Amazon Route53

"  Amazon EC2 "  Amazon EBS "  Amazon RDS "  Amazon VPC

!  Elastic Load Balancing !  AWS IAM !  AWS Elastic Beanstalk !  Amazon Kinesis

!  Amazon CloudWatch !  Amazon EC2 Container

Service !  Amazon Lambda

!  …

1.  DESIGN FOR FAILURE 2.  USE MULTI-AZ 3.  SCALING 4.  LOOSE COUPLING

#1 DESIGN FOR

FAILURE ●○○○

« Everything fails all the time »

Werner Vogels

CTO of Amazon

AVOID SINGLE POINTS OF FAILURE. ASSUME EVERYTHING FAILS, AND DESIGN BACKWARDS.

AVOID SINGLE POINTS OF FAILURE. ASSUME EVERYTHING FAILS, AND DESIGN BACKWARDS.

YOUR GOAL:

Applications should continue to function even if

the underlying physical hardware fails or is removed or replaced

AMAZON ELB ELASTIC LOAD BALANCING

AMAZON ELB HEALTH CHECKS

1.  DESIGN FOR FAILURE 2.  USE MULTI-AZ 3.  SCALING 4.  LOOSE COUPLING

#2 USE MULTIPLE

AVAILABILITY ZONES

AMAZON RDS MULTI-AZ

AMAZON ELB AND MULTIPLE AZs

1.  DESIGN FOR FAILURE 2.  USE MULTI-AZ 3.  SCALING 4.  LOOSE COUPLING

#3 SCALING

AUTO SCALING SCALE UP/DOWN EC2 CAPACITY

HEALTH CHECKS +

AUTO SCALING

HEALTH CHECKS +

AUTO SCALING =

SELF-HEALING

DATA TIER

AWS BUILDING BLOCKS Inherently Highly Available and Fault Tolerant Services

Highly Available with the right architecture !  Amazon S3

!  Amazon DynamoDB !  Amazon CloudFront !  Amazon SWF

!  Amazon SQS !  Amazon SNS !  Amazon SES !  Amazon Route53

"  Amazon EC2 "  Amazon EBS "  Amazon RDS "  Amazon VPC

!  Elastic Load Balancing !  AWS IAM !  AWS Elastic Beanstalk !  Amazon Kinesis

!  Amazon CloudWatch !  Amazon EC2 Container

Service !  Amazon Lambda

!  …

1.  DESIGN FOR FAILURE 2.  USE MULTI-AZ 3.  SCALING 4.  LOOSE COUPLING

#4 LOOSE COUPLING

BUILD LOOSELY COUPLED SYSTEMS

The looser they are coupled, the bigger they scale,

the more fault tolerant they get…

AMAZON SQS SIMPLE QUEUE SERVICE

PUBLISH& NOTIFY RECEIVE TRANSCODE

PUBLISH& NOTIFY RECEIVE TRANSCODE SQS SQS

VISIBILITY TIMEOUT

BUFFERING

CLOUDWATCH METRICS FOR AMAZON SQS

+ AUTO SCALING

1.  DESIGN FOR FAILURE 2.  USE MULTI-AZ 3.  SCALING 4.  LOOSE COUPLING

YOUR GOAL:

Applications should continue to function even if

the underlying physical hardware fails or is removed or replaced

WHAT’S NEXT… 13:45 – How Viber uses Amazon SQS for high scale and decoupling

14:45 – How Beamr uses Amazon SWF for video optimization

16:00 – How Glide uses AWS Lambda for increased simplicity and scale

Ran Tessler AWS Solu0ons Architecture Manager tesslerr@amazon.com

top related