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 session 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.
AWS Summit 2013 | Singapore - Architecting for High Availability
1. Architecting for High Availability
Joe Ziegler
Startup Business Development Manager APAC, AWS
July 18, 2013
@jiyosub
2. 22
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
3. 33
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.