Architecting for High Availability Attila Narin AWS Solutions - - PowerPoint PPT Presentation

architecting for high availability
SMART_READER_LITE
LIVE PREVIEW

Architecting for High Availability Attila Narin AWS Solutions - - PowerPoint PPT Presentation

Architecting for High Availability Attila Narin AWS Solutions Architecture QCon London, March 2013 Session Feedback ID 1927 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING LETS BUILD A SYSTEM


slide-1
SLIDE 1

Architecting for High Availability

Attila Narin

AWS Solutions Architecture QCon London, March 2013 Session Feedback ID 1927

slide-2
SLIDE 2
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-3
SLIDE 3

LET’S BUILD A SYSTEM

slide-4
SLIDE 4

LET’S BUILD A

HIGHLY AVAILABLE

SYSTEM

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-12
SLIDE 12

#

DESIGN FOR FAILURE

  • ○○○○
slide-13
SLIDE 13

« Everything fails all the time »

Werner Vogels CTO of Amazon

slide-14
SLIDE 14

AVOID SINGLE POINTS OF FAILURE

slide-15
SLIDE 15

AVOID SINGLE POINTS OF FAILURE ASSUME EVERYTHING FAILS, AND WORK BACKWARDS

slide-16
SLIDE 16

YOUR GOAL

Applications should continue to function

slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20

AMAZON EBS

ELASTIC BLOCK STORE

slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25

AMAZON ELB

ELASTIC LOAD BALANCING

slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28

HEALTH CHECKS

slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-35
SLIDE 35

#

MULTIPLE AVAILABILITY ZONES

  • ●○○○
slide-36
SLIDE 36

AVAILABILITY ZONES

slide-37
SLIDE 37

US-WEST (N. California) EU-WEST (Ireland) ASIA PAC (Tokyo) ASIA PAC (Singapore) US-WEST (Oregon) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) GOV CLOUD ASIA PAC (Sidney)

slide-38
SLIDE 38

US-WEST (N. California) EU-WEST (Ireland) ASIA PAC (Tokyo) ASIA PAC (Singapore) US-WEST (Oregon) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) GOV CLOUD ASIA PAC (Sidney)

slide-39
SLIDE 39

AMAZON RDS

MULTI-AZ

slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44

AMAZON ELB AND

MULTIPLE AZs

slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-48
SLIDE 48

#

SCALING

  • ●●○○
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51

AUTO SCALING

SCALE UP/DOWN EC2 CAPACITY

slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58
slide-59
SLIDE 59
slide-60
SLIDE 60
slide-61
SLIDE 61

UNEXPECTED

SPIKES

slide-62
SLIDE 62

EXPECTED

SPIKES

slide-63
SLIDE 63

DATA TIER

slide-64
SLIDE 64

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

slide-65
SLIDE 65

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

slide-66
SLIDE 66

AMAZON S3

SIMPLE STORAGE SERVICE

slide-67
SLIDE 67

99.999999999%

DURABILITY

slide-68
SLIDE 68

SCALABLE & AVAILABLE

NO CAPACITY PLANNING REQUIRED

slide-69
SLIDE 69

ZERO ADMINISTRATION

slide-70
SLIDE 70

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

slide-71
SLIDE 71

AMAZON DYNAMODB

HIGH-PERFORMANCE, FULLY MANAGED NoSQL DATABASE SERVICE

slide-72
SLIDE 72

LOW LATENCY

AVERAGE READS < 5MS, WRITES < 10MS

slide-73
SLIDE 73

PREDICTABLE PERFORMANCE

PROVISIONES THROUGHPUT

slide-74
SLIDE 74

SEAMLESS SCALABILITY

LIVE REPARTITIONING

slide-75
SLIDE 75

ZERO ADMINISTRATION

slide-76
SLIDE 76

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

slide-77
SLIDE 77
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-78
SLIDE 78

#

SELF-HEALING

  • ●●●○
slide-79
SLIDE 79

HEALTH CHECKS

+

AUTO SCALING

slide-80
SLIDE 80
slide-81
SLIDE 81
slide-82
SLIDE 82
slide-83
SLIDE 83
slide-84
SLIDE 84

HEALTH CHECKS

+

AUTO SCALING =

SELF- HEALING

slide-85
SLIDE 85

DEGRADED MODE

slide-86
SLIDE 86

AMAZON S3 STATIC WEBSITE

+

AMAZON ROUTE53 WEIGHTED RESOLUTION

slide-87
SLIDE 87
slide-88
SLIDE 88
slide-89
SLIDE 89
slide-90
SLIDE 90
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-91
SLIDE 91

#

LOOSE COUPLING

slide-92
SLIDE 92

BUILD LOOSELY COUPLED SYSTEMS

The looser they are coupled, the bigger they scale, the more fault tolerant they get…

slide-93
SLIDE 93

AMAZON SQS

SIMPLE QUEUE SERVICE

slide-94
SLIDE 94

PUBLISH & NOTIFY RECEIVE TRANSCODE

slide-95
SLIDE 95

PUBLISH & NOTIFY RECEIVE TRANSCODE

slide-96
SLIDE 96
slide-97
SLIDE 97
slide-98
SLIDE 98
slide-99
SLIDE 99
slide-100
SLIDE 100
slide-101
SLIDE 101
slide-102
SLIDE 102

VISIBILITY TIMEOUT

slide-103
SLIDE 103
slide-104
SLIDE 104
slide-105
SLIDE 105
slide-106
SLIDE 106
slide-107
SLIDE 107
slide-108
SLIDE 108
slide-109
SLIDE 109
slide-110
SLIDE 110

BUFFERING

slide-111
SLIDE 111
slide-112
SLIDE 112
slide-113
SLIDE 113
slide-114
SLIDE 114
slide-115
SLIDE 115
slide-116
SLIDE 116
slide-117
SLIDE 117

CLOUDWATCH METRICS FOR AMAZON SQS

+

AUTO SCALING

slide-118
SLIDE 118
slide-119
SLIDE 119
slide-120
SLIDE 120
slide-121
SLIDE 121
slide-122
SLIDE 122
slide-123
SLIDE 123
slide-124
SLIDE 124
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-125
SLIDE 125
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-126
SLIDE 126
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-127
SLIDE 127
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-128
SLIDE 128
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-129
SLIDE 129
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-130
SLIDE 130
  • 1. DESIGN FOR FAILURE
  • 2. MULTIPLE

AVAILABILITY ZONES

  • 3. SCALING
  • 4. SELF-HEALING
  • 5. LOOSE COUPLING
slide-131
SLIDE 131

YOUR GOAL

Applications should continue to function

slide-132
SLIDE 132

IT’S ALL ABOUT

BALANCE COST & HIGH AVAILABILITY

slide-133
SLIDE 133

Feedback ID 1927 ;-)

slide-134
SLIDE 134

AWS is Hiring

Solutions Architects

London – Ireland – Luxembourg – Berlin – Munich – Paris

slide-135
SLIDE 135

Attila Narin

attila@amazon.com linkedin.com/in/attilanarin