Upload
amazon-web-services
View
1.031
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Architecting Your Killer App on AWS from the AWS Summit in India Startup Track
Citation preview
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