94
Architec(ng for High Availability Ran Tessler, AWS Solu0ons Architecture Manager

Architecting for High Availability - Pop-up Loft Tel Aviv

Embed Size (px)

Citation preview

Page 1: Architecting for High Availability - Pop-up Loft Tel Aviv

Architec(ngforHighAvailabilityRan Tessler, AWS Solu0ons Architecture Manager

Page 2: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 3: Architecting for High Availability - Pop-up Loft Tel Aviv

LET’S BUILD A SYSTEM

Page 4: Architecting for High Availability - Pop-up Loft Tel Aviv

LET’S BUILD A HIGHLY AVAILABLE

SYSTEM

Page 5: Architecting for High Availability - Pop-up Loft Tel Aviv

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

!  …

Page 6: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 7: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 8: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 9: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 10: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 11: Architecting for High Availability - Pop-up Loft Tel Aviv

#1 DESIGN FOR

FAILURE ●○○○

Page 12: Architecting for High Availability - Pop-up Loft Tel Aviv

« Everything fails all the time »

Werner Vogels

CTO of Amazon

Page 13: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 14: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 15: Architecting for High Availability - Pop-up Loft Tel Aviv

YOUR GOAL:

Applications should continue to function even if

the underlying physical hardware fails or is removed or replaced

Page 16: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 17: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 18: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 19: Architecting for High Availability - Pop-up Loft Tel Aviv

AMAZON ELB ELASTIC LOAD BALANCING

Page 20: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 21: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 22: Architecting for High Availability - Pop-up Loft Tel Aviv

AMAZON ELB HEALTH CHECKS

Page 23: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 24: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 25: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 26: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 27: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 28: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 29: Architecting for High Availability - Pop-up Loft Tel Aviv

#2 USE MULTIPLE

AVAILABILITY ZONES

Page 30: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 31: Architecting for High Availability - Pop-up Loft Tel Aviv

AMAZON RDS MULTI-AZ

Page 32: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 33: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 34: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 35: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 36: Architecting for High Availability - Pop-up Loft Tel Aviv

AMAZON ELB AND MULTIPLE AZs

Page 37: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 38: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 39: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 40: Architecting for High Availability - Pop-up Loft Tel Aviv

#3 SCALING

Page 41: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 42: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 43: Architecting for High Availability - Pop-up Loft Tel Aviv

AUTO SCALING SCALE UP/DOWN EC2 CAPACITY

Page 44: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 45: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 46: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 47: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 48: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 49: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 50: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 51: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 52: Architecting for High Availability - Pop-up Loft Tel Aviv

HEALTH CHECKS +

AUTO SCALING

Page 53: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 54: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 55: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 56: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 57: Architecting for High Availability - Pop-up Loft Tel Aviv

HEALTH CHECKS +

AUTO SCALING =

SELF-HEALING

Page 58: Architecting for High Availability - Pop-up Loft Tel Aviv

DATA TIER

Page 59: Architecting for High Availability - Pop-up Loft Tel Aviv

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

!  …

Page 60: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 61: Architecting for High Availability - Pop-up Loft Tel Aviv

#4 LOOSE COUPLING

Page 62: Architecting for High Availability - Pop-up Loft Tel Aviv

BUILD LOOSELY COUPLED SYSTEMS

The looser they are coupled, the bigger they scale,

the more fault tolerant they get…

Page 63: Architecting for High Availability - Pop-up Loft Tel Aviv

AMAZON SQS SIMPLE QUEUE SERVICE

Page 64: Architecting for High Availability - Pop-up Loft Tel Aviv

PUBLISH& NOTIFY RECEIVE TRANSCODE

Page 65: Architecting for High Availability - Pop-up Loft Tel Aviv

PUBLISH& NOTIFY RECEIVE TRANSCODE SQS SQS

Page 66: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 67: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 68: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 69: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 70: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 71: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 72: Architecting for High Availability - Pop-up Loft Tel Aviv

VISIBILITY TIMEOUT

Page 73: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 74: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 75: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 76: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 77: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 78: Architecting for High Availability - Pop-up Loft Tel Aviv

BUFFERING

Page 79: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 80: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 81: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 82: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 83: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 84: Architecting for High Availability - Pop-up Loft Tel Aviv

CLOUDWATCH METRICS FOR AMAZON SQS

+ AUTO SCALING

Page 85: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 86: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 87: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 88: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 89: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 90: Architecting for High Availability - Pop-up Loft Tel Aviv
Page 91: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 92: Architecting for High Availability - Pop-up Loft Tel Aviv

YOUR GOAL:

Applications should continue to function even if

the underlying physical hardware fails or is removed or replaced

Page 93: Architecting for High Availability - Pop-up Loft Tel Aviv

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

Page 94: Architecting for High Availability - Pop-up Loft Tel Aviv

Ran Tessler AWS Solu0ons Architecture Manager [email protected]