37
Evangelist Amazon Web Services [email protected] @jiyosub Architecting your Killer App on AWS

Architecting Your Killer App on AWS - AWS India Summit 2012

Embed Size (px)

DESCRIPTION

Architecting Your Killer App on AWS from the AWS Summit in India Startup Track

Citation preview

Page 1: Architecting Your Killer App on AWS - AWS India Summit 2012

Evangelist Amazon Web [email protected]

@jiyosub

Architecting your Killer App on AWS

Page 2: Architecting Your Killer App on AWS - AWS India Summit 2012

Standing on the Shoulders of Giants

Page 3: Architecting Your Killer App on AWS - AWS India Summit 2012

ElasticityLoose CouplingHigh Availability

Agility

Page 4: Architecting Your Killer App on AWS - AWS India Summit 2012

ElasticityLoose CouplingHigh Availability

Agility

Page 5: Architecting Your Killer App on AWS - AWS India Summit 2012

On and Off Fast Growth

Variable peaks Predictable peaks

Elasticity

Page 6: Architecting Your Killer App on AWS - AWS India Summit 2012

On and Off Fast Growth

Predictable peaks

Poor

Service

WASTE

Variable peaks

Elasticity

Page 7: Architecting Your Killer App on AWS - AWS India Summit 2012

Fast Growth

Predictable peaks

On and Off

Variable peaks

Elasticity

Page 8: Architecting Your Killer App on AWS - AWS India Summit 2012

Time

Capacity

Launch of

Facebook App

Peak of 5,000

EC2 instances

Animoto

Page 9: Architecting Your Killer App on AWS - AWS India Summit 2012

I’m sold, how do I get it?

You have to be able to scale horizontally!

Page 10: Architecting Your Killer App on AWS - AWS India Summit 2012

Scale Horizontally

Stateless ComputeMore Servers = More PowerBootstrapping is your Friend

Page 11: Architecting Your Killer App on AWS - AWS India Summit 2012
Page 12: Architecting Your Killer App on AWS - AWS India Summit 2012
Page 13: Architecting Your Killer App on AWS - AWS India Summit 2012

Design Techniques

Develop with Load BalancerState into NoSQL or cache

Automate Bootstrap from S3

Page 14: Architecting Your Killer App on AWS - AWS India Summit 2012

ElasticityLoose CouplingHigh Availability

Agility

Page 15: Architecting Your Killer App on AWS - AWS India Summit 2012

Loose Coupling

The looser they are coupled, the bigger they scale.

Page 16: Architecting Your Killer App on AWS - AWS India Summit 2012

Upload Analysis Rendering Distribution

Amazon S3

Amazon SQS

AmazonEC2

AmazonEC2

Amazon SQS

AmazonEC2

AmazonEC2

AmazonEC2

Amazon SQS

AmazonEC2

AmazonEC2

AmazonEC2

AmazonEC2

AmazonEC2

AmazonEC2

Page 17: Architecting Your Killer App on AWS - AWS India Summit 2012

Sounds good, I’ll take some Loose Coupling too

Focus on ServicesSimple Queuing Service

Scale Services HorizontallyAutoscale on Queue Size

Page 18: Architecting Your Killer App on AWS - AWS India Summit 2012

RECEIVE TRANSCODE& PUBLISH

QUEUE

Page 19: Architecting Your Killer App on AWS - AWS India Summit 2012

AMAZON SWFWORKFLOW SERVICE FOR SCALABLE,

RESILIENT APPLICATIONS

Page 20: Architecting Your Killer App on AWS - AWS India Summit 2012

TASK GRAPHWITH DECISIONS?

use AMAZON SWF

SPAMCHECK

RECEIVEVIDEO

CHECKLENGTH

REJECTSHORTENVIDEO

PUBLISH& NOTIFY

GOOD

LONG

OK

SPAM

TRANSCODE

Page 21: Architecting Your Killer App on AWS - AWS India Summit 2012

CHAINED TASKSWITHOUT DECISIONS?

use AMAZON SQS

NOTIFYRECEIVE TRANSCODE

Page 22: Architecting Your Killer App on AWS - AWS India Summit 2012

ElasticityLoose CouplingHigh Availability

Agility

Page 23: Architecting Your Killer App on AWS - AWS India Summit 2012

Avoid single points of failure.

Assume everything fails, and design backwards.

High Availability

Page 24: Architecting Your Killer App on AWS - AWS India Summit 2012

Avoid single points of failure

Assume everything fails, and design backwards

High Availability

Page 25: Architecting Your Killer App on AWS - AWS India Summit 2012

AWS BUILDING BLOCKS

Inherently Fault-Tolerant Services

Fault-Tolerant with the right architecture Amazon S3

Amazon SimpleDB

Amazon DynamoDB

Amazon CloudFront

Amazon SWF

Amazon SQS

Amazon SNS

Amazon SES

Amazon Route53

Elastic Load Balancing

AWS IAM

AWS Elastic Beanstalk

AmazonElastiCache

Amazon EMR

Amazon CloudSearch

Amazon EC2

Amazon EBS

Amazon RDS

Amazon VPC

Page 26: Architecting Your Killer App on AWS - AWS India Summit 2012

Highly Available State

Consider S3 for Read AccessPartition Data

Reduce Reliance on Relational Database Systems

Page 27: Architecting Your Killer App on AWS - AWS India Summit 2012

Highly Available Deployment

Route 53Build and Destroy

Hot Standby

Page 28: Architecting Your Killer App on AWS - AWS India Summit 2012
Page 29: Architecting Your Killer App on AWS - AWS India Summit 2012
Page 30: Architecting Your Killer App on AWS - AWS India Summit 2012

Design for Failure

Page 31: Architecting Your Killer App on AWS - AWS India Summit 2012

ElasticityLoose CouplingHigh Availability

Agility

Page 32: Architecting Your Killer App on AWS - AWS India Summit 2012

Focus on Core Competencies

Database ScalingSearch

Scalable Web PropertiesEmail Services

Page 33: Architecting Your Killer App on AWS - AWS India Summit 2012

Infrastructure as Code

“Programmatic provisioning by API”

Everything in AWS is an API

Page 34: Architecting Your Killer App on AWS - AWS India Summit 2012

Tool Box

AMI

AMI

CloudFormation

Libraries and SDKs

Page 35: Architecting Your Killer App on AWS - AWS India Summit 2012

Agile Architecture

Page 36: Architecting Your Killer App on AWS - AWS India Summit 2012

Change the Paradigm

“You are no longer writing an application. You are creating an entire architecture”

Page 37: Architecting Your Killer App on AWS - AWS India Summit 2012

ElasticityLoose CouplingHigh Availability

Agility