Transcript
Page 1: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AWS Summit 2013 Tel Aviv Oct 16 – Tel Aviv, Israel

Alex Sinner

Solutions Architect, Amazon Web Services

ARCHITECTING FOR HIGH AVAILABILITY

Page 2: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

“LET’S BUILD

A ________ WEB

APPLICATION”

Page 3: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

“LET’S BUILD

A HIGHLY AVAILABLE

________ WEB

APPLICATION”

Page 4: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

“LET’S BUILD

A HIGHLY AVAILABLE

AND SCALABLE

________ WEB

APPLICATION”

Page 5: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

“LET’S BUILD A HIGHLY AVAILABLE,

SCALABLE, AND RESILIENT

________ WEB APPLICATION”

Page 6: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AWS BUILDING BLOCKS Inherently Fault-Tolerant Services Fault-Tolerant with the

right architecture Amazon S3

Amazon DynamoDB

Amazon CloudFront

Amazon SWF

Amazon SQS

Amazon SNS

Amazon SES

Amazon Route53

Elastic Load Balancing

AWS IAM

AWS Elastic Beanstalk

Amazon ElastiCache

Amazon EMR

Amazon Redshift

Amazon CloudSearch

Amazon EC2

Amazon EBS

Amazon RDS

Amazon VPC

Page 7: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 8: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 9: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 10: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 11: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

1. DESIGN FOR FAILURE

2. USE MULTIPLE AZs

3. BUILD FOR SCALE

4. DECOUPLE COMPONENTS

Page 12: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

« Everything fails all the time »

Werner Vogels

CTO of Amazon

Page 13: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

YOUR GOAL

APPLICATIONS SHOULD CONTINUE TO FUNCTION

EVEN IF THE UNDERLYING PHYSICAL HARDWARE

FAILS OR IS REMOVED OR REPLACED

Page 14: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

#1 DESIGN FOR FAILURE

Page 15: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AVOID SINGLE POINTS OF

FAILURE

ASSUME EVERYTHING FAILS,

AND WORK BACKWARDS

Page 16: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AVOID SINGLE POINTS OF

FAILURE

ASSUME EVERYTHING FAILS,

AND WORK BACKWARDS

Page 17: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 18: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 19: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 20: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 21: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 22: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

HEALTH CHECKS

Page 23: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 24: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 25: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 26: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 27: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 28: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

#2 USE MULTIPLE

AVAILABILITY ZONES

Page 29: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

US-WEST (N. California) EU-WEST (Ireland)

ASIA PAC (Tokyo)

ASIA PAC

(Singapore)

US-WEST (Oregon)

SOUTH AMERICA (Sao Paulo)

US-EAST (Virginia)

GOV CLOUD

ASIA PAC (Sidney)

Page 30: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 31: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AMAZON RDS

MULTI-AZ

Page 32: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 33: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 34: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 35: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 36: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 37: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 38: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 39: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

#3 BUILD FOR SCALE

Page 40: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AMAZON

CLOUDWATCH MONITORING FOR AWS RESOURCES

Page 41: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 42: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 43: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AUTO SCALING SCALE UP/DOWN EC2 CAPACITY

Page 44: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 45: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 46: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 47: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 48: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 49: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 50: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 51: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 52: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 53: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

HEALTH CHECKS

+ AUTO SCALING

Page 54: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 55: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 56: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 57: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 58: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

HEALTH CHECKS

+ AUTO SCALING

=

SELF-HEALING

Page 59: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 60: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

WalkMe Architecture for High Availability

© Copyright 2013 WalkMe Inc. - Confidential

Page 61: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

The WalkMe Platform

One of a kind Platform to guide and engage

prospects, customers, employees or partners

through any Web experience

WalkMe Reduces Complexity to Empower

Advanced Selling, Support , training and

improved user experience

Using WalkMe increases conversion rates,

reduces support costs, accelerates training and

improves customer experience

No integration or changes to the underlying

website required.

© Copyright 2013 WalkMe Inc. - Confidential

Page 62: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Introducing the Holistic Approach to Automated Engagement

Surveys Pinpointed feedback –

right on time Search

Pinpointed to site and any

other relevant resource (such

as help desk)

Promotion Personalized

“happy b-day” “top up”

“bag for your camera?”

Announcements all or groups

“scheduled maintenance” “sale

on shirts “ “happy 4th of July”

Launchers & Permalinks Boost the effectiveness of your

existing FAQ, chat and social

support

Task List On Board new Users

Introduce new version

Analytics & Goals Straight forward measurement

and improvement of critical

paths

Segmented Display Right people – Right time

Online Support Employee Training Advanced Online Selling Improved User Experience Onboarding

Page 63: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Selected Customers

And many more…

Page 64: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

The Basics

i. WalkMe customer creates WalkThrus using the WalkMe Editor.

ii. WalkMe customer adds the WalkMe JavaScript code to his website.

iii. WalkMe customer publishes the WalkThrus to his users.

iv. Our customers’ users gets WalkMe when they surf the website.

v. Our customer can access WalkMe dashboards to view usage analytics.

Page 65: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Challenges

• Maximum availability for client side experience (100%)

• Low latency for fetching the WalkMe files

• Very high traffic volume from our customers users (over 1B requests a

month)

• Analyzing billions of records for WalkMe analytics

Page 66: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Evolution – Phase 1

Problems: • Low availability • High latency • Hard to scale • Database availability

Page 67: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Evolution – Phase 2

Solution: • Using AWS CloudFront to

host the static files.

Problems: • High volume of analytics

causes a scaling issues and availability

• Database availability

Page 68: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Evolution – Phase 3

Solution: • Adding AWS RDS Multi AZ • Adding AWS Beanstalk

New Challenge: • Collection of billions of

records for BigData analytics (RDS is a bottleneck)

Page 69: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Evolution – Phase 4

Solution: • Analytics BigData requests

are sent to CloudFront. • Analyzing CloudFront logs

using Hadoop.

Page 70: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

Solution

Thank You

Page 71: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

1. DESIGN FOR FAILURE

2. USE MULTIPLE AZs

3. BUILD FOR SCALE

4. DECOUPLE COMPONENTS

Page 72: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

#4 DECOUPLE COMPONENTS

Page 73: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

BUILD LOOSELY

COUPLED SYSTEMS

The looser they are coupled,

the bigger they scale,

the more fault tolerant they get…

Page 74: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 75: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 76: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

REPORT&

NOTIFY UPLOAD ANALYZE

Page 77: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

AMAZON SQS SIMPLE QUEUE SERVICE

Page 78: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

REPORT&

NOTIFY UPLOAD ANALYZE

Page 79: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

REPORT&

NOTIFY UPLOAD ANALYZE

Page 80: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

REPORT&

NOTIFY UPLOAD

Page 81: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

REPORT&

NOTIFY UPLOAD ANALYZE

Page 82: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 83: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 84: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 85: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 86: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 87: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 88: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 89: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

ARCHITECTURE

DESIGN PATTERN

Page 90: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 91: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 92: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 93: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 94: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

SQS VISIBILITY TIMEOUT

Page 95: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 96: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 97: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 98: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 99: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

BUFFERING

Page 100: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 101: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 102: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 103: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 104: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 105: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

CLOUDWATCH METRICS FOR AMAZON SQS

+ AUTO SCALING

Page 106: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 107: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 108: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 109: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 110: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

1. DESIGN FOR FAILURE

2. USE MULTIPLE AZs

3. BUILD FOR SCALE

4. DECOUPLE COMPONENTS

Page 111: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

YOUR GOAL

APPLICATIONS SHOULD CONTINUE TO FUNCTION

EVEN IF THE UNDERLYING PHYSICAL HARDWARE

FAILS OR IS REMOVED OR REPLACED

Page 112: AWS Summit Tel Aviv - Startup Track - Architecting for 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

Page 113: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Page 114: AWS Summit Tel Aviv - Startup Track - Architecting for High Availability

THANK YOU!


Top Related