0% found this document useful (0 votes)
107 views111 pages

Architecting For High Availability: Sajee Mathew Solutions Architect

The document discusses architecting for high availability on AWS. It defines high availability as having minimal downtime and being always accessible. It recommends designing for failure by avoiding single points of failure, using multiple availability zones, implementing auto-scaling for flexibility, enabling self-healing through health checks and auto-scaling, and loosely coupling components. AWS services like EC2, EBS, ELB, RDS, SQS help provide high availability when combined with these best practices. The goal is to build applications that can continue functioning even when outages occur.

Uploaded by

Luận Trần
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views111 pages

Architecting For High Availability: Sajee Mathew Solutions Architect

The document discusses architecting for high availability on AWS. It defines high availability as having minimal downtime and being always accessible. It recommends designing for failure by avoiding single points of failure, using multiple availability zones, implementing auto-scaling for flexibility, enabling self-healing through health checks and auto-scaling, and loosely coupling components. AWS services like EC2, EBS, ELB, RDS, SQS help provide high availability when combined with these best practices. The goal is to build applications that can continue functioning even when outages occur.

Uploaded by

Luận Trần
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 111

Architecting for High Availability

Sajee Mathew
Solutions Architect
What is High Availability?
• Availability: Percentage of time an application operates during its work
cycle
• Loss of availability is known as an outage or downtime
– App is offline, unreachable, or partially available
– App is slow to use
– Planned and unplanned
• Goal
– No downtime
– Always available

2
Availability is related to
• Scalability
– Ability of an application to accommodate growth without changing design
– If app cannot scale, availability may be impacted
– Scalability doesn’t guarantee availability
• Fault Tolerance
– Built-in redundancy so apps can continue functioning when components fail
– Fault tolerance is crucial to HA
• Disaster Recovery
– The process, policies, and procedures related to restoring service after a catastrophic event
• AWS democratizes High Availability
– Multiple servers, isolated redundant data centers, regions across the globe, FT services, etc.

3
AWS GLOBAL
INFRASTRUCTURE
Regions
US-WEST (Oregon)
EU-WEST (Ireland)

AWS GovCloud (US)


ASIA PAC (Tokyo)

US-EAST (Virginia)

ASIA PAC (Sydney)


US-WEST (N. California)

SOUTH AMERICA (Sao Paulo)


ASIA PAC
(Singapore)
Availability Zones
US-WEST (Oregon))
EU-WEST (Ireland)

AWS GovCloud (US)


ASIA PAC (Tokyo)

US-EAST (Virginia)

ASIA PAC (Sydney)


US-WEST (N. California)

SOUTH AMERICA (Sao Paulo)

ASIA PAC
(Singapore)
AWS BUILDING BLOCKS
Inherently Highly Available and Highly Available with
Fault Tolerant Services the right architecture

 Amazon S3  Amazon SQS  Amazon EC2


 Amazon DynamoDB  Amazon SNS  Amazon EBS
 Amazon CloudFront  Amazon SES  Amazon RDS
 Amazon Route53  Amazon SWF  Amazon VPC
 Elastic Load Balancing  …
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
LET’S BUILD A
HIGHLY AVAILABLE
SYSTEM
# 1
DESIGN FOR FAILURE
●○○○○
« Everything fails
all the time »
Werner Vogels
CTO of Amazon
AVOID SINGLE POINTS OF FAILURE
AVOID SINGLE POINTS OF FAILURE

ASSUME EVERYTHING FAILS,


AND WORK BACKWARDS
YOUR GOAL
Applications should continue to function
AMAZON EBS
ELASTIC BLOCK STORE
AMAZON ELB
ELASTIC LOAD BALANCING
HEALTH CHECKS
# 2
MULTIPLE
AVAILABILITY ZONES
●●○○○
AMAZON RDS
MULTI-AZ
AMAZON ELB AND
MULTIPLE AZs
# 3
SCALING
●●●○○
AUTO SCALING
SCALE UP/DOWN EC2 CAPACITY
# 4
SELF-HEALING
●●●●○
HEALTH CHECKS
+
AUTO SCALING
HEALTH CHECKS
+
AUTO SCALING
=
SELF-HEALING
DEGRADED MODE
AMAZON S3
STATIC WEBSITE
+
AMAZON ROUTE 53
WEIGHTED RESOLUTION
#5
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&
RECEIVE TRANSCODE
NOTIFY
PUBLISH&
RECEIVE TRANSCODE
NOTIFY
VISIBILITY TIMEOUT
BUFFERING
CLOUDWATCH METRICS
FOR AMAZON SQS
+
AUTO SCALING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
YOUR GOAL
Applications should continue to function
IT’S ALL ABOUT

CHOICE
BALANCE COST & HIGH AVAILABILITY
AWS ARCHITECTURE CENTER
http://aws.amazon.com/architecture

AWS TECHNICAL ARTICLES


http://aws.amazon.com/articles

AWS BLOG
http://aws.typepad.com

AWS PODCAST
http://aws.amazon.com/podcast

You might also like