Upload
amazon-web-services
View
645
Download
5
Embed Size (px)
Citation preview
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 [email protected]