advanced topics - session 4 - architecting for high availability
DESCRIPTION
AWS provides a platform that is ideally suited for building highly available systems, enabling you to build reliable, affordable, fault-tolerant systems that operate with a minimal amount of human interaction. This presentation covers many of the high-availability and fault-tolerance concepts and features of the various services that you can use to build highly reliable and highly available applications in the AWS Cloud: architectures involving multiple Availability Zones, including EC2 best practices and RDS Multi-AZ deployments; loosely coupled and self-healing systems involving SQS and Auto Scaling; networking best practices for high availability, including Elastic IP addresses, load balancing, and DNS; leveraging services that inherently are built with high-availability and fault tolerance in mind, including S3, Elastic Beanstalk and more. Ianni Vamvadelis, Manager, Solution Architecture, AWS Daniel Richardson, Director of Engineering, JustEatTRANSCRIPT
![Page 1: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/1.jpg)
Ianni Vamvadelis, Solution Architect
Architecting for high
availability
![Page 2: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/2.jpg)
2 2
What is High Availability (HA)?
• Percentage of time an application operates
• Loss of availability is known as an outage or downtime
– Planned and unplanned
– App is offline, unreachable, or partially available
– App is unresponsive
![Page 3: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/3.jpg)
3 3
HA is related to …
• Scalability
– Often slow is indistinguishable from unavailable.
• Fault Tolerance
– Apps continue functioning when components fail
• Disaster Recovery
– Restoring service after a catastrophic event
![Page 4: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/4.jpg)
4 4
HA and DR
• A continuum
• business continuity plan
• Not all or nothing proposition
In the face of internal or external events, how do you…
– Keep your applications running 24x7
– Make sure you data is safe
– Get an application recovered after a major disaster
High Availability Disaster Recovery
![Page 5: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/5.jpg)
How does AWS Help
High Availability?
![Page 6: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/6.jpg)
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)
![Page 7: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/7.jpg)
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)
![Page 8: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/8.jpg)
8 8
Automation
![Page 9: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/9.jpg)
AWS SERVICES
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: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/10.jpg)
AWS
Principles for HA
![Page 11: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/11.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 12: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/12.jpg)
LET’S BUILD A
HIGHLY AVAILABLE SYSTEM
![Page 13: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/13.jpg)
![Page 14: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/14.jpg)
![Page 15: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/15.jpg)
![Page 16: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/16.jpg)
![Page 17: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/17.jpg)
#1 DESIGN FOR FAILURE
●○○○○
![Page 18: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/18.jpg)
« Everything fails all the time »
Werner Vogels
CTO of Amazon
![Page 19: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/19.jpg)
AVOID SINGLE POINTS OF FAILURE
![Page 20: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/20.jpg)
AVOID SINGLE POINTS OF FAILURE
ASSUME EVERYTHING FAILS,
AND WORK BACKWARDS
![Page 21: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/21.jpg)
YOUR GOAL
Applications should continue to function
![Page 22: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/22.jpg)
![Page 23: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/23.jpg)
![Page 24: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/24.jpg)
![Page 25: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/25.jpg)
AMAZON EBS ELASTIC BLOCK STORE
![Page 26: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/26.jpg)
![Page 27: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/27.jpg)
![Page 28: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/28.jpg)
![Page 29: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/29.jpg)
![Page 30: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/30.jpg)
AMAZON ELB ELASTIC LOAD BALANCING
![Page 31: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/31.jpg)
![Page 32: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/32.jpg)
![Page 33: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/33.jpg)
HEALTH CHECKS
![Page 34: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/34.jpg)
![Page 35: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/35.jpg)
![Page 36: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/36.jpg)
![Page 37: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/37.jpg)
![Page 38: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/38.jpg)
![Page 39: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/39.jpg)
#2 MULTIPLE
AVAILABILITY ZONES ●●○○○
![Page 40: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/40.jpg)
AMAZON RDS
MULTI-AZ
![Page 41: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/41.jpg)
![Page 42: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/42.jpg)
![Page 43: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/43.jpg)
![Page 44: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/44.jpg)
![Page 45: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/45.jpg)
![Page 46: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/46.jpg)
AMAZON ELB AND
MULTIPLE AZs
![Page 47: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/47.jpg)
![Page 48: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/48.jpg)
![Page 49: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/49.jpg)
#3 SCALING
●●●○○
![Page 50: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/50.jpg)
![Page 51: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/51.jpg)
![Page 52: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/52.jpg)
AUTO SCALING SCALE UP/DOWN EC2 CAPACITY
![Page 53: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/53.jpg)
![Page 54: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/54.jpg)
![Page 55: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/55.jpg)
![Page 56: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/56.jpg)
![Page 57: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/57.jpg)
![Page 58: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/58.jpg)
![Page 59: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/59.jpg)
![Page 60: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/60.jpg)
![Page 61: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/61.jpg)
![Page 62: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/62.jpg)
![Page 63: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/63.jpg)
#4 SELF-HEALING
●●●●○
![Page 64: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/64.jpg)
HEALTH CHECKS
+ AUTO SCALING
![Page 65: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/65.jpg)
![Page 66: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/66.jpg)
![Page 67: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/67.jpg)
![Page 68: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/68.jpg)
![Page 69: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/69.jpg)
HEALTH CHECKS
+ AUTO SCALING
=
SELF-HEALING
![Page 70: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/70.jpg)
DEGRADED MODE
![Page 71: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/71.jpg)
AMAZON S3 STATIC WEBSITE
+ AMAZON ROUTE 53
WEIGHTED RESOLUTION
![Page 72: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/72.jpg)
![Page 73: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/73.jpg)
![Page 74: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/74.jpg)
![Page 75: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/75.jpg)
#5 LOOSE
COUPLING ●●●●●
![Page 76: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/76.jpg)
BUILD LOOSELY COUPLED SYSTEMS
The looser they are coupled, the bigger they scale,
the more fault tolerant they get…
![Page 77: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/77.jpg)
AMAZON SQS SIMPLE QUEUE SERVICE
![Page 78: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/78.jpg)
PUBLISH& NOTIFY
RECEIVE TRANSCODE
![Page 79: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/79.jpg)
PUBLISH& NOTIFY
RECEIVE TRANSCODE
![Page 80: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/80.jpg)
![Page 81: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/81.jpg)
![Page 82: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/82.jpg)
![Page 83: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/83.jpg)
![Page 84: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/84.jpg)
![Page 85: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/85.jpg)
![Page 86: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/86.jpg)
VISIBILITY TIMEOUT
![Page 87: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/87.jpg)
![Page 88: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/88.jpg)
![Page 89: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/89.jpg)
![Page 90: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/90.jpg)
![Page 91: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/91.jpg)
![Page 92: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/92.jpg)
![Page 93: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/93.jpg)
![Page 94: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/94.jpg)
BUFFERING
![Page 95: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/95.jpg)
![Page 96: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/96.jpg)
![Page 97: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/97.jpg)
![Page 98: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/98.jpg)
![Page 99: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/99.jpg)
![Page 100: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/100.jpg)
![Page 101: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/101.jpg)
CLOUDWATCH METRICS FOR AMAZON SQS
+ AUTO SCALING
![Page 102: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/102.jpg)
![Page 103: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/103.jpg)
![Page 104: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/104.jpg)
![Page 105: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/105.jpg)
![Page 106: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/106.jpg)
![Page 107: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/107.jpg)
![Page 108: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/108.jpg)
![Page 109: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/109.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 110: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/110.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 111: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/111.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 112: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/112.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 113: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/113.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 114: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/114.jpg)
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
![Page 115: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/115.jpg)
YOUR GOAL
Applications should continue to function
![Page 116: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/116.jpg)
IT’S ALL ABOUT
CHOICE BALANCE COST & HIGH AVAILABILITY
![Page 117: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/117.jpg)
117 117
Summary
Leverage AWS Services
Apply 5 principles for HA
Automate
Test your HA implementation
![Page 118: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/118.jpg)
118 118
aws.amazon.com/architecture
![Page 119: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/119.jpg)
JUST EAT HIGH AVAILABILITY WITH AWS
![Page 120: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/120.jpg)
120
JUST EAT
13 countries
34,000+ restaurants
8m+ members
Over 50m orders
16,000+ restaurants in UK, 8m visits a month
![Page 121: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/121.jpg)
121
PLATFORM Devices in restaurants
Consumer Website
Public API
Order API Ratings API Search API …
Restaurant Services
SQL Server Networking Monitoring
Customer Care Tools
Emails
Common Infrastructure
…
Apps and External Services
APIs
![Page 122: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/122.jpg)
122
DESIGN FOR FAILURE
Device Service
Auto scaling Group
eu-west-1a
Orders queue
Orders data
Devices in restaurants
eu-west-1b
eu-west-1c
Web Service
Auto scaling Group
eu-west-1a
eu-west-1b
eu-west-1c
Web Service
Web Service
JCT Service Device Service
![Page 123: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/123.jpg)
123
SCALING - PROACTIVE
123
![Page 124: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/124.jpg)
124
SCALING - PROACTIVE
Web servers in data center
![Page 125: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/125.jpg)
125
SCALING – PROACTIVE
Web servers in data center
Web EC2 instances
![Page 126: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/126.jpg)
126
SCALING – REACTIVE
Web servers in data center
Web EC2 instances
![Page 127: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/127.jpg)
127
EVERYTHING MULTI AZ – CONSUMER WEBSITE
Auto scaling Group
eu-west-1a eu-west-1b eu-west-1c
Monitor to keep resource usage at max of 66% of capacity in each AZ
when everything’s available.
66% 66% 66% 99% 99%
![Page 128: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/128.jpg)
128 128
EVERYTHING MULTI AZ – INTERNAL APIS
Auto scaling Group
eu-west-1a eu-west-1b eu-west-1c
Alarms tell us that performance has been degraded – but platform will
self heal as new instances are launched.
Applications assume that internal APIs will fail or run slowly. So can cope with the loss of an AZ
or instances – will just degrade gracefully.
80% 80% 80% 100% 100%
![Page 129: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/129.jpg)
129 129 129
EVERYTHING MULTI AZ – SQL SERVER 2012
eu-west-1a eu-west-1b eu-west-1c
Connection strings simply contain both primary and secondary servers –
no code changes required.
Primary Witness Secondary Alarms tell us that failover has
occurred, but it happens without manual intervention.
![Page 130: Advanced Topics - Session 4 - Architecting for High Availability](https://reader033.vdocument.in/reader033/viewer/2022052911/559eb9ce1a28ab174d8b4826/html5/thumbnails/130.jpg)
DANIEL RICHARDSON
DIRECTOR OF ENGINEERING, JUST EAT
130
www.just-eat.com/jobs
twitter.com/JustEatUK
www.facebook.com/justeat