Building Fault Tolerant Applications in the cloud - AWS Summit 2012 - NYC

Preview:

DESCRIPTION

 

Citation preview

Building Fault-Tolerant Applications in the Cloud

Advanced Solutions ArchitectureMiles Ward

Faults? Facilities

Hardware

Networking

Code

People

What is “Fault-Tolerant”?

Degrees of risk mitigation - not binary

Automated

Tested!

Agenda

The AWS Approach

Building Blocks

Success Example:

Design Patterns

Old School Fault-Tolerance: Build Two

No Up-Front Capital Expense

Pay Only for What You Use

Self-Service Infrastructure

Easily Scale Up and Down

Improve Agility & Time-to-Market

Low Cost

Cloud Computing Benefits

Deploy

No Up-Front HA Capital Expense

Pay for DR Only When You Use it

Self-Service DR Infrastructure

Easily Deliver Fault-Tolerant

Applications

Improve Agility & Time-to-Recovery

Low Cost Backups

Cloud Computing Fault-Tolerance Benefits

Deploy

The benefits translate!

AWS Cloud allows Overcast Redundancy

Have the shadow duplicate of your infrastructure ready to go when you need it…

…but only pay for what you actually use

Old Barriers to HA are now Surmountable

Cost

Complexity

Expertise

AWS Building Blocks: Two Strategies

Inherently fault-tolerant services

Services that are fault-tolerant with the right architecture

S3SimpleDb

DynamoDBCloudfront

SWF, SQS, SNS, SESRoute53

Elastic Load BalancerElastic Beanstalk

ElastiCacheElastic MapReduce

IAM

Amazon EC2VPC EBSRDS

The Stack:

Resources

Deployment

Management

Configuration

Networking

Facilities

Geographies

The Stack:

EC2 Instances

Amazon Machine Images

CW Alarms - AutoScaling

Cloudformation - Beanstalk

Route53 – ElasticIP – ELB

Availability Zones

Regions

Regional Diversity

Use Regions for:

Latency• Customers• Data Vendors• Staff

Compliance

Disaster Recovery

… and Fault Tolerance!

Proper Use of Multiple Availability Zones

107.22.18.45 isn’t fault-tolerant but 50.17.200.146 is: EIP

Elastic Load Balancing

Automated DNS: Route53

New! Latency-Based Routing

Network Fault-Tolerance Tools

Cloudformation – Elastic Beanstalk

Q: Is your stack unique?

Cloudwatch – Alarms – AutoScaling

AMI’s

Maintenance is critical

Alternatives: Chef, Puppet, cfn-init, etc.

New! When in doubt: 64-bit

Replicate for DR

EC2 Instances

Consistent, reliable building block

100% API controlled

Reserved Instances

EBS

Immense Fleet Scale

New EC2 VPC feature: Elastic Network Interface

Up to 2 Addresses

Span Subnets

Attach/Detach

Public or Private

Example: a “fork-lifted” app

Example: Fault-Tolerant

Why mess with all of that?

Design For Failure

SPOF

Build Loosely Coupled Systems

Tight Coupling

Loose Coupling using Queues

Copyright © 2011 Amazon Web Services

Use the right approach for each tier

AWS

Fault-Tolerant Front-end Systems

Addressing: Route53, EIP

Distribution: Multi-AZ, ELB, Cloudfront

Redundancy: Auto-Scaling

Monitoring: Cloudwatch

Platform: Elastic Beanstalk

Amazon CloudFront

Amazon CloudWatch

Auto Scaling

Amazon Route 53

Elastic LoadBalancer

AWS ElasticBeanstalk

Elastic IP

Fault-Tolerant Data-Tier Systems

Tuned

Patched

Cached

Sharded

Replicated

Backed Up

Archived

Monitored

Fault-Tolerant Data-Tier Systems

Tuned

Patched

Cached

Sharded

Replicated

Backed Up

Archived

Monitored

LOTSOF

WORK

AWS Fault-Tolerant Data-Tier Services

S3

SimpleDB

EMR

New! DynamoDB

RDS

Amazon Elastic MapReduce

Amazon Simple Storage Service

(S3)

Amazon Relational Database Service

(RDS)

Amazon SimpleDB

Amazon DynamoDB

Amazon ElastiCache

RDS Fault-Tolerant Features

Multi-AZ Deployments

Read Replicas

Automated Backups

Snapshots

RDS DB Instance RDS DB InstanceMulti-AZ Standby

New! Storage GatewayYour Datacenter

Amazon Elastic Block Storage

(EBS)

Amazon Elastic Compute Cloud

(EC2)

Amazon Simple Storage Service (S3)

Clients

On-premises Host

AWS Storage Gateway

VM

Direct Attached or Storage Area Network Disks

SSL

Internetor

Direct Connect

AWS Storage Gateway Service

Application Servers

Test! Use a Chaos Monkey!

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

Prudent

Conservative

Professional

…and all the cool kids are doing it

Thank You!@milesward

Recommended