architecting your killer app on aws - aws india summit 2012

Post on 23-Jun-2015

1.028 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Evangelist Amazon Web Serviceszieglerj@amazon.com

@jiyosub

Architecting your Killer App on AWS

Standing on the Shoulders of Giants

ElasticityLoose CouplingHigh Availability

Agility

ElasticityLoose CouplingHigh Availability

Agility

On and Off Fast Growth

Variable peaks Predictable peaks

Elasticity

On and Off Fast Growth

Predictable peaks

Poor

Service

WASTE

Variable peaks

Elasticity

Fast Growth

Predictable peaks

On and Off

Variable peaks

Elasticity

Time

Capacity

Launch of

Facebook App

Peak of 5,000

EC2 instances

Animoto

I’m sold, how do I get it?

You have to be able to scale horizontally!

Scale Horizontally

Stateless ComputeMore Servers = More PowerBootstrapping is your Friend

Design Techniques

Develop with Load BalancerState into NoSQL or cache

Automate Bootstrap from S3

ElasticityLoose CouplingHigh Availability

Agility

Loose Coupling

The looser they are coupled, the bigger they scale.

Upload Analysis Rendering Distribution

Amazon S3

Amazon SQS

AmazonEC2

AmazonEC2

Amazon SQS

AmazonEC2

AmazonEC2

AmazonEC2

Amazon SQS

AmazonEC2

AmazonEC2

AmazonEC2

AmazonEC2

AmazonEC2

AmazonEC2

Sounds good, I’ll take some Loose Coupling too

Focus on ServicesSimple Queuing Service

Scale Services HorizontallyAutoscale on Queue Size

RECEIVE TRANSCODE& PUBLISH

QUEUE

AMAZON SWFWORKFLOW SERVICE FOR SCALABLE,

RESILIENT APPLICATIONS

TASK GRAPHWITH DECISIONS?

use AMAZON SWF

SPAMCHECK

RECEIVEVIDEO

CHECKLENGTH

REJECTSHORTENVIDEO

PUBLISH& NOTIFY

GOOD

LONG

OK

SPAM

TRANSCODE

CHAINED TASKSWITHOUT DECISIONS?

use AMAZON SQS

NOTIFYRECEIVE TRANSCODE

ElasticityLoose CouplingHigh Availability

Agility

Avoid single points of failure.

Assume everything fails, and design backwards.

High Availability

Avoid single points of failure

Assume everything fails, and design backwards

High Availability

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

Highly Available State

Consider S3 for Read AccessPartition Data

Reduce Reliance on Relational Database Systems

Highly Available Deployment

Route 53Build and Destroy

Hot Standby

Design for Failure

ElasticityLoose CouplingHigh Availability

Agility

Focus on Core Competencies

Database ScalingSearch

Scalable Web PropertiesEmail Services

Infrastructure as Code

“Programmatic provisioning by API”

Everything in AWS is an API

Tool Box

AMI

AMI

CloudFormation

Libraries and SDKs

Agile Architecture

Change the Paradigm

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

ElasticityLoose CouplingHigh Availability

Agility

top related