SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Designing Fault-Tolerant Applications
         Miles Ward
         Enterprise Solutions Architect
Building Fault-Tolerant Applications on AWS

       White paper published
       last year

       Sharing best practices

       We’d like to hear your
       best practices as well




http://media.amazonwebservices.com/AWS_Building_Fault_Tolerant_Applications.pdf
                                     Copyright © 2011 Amazon Web Services
AWS Fault-Tolerant Building Blocks
Two approaches:
  1) AWS services that are inherently fault-tolerant and highly
  available:
       • Amazon Simple Storage Service (S3)
       • Amazon SimpleDB
       • Amazon SQS, SNS, SES, CloudWatch, CloudFront, and more.

  2) AWS services that offer tools and features to design fault-
  tolerant and highly available systems:
       • Amazon Elastic Compute Cloud (EC2)
           – Availability Zones, Elastic IPs, EBS, etc.
           – Flexible to trade off budget vs. time to recovery
       • Amazon Relational Database Service (RDS)
           – Multi-AZ Deployments
           – Backup/Restore



                            Copyright © 2011 Amazon Web Services
Amazon EC2 Architecture

       Amazon                              Region
       Machine                         Availability Zone
     Image (AMI)                                                         Ephemeral
                                                                          Storage
                                        EC2 Instance

                                                               Elastic
     CloudWatch                                                 Block
                                                               Storage

                                          Security
                                          Group(s)

         Auto                                                    Amazon S3
        Scaling                           Elastic IP
                                                             EBS             EBS
                                          Address          Snapshot        Snapshot




                                       Load Balancing
Copyright © 2011 Amazon Web Services
EC2 Features

 AMI
   Packaged, reusable functionality

 On-Instance Storage
   Lifetime tied to instance lifetime
   AFR like standard hard disk (around 5%)

 EBS Volumes
     Lifetime independent of any particular EC2 instance
     Redundant within an AZ
     AFR is 0.1% to 0.5%
     Incorporate volume mappings into your architecture
     Use EBS snapshot backups




                       Copyright © 2011 Amazon Web Services
EC2 Features

 Elastic IP Addresses
   Map to any EC2 instance within a given Region
   Detach from failed instance; map to replacement

 Auto Scaling
   Two ways to use it:
     • Respond to changing conditions by adding or terminating EC2
       instances (attach to CloudWatch metrics)
     • Maintain a fixed number of instances running, replacing them if
       they fail or become unhealthy

 Reserved Instances
   Guarantees capacity for when it’s needed




                        Copyright © 2011 Amazon Web Services
EC2 Features

 CloudWatch Alarms




                Copyright © 2011 Amazon Web Services
EC2 Features

 Elastic Load Balancing
   Distributes incoming traffic across multiple instances
   Sends traffic only to healthy instances




                     Copyright © 2011 Amazon Web Services
Amazon EC2 Regions and Availability Zones

   US East (Northern Virginia)                                 EU (Dublin)


    Availability         Availability
     Zone A               Zone B
                                                     Availability      Availability
                                                      Zone A            Zone B
    Availability         Availability
     Zone C               Zone D




Amazon EC2 Regions:
US East (Northern Virginia) / US West (Northern California) /
EU (Ireland) / Asia Pacific (Singapore) / Asia Pacific (Tokyo)




                               Copyright © 2011 Amazon Web Services
Availability Zone Characteristics and Advice

 Distinct physical locations

 Low-latency network connections between AZs

 Independent power, cooling, network, security

 Always partition app stacks across 2 or more AZs

 Elastic Load Balance across instances in multiple AZs




                    Copyright © 2011 Amazon Web Services
Proper Use of Multiple Availability Zones
                       Centralized Services (S3 Backups, SimpleDB, etc)

                    Availability Zone A                           Availability Zone B
                   Database Server or                             Database Server or
                    RDS DB Instance                                RDS DB Instance

                       App Server                                    App Server

                      Web Server                                    Web Server


                                       Requests and Health Checks


                                          Elastic Load Balancer




Copyright © 2011 Amazon Web Services       Incoming Requests
Region Characteristics and Advice

 Regions are:
   Functionally separate
   Composed of 2 or more AZs
   Connected via the public internet


 Use regions to:
   Have functionality geographically close to customers
   Comply with national laws and practices
   Implement a DR strategy
RDS Fault-Tolerant Features

 Multi-AZ Deployments
   Synchronous replication across AZs
   Automatic fail-over to standby replica
 Automated Backups
   Enables point-in-time recovery of the DB instance
   Retention period configurable
 Snapshots
   User initiated full backup of DB
   New DB can be created from snapshots
AWS Architectural
   Guidance



     Copyright © 2011 Amazon Web Services
Design For Failure – Basic Principles

  Avoid single points of failure

  Assume everything fails, and design backwards

  Goal: Applications should continue to function even if the
  underlying physical hardware fails or is removed or
  replaced.

  Design your recovery process

  Trade off business needs vs. cost of high -availability




                     Copyright © 2011 Amazon Web Services
Design For Failure – Use AWS Building Blocks

  Use Elastic IP addresses for consistent and re -
  mappable routes
  Use multiple Amazon EC2 Availability Zones (AZs )
  Replicate data across multiple AZs
   Example: Amazon RDS Multi-AZ mode

  Use real-time monitoring (Amazon CloudWatch)
  Use Amazon Elastic Block Store (EBS) for persistent
  file systems
  Take EBS Snapshots and use S3 for backups




                    Copyright © 2011 Amazon Web Services
Copyright ©
                                                                2011 Amazon
                                                                Web Services
 Build Loosely Coupled Systems

    Use independent components

    Design everything as a Black Box

    Load-balance and scale clusters

    Think about graceful degradation

Amazon SQS as Buffers
   Tight              Controller           Controller       Controller
                         A                    B                C
   Coupling
                     Q                 Q                Q
    Loose Coupling
                          Controller       Controller       Controller
    using Queues             A                B                C
Implement Elasticity

 Don’t assume health or fixed location of components

 Use designs that are resilient to reboot and re-launch

 Bootstrap your instances –
   “Who am I am and what is my role?”

 Enable dynamic configuration

 Use configurations in SimpleDB for bootstrapping

 Use Auto Scaling

 Use Elastic Load Balancing on each tier




                        Copyright © 2011 Amazon Web Services
Implementing Elasticity
Elastic Load Balancing, CloudWatch, and AutoScaling


                          Elastic Load
                           Balancing




                                 Utilization

    Auto Scaling                                           CloudWatch
                                                            Metrics



                    Copyright © 2011 Amazon Web Services
Copyright © 2011
                                                                                     Amazon Web

Use a Chaos Monkey                                                                   Services




 From the Netflix blog:




 Simple monkey:
   Kill any instance in the account

 Complex monkey:
   Kill instances with specific tags
   Introduce other faults (e.g. connectivity via Security Group)

 Human monkey:
   Kill instances from the AWS Management Console




         http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
AWS Architecture Center

 aws.amazon.com/architecture

 White papers:
     Cloud architectures
     Building fault-tolerant applications
     Web hosting best practices
     Leveraging different storage options
     AWS security best practices




                      Copyright © 2011 Amazon Web Services
Thank You!




 Copyright © 2011 Amazon Web Services

Weitere ähnliche Inhalte

Was ist angesagt?

Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot InstancesWorkshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Amazon Web Services
 

Was ist angesagt? (20)

AWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the Cloud
 
AWS and Serverless with Alexa
AWS and Serverless with AlexaAWS and Serverless with Alexa
AWS and Serverless with Alexa
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
 
Journey Through the AWS Cloud; Application Services
Journey Through the AWS Cloud; Application ServicesJourney Through the AWS Cloud; Application Services
Journey Through the AWS Cloud; Application Services
 
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Aws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.inAws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.in
 
AWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemAWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant system
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
AWS Webcast - Design for Availability
AWS Webcast - Design for AvailabilityAWS Webcast - Design for Availability
AWS Webcast - Design for Availability
 
Building a CICD Pipeline for Deploying to Containers
Building a CICD Pipeline for Deploying to ContainersBuilding a CICD Pipeline for Deploying to Containers
Building a CICD Pipeline for Deploying to Containers
 
AWS 101 Event - 16 July 2013
AWS 101 Event - 16 July 2013AWS 101 Event - 16 July 2013
AWS 101 Event - 16 July 2013
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot InstancesWorkshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
Workshop; Deploy a Deep Learning Framework on Amazon ECS and Spot Instances
 
AWS 101 Event London - Feb 2014
AWS 101 Event London - Feb 2014AWS 101 Event London - Feb 2014
AWS 101 Event London - Feb 2014
 
Compute@Scale
Compute@ScaleCompute@Scale
Compute@Scale
 
AWS Partner Presentation - SAP
AWS Partner Presentation - SAP AWS Partner Presentation - SAP
AWS Partner Presentation - SAP
 
Amazon Web Services - 9 Posts.
Amazon Web Services - 9 Posts.Amazon Web Services - 9 Posts.
Amazon Web Services - 9 Posts.
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic Beanstalk
 
Architecting for High Availability - Pop-up Loft Tel Aviv
Architecting for High Availability - Pop-up Loft Tel AvivArchitecting for High Availability - Pop-up Loft Tel Aviv
Architecting for High Availability - Pop-up Loft Tel Aviv
 

Ähnlich wie AWS Summit 2011: Designing Fault Tolerant Applicatons

Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff Barr
Amazon Web Services
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS Cloud
Amazon Web Services
 
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Amazon Web Services
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Amazon Web Services
 
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - WebinarHow to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
Amazon Web Services
 
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitDeploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Amazon Web Services
 
Keynote - Cloud e o Futuro com Werner Vogels, CTO da amazon
Keynote - Cloud e o Futuro com Werner Vogels, CTO da amazonKeynote - Cloud e o Futuro com Werner Vogels, CTO da amazon
Keynote - Cloud e o Futuro com Werner Vogels, CTO da amazon
Amazon Web Services LATAM
 

Ähnlich wie AWS Summit 2011: Designing Fault Tolerant Applicatons (20)

Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff Barr
 
Disaster Recovery with the AWS Cloud
Disaster Recovery with the AWS CloudDisaster Recovery with the AWS Cloud
Disaster Recovery with the AWS Cloud
 
Architecting Cloud Apps
Architecting Cloud AppsArchitecting Cloud Apps
Architecting Cloud Apps
 
AMAZON CLOUD Course Content
AMAZON CLOUD Course ContentAMAZON CLOUD Course Content
AMAZON CLOUD Course Content
 
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting Started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best Practices
 
Amazon Web Services - Elastic Beanstalk
Amazon Web Services - Elastic BeanstalkAmazon Web Services - Elastic Beanstalk
Amazon Web Services - Elastic Beanstalk
 
Aws
AwsAws
Aws
 
Amazon EC2: What is this and what can I do with it?
Amazon EC2: What is this and what can I do with it?Amazon EC2: What is this and what can I do with it?
Amazon EC2: What is this and what can I do with it?
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
 
An intro to Amazon Web Services (AWS)
An intro to Amazon Web Services (AWS)An intro to Amazon Web Services (AWS)
An intro to Amazon Web Services (AWS)
 
AWS Architecting In The Cloud
AWS Architecting In The CloudAWS Architecting In The Cloud
AWS Architecting In The Cloud
 
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - WebinarHow to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
How to Extend your Datacenter into the Cloud - 2nd Watch - Webinar
 
Aws coi7
Aws coi7Aws coi7
Aws coi7
 
Seattle Technical Forum Eucalyptus talk
Seattle Technical Forum Eucalyptus talkSeattle Technical Forum Eucalyptus talk
Seattle Technical Forum Eucalyptus talk
 
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitDeploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
 
Keynote - Cloud e o Futuro com Werner Vogels, CTO da amazon
Keynote - Cloud e o Futuro com Werner Vogels, CTO da amazonKeynote - Cloud e o Futuro com Werner Vogels, CTO da amazon
Keynote - Cloud e o Futuro com Werner Vogels, CTO da amazon
 

Mehr von Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

AWS Summit 2011: Designing Fault Tolerant Applicatons

  • 1. Designing Fault-Tolerant Applications Miles Ward Enterprise Solutions Architect
  • 2. Building Fault-Tolerant Applications on AWS White paper published last year Sharing best practices We’d like to hear your best practices as well http://media.amazonwebservices.com/AWS_Building_Fault_Tolerant_Applications.pdf Copyright © 2011 Amazon Web Services
  • 3. AWS Fault-Tolerant Building Blocks Two approaches: 1) AWS services that are inherently fault-tolerant and highly available: • Amazon Simple Storage Service (S3) • Amazon SimpleDB • Amazon SQS, SNS, SES, CloudWatch, CloudFront, and more. 2) AWS services that offer tools and features to design fault- tolerant and highly available systems: • Amazon Elastic Compute Cloud (EC2) – Availability Zones, Elastic IPs, EBS, etc. – Flexible to trade off budget vs. time to recovery • Amazon Relational Database Service (RDS) – Multi-AZ Deployments – Backup/Restore Copyright © 2011 Amazon Web Services
  • 4. Amazon EC2 Architecture Amazon Region Machine Availability Zone Image (AMI) Ephemeral Storage EC2 Instance Elastic CloudWatch Block Storage Security Group(s) Auto Amazon S3 Scaling Elastic IP EBS EBS Address Snapshot Snapshot Load Balancing Copyright © 2011 Amazon Web Services
  • 5. EC2 Features AMI  Packaged, reusable functionality On-Instance Storage  Lifetime tied to instance lifetime  AFR like standard hard disk (around 5%) EBS Volumes  Lifetime independent of any particular EC2 instance  Redundant within an AZ  AFR is 0.1% to 0.5%  Incorporate volume mappings into your architecture  Use EBS snapshot backups Copyright © 2011 Amazon Web Services
  • 6. EC2 Features Elastic IP Addresses  Map to any EC2 instance within a given Region  Detach from failed instance; map to replacement Auto Scaling  Two ways to use it: • Respond to changing conditions by adding or terminating EC2 instances (attach to CloudWatch metrics) • Maintain a fixed number of instances running, replacing them if they fail or become unhealthy Reserved Instances  Guarantees capacity for when it’s needed Copyright © 2011 Amazon Web Services
  • 7. EC2 Features CloudWatch Alarms Copyright © 2011 Amazon Web Services
  • 8. EC2 Features Elastic Load Balancing  Distributes incoming traffic across multiple instances  Sends traffic only to healthy instances Copyright © 2011 Amazon Web Services
  • 9. Amazon EC2 Regions and Availability Zones US East (Northern Virginia) EU (Dublin) Availability Availability Zone A Zone B Availability Availability Zone A Zone B Availability Availability Zone C Zone D Amazon EC2 Regions: US East (Northern Virginia) / US West (Northern California) / EU (Ireland) / Asia Pacific (Singapore) / Asia Pacific (Tokyo) Copyright © 2011 Amazon Web Services
  • 10. Availability Zone Characteristics and Advice Distinct physical locations Low-latency network connections between AZs Independent power, cooling, network, security Always partition app stacks across 2 or more AZs Elastic Load Balance across instances in multiple AZs Copyright © 2011 Amazon Web Services
  • 11. Proper Use of Multiple Availability Zones Centralized Services (S3 Backups, SimpleDB, etc) Availability Zone A Availability Zone B Database Server or Database Server or RDS DB Instance RDS DB Instance App Server App Server Web Server Web Server Requests and Health Checks Elastic Load Balancer Copyright © 2011 Amazon Web Services Incoming Requests
  • 12. Region Characteristics and Advice Regions are:  Functionally separate  Composed of 2 or more AZs  Connected via the public internet Use regions to:  Have functionality geographically close to customers  Comply with national laws and practices  Implement a DR strategy
  • 13. RDS Fault-Tolerant Features Multi-AZ Deployments  Synchronous replication across AZs  Automatic fail-over to standby replica Automated Backups  Enables point-in-time recovery of the DB instance  Retention period configurable Snapshots  User initiated full backup of DB  New DB can be created from snapshots
  • 14. AWS Architectural Guidance Copyright © 2011 Amazon Web Services
  • 15. Design For Failure – Basic Principles Avoid single points of failure Assume everything fails, and design backwards Goal: Applications should continue to function even if the underlying physical hardware fails or is removed or replaced. Design your recovery process Trade off business needs vs. cost of high -availability Copyright © 2011 Amazon Web Services
  • 16. Design For Failure – Use AWS Building Blocks Use Elastic IP addresses for consistent and re - mappable routes Use multiple Amazon EC2 Availability Zones (AZs ) Replicate data across multiple AZs  Example: Amazon RDS Multi-AZ mode Use real-time monitoring (Amazon CloudWatch) Use Amazon Elastic Block Store (EBS) for persistent file systems Take EBS Snapshots and use S3 for backups Copyright © 2011 Amazon Web Services
  • 17. Copyright © 2011 Amazon Web Services Build Loosely Coupled Systems Use independent components Design everything as a Black Box Load-balance and scale clusters Think about graceful degradation Amazon SQS as Buffers Tight Controller Controller Controller A B C Coupling Q Q Q Loose Coupling Controller Controller Controller using Queues A B C
  • 18. Implement Elasticity Don’t assume health or fixed location of components Use designs that are resilient to reboot and re-launch Bootstrap your instances –  “Who am I am and what is my role?” Enable dynamic configuration Use configurations in SimpleDB for bootstrapping Use Auto Scaling Use Elastic Load Balancing on each tier Copyright © 2011 Amazon Web Services
  • 19. Implementing Elasticity Elastic Load Balancing, CloudWatch, and AutoScaling Elastic Load Balancing Utilization Auto Scaling CloudWatch Metrics Copyright © 2011 Amazon Web Services
  • 20. Copyright © 2011 Amazon Web Use a Chaos Monkey Services From the Netflix blog: Simple monkey:  Kill any instance in the account Complex monkey:  Kill instances with specific tags  Introduce other faults (e.g. connectivity via Security Group) Human monkey:  Kill instances from the AWS Management Console http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
  • 21. AWS Architecture Center aws.amazon.com/architecture White papers:  Cloud architectures  Building fault-tolerant applications  Web hosting best practices  Leveraging different storage options  AWS security best practices Copyright © 2011 Amazon Web Services
  • 22. Thank You! Copyright © 2011 Amazon Web Services