Building Fault-TolerantApplications in the CloudRyan HollandEcosystem Solution Architect
Faults?FacilitiesHardwareNetworkingCodePeople
What is “Fault-Tolerant”?Degrees of risk mitigation - not binaryAutomatedTested!
AgendaThe AWS ApproachBuilding BlocksDesign Patterns
Old School Fault-Tolerance: Build Two
Cloud Computing Benefits   No Up-Front        Low Cost      Pay Only for  Capital Expense                   What You Use  ...
Cloud Computing Fault-Tolerance Benefits  No Up-Front HA            Low Cost         Pay for DR Only  Capital Expense     ...
AWS Cloud allows Overcast Redundancy                         Have the shadow                         duplicate of your    ...
Old Barriers to HAare now SurmountableCostComplexityExpertise
AWS Building Blocks: Two Strategies Inherently fault-      Services that are fault-toleranttolerant services         with ...
Resources                  DeploymentThe Stack:       Management               Configuration              Networking      ...
EC2 Instances                  Amazon Machine ImagesThe Stack:      CW Alarms - AutoScaling             Cloudformation - B...
Regional DiversityUse Regions for:  Latency   • Customers   • Data Vendors   • Staff  Compliance  Disaster Recovery  … and...
Proper Use of Multiple Availability Zones
Network Fault-Tolerance Tools107.22.18.45   isn’t fault-tolerant but 50.17.200.146 is: EIPElastic Load BalancingAutomated ...
New EC2 VPC feature:Elastic Network Interface    Up to 8 Interfaces    with 30 Addresses    each    Span Subnets    Attach...
Cloudformation – Elastic Beanstalk  Q: Is your stack unique?
Cloudwatch – Alarms – AutoScaling
AMI’sMaintenance is criticalAlternatives: Chef, Puppet, cfn-init, etc.When in doubt: 64-bitReplicate for DR
EC2 InstancesConsistent, reliable building block100% API controlledReserved InstancesEBSImmense Fleet Scale
Example:a “fork-lifted” app
Example:Fault-Tolerant
Why mess with all of that?
Design For FailureSPOF
Copyright ©                                   2011 Amazon   Build Loosely Coupled Systems   Web ServicesTightCouplingLoose...
Fault-Tolerant Front-end SystemsAddressing: Route53, EIP                                                Auto Scaling      ...
Fault-Tolerant Data-Tier SystemsTunedPatchedCachedShardedReplicatedBacked UpArchivedMonitored
Fault-Tolerant Data-Tier SystemsTunedPatchedCached                      LOTSShardedReplicated                             ...
AWS Fault-Tolerant Data-Tier ServicesS3SimpleDB     Amazon Relational             Database Service                        ...
RDS Fault-Tolerant FeaturesMulti-AZ DeploymentsRead Replicas                       RDS DB Instance   RDS DB Instance      ...
Storage Gateway                Your Datacenter                                                                            ...
Test! Use a Chaos Monkey!                                                                            Prudent              ...
Thank You!
Upcoming SlideShare
Loading in …5
×

Fault Tolerant Applications on AWS

1,277 views

Published on

Published in: Technology, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,277
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Fault Tolerant Applications on AWS

  1. 1. Building Fault-TolerantApplications in the CloudRyan HollandEcosystem Solution Architect
  2. 2. Faults?FacilitiesHardwareNetworkingCodePeople
  3. 3. What is “Fault-Tolerant”?Degrees of risk mitigation - not binaryAutomatedTested!
  4. 4. AgendaThe AWS ApproachBuilding BlocksDesign Patterns
  5. 5. Old School Fault-Tolerance: Build Two
  6. 6. Cloud Computing Benefits No Up-Front Low Cost Pay Only for Capital Expense What You Use Self-Service Easily Scale Improve Agility & Infrastructure Up and Down Time-to-Market Deploy
  7. 7. Cloud Computing Fault-Tolerance Benefits No Up-Front HA Low Cost Pay for DR Only Capital Expense Backups When You Use it Self-Service Easily Deliver Fault- Improve Agility & DR Infrastructure Tolerant Applications Time-to-Recovery Deploy
  8. 8. AWS Cloud allows Overcast Redundancy Have the shadow duplicate of your infrastructure ready to go when you need it……but only pay for whatyou actually use
  9. 9. Old Barriers to HAare now SurmountableCostComplexityExpertise
  10. 10. AWS Building Blocks: Two Strategies Inherently fault- Services that are fault-toleranttolerant services with the right architecture S3 Amazon EC2 SimpleDb VPC DynamoDB Cloudfront EBSSWF, SQS, SNS, SES RDS Route53Elastic Load Balancer Elastic Beanstalk ElastiCache Elastic MapReduce IAM
  11. 11. Resources DeploymentThe Stack: Management Configuration Networking Facilities Geographies
  12. 12. EC2 Instances Amazon Machine ImagesThe Stack: CW Alarms - AutoScaling Cloudformation - Beanstalk Route53 – ElasticIP – ELB Availability Zones Regions
  13. 13. Regional DiversityUse Regions for: Latency • Customers • Data Vendors • Staff Compliance Disaster Recovery … and Fault Tolerance!
  14. 14. Proper Use of Multiple Availability Zones
  15. 15. Network Fault-Tolerance Tools107.22.18.45 isn’t fault-tolerant but 50.17.200.146 is: EIPElastic Load BalancingAutomated DNS: Route53Latency-Based Routing
  16. 16. New EC2 VPC feature:Elastic Network Interface Up to 8 Interfaces with 30 Addresses each Span Subnets Attach/Detach Public or Private
  17. 17. Cloudformation – Elastic Beanstalk Q: Is your stack unique?
  18. 18. Cloudwatch – Alarms – AutoScaling
  19. 19. AMI’sMaintenance is criticalAlternatives: Chef, Puppet, cfn-init, etc.When in doubt: 64-bitReplicate for DR
  20. 20. EC2 InstancesConsistent, reliable building block100% API controlledReserved InstancesEBSImmense Fleet Scale
  21. 21. Example:a “fork-lifted” app
  22. 22. Example:Fault-Tolerant
  23. 23. Why mess with all of that?
  24. 24. Design For FailureSPOF
  25. 25. Copyright © 2011 Amazon Build Loosely Coupled Systems Web ServicesTightCouplingLoose Couplingusing Queues
  26. 26. Fault-Tolerant Front-end SystemsAddressing: Route53, EIP Auto Scaling Amazon CloudFrontDistribution: Multi-AZ, ELB, CloudfrontRedundancy: Auto-Scaling Amazon CloudWatch Amazon Route 53 Elastic LoadMonitoring: Cloudwatch Balancer Elastic IP AWS ElasticPlatform: Elastic Beanstalk Beanstalk
  27. 27. Fault-Tolerant Data-Tier SystemsTunedPatchedCachedShardedReplicatedBacked UpArchivedMonitored
  28. 28. Fault-Tolerant Data-Tier SystemsTunedPatchedCached LOTSShardedReplicated OFBacked Up WORKArchivedMonitored
  29. 29. AWS Fault-Tolerant Data-Tier ServicesS3SimpleDB Amazon Relational Database Service Amazon Elastic (RDS) MapReduce Amazon Simple Storage ServiceEMR (S3)DynamoDB Amazon SimpleDB Amazon DynamoDBRDS Amazon ElastiCache
  30. 30. RDS Fault-Tolerant FeaturesMulti-AZ DeploymentsRead Replicas RDS DB Instance RDS DB Instance Multi-AZ StandbyAutomated BackupsSnapshots
  31. 31. Storage Gateway Your Datacenter Amazon Elastic Compute Cloud (EC2) AWS Storage Gateway VM SSL Clients Internet On-premises Host or Direct AWS Storage Amazon Simple Connect Gateway Service Storage Service (S3)Application Servers Amazon Elastic Block Storage (EBS) Direct Attached or Storage Area Network Disks
  32. 32. Test! Use a Chaos Monkey! Prudent Conservative Professional Open source …and all the cool kids are doing ithttp://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
  33. 33. Thank You!

×