journey through the aws cloud; building powerful web applications

117
Building powerful web applications with AWS Ryan Shuttleworth – Technical Evangelist @ryanAWS

Upload: amazon-web-services

Post on 06-May-2015

3.104 views

Category:

Technology


4 download

DESCRIPTION

The penultimate in our series of webinars, 'Journey Through the AWS Cloud'. This complimentary presentation discusses how to build powerful web applications in the AWS Cloud. Bringing together many concepts from previous webinars in the series, we summarise a rule book to give you a reference point for architecting with AWS. Listen to the recording of this webinar: http://www.youtube.com/watch?v=IHRlQPpgbEs

TRANSCRIPT

Page 1: Journey Through the AWS Cloud; Building Powerful Web Applications

Building powerful web applications with AWS

Ryan Shuttleworth – Technical Evangelist @ryanAWS

Page 2: Journey Through the AWS Cloud; Building Powerful Web Applications

Your feedback is important

Tell us:

What’s good, what’s not

What you want to see at these events

What you want AWS to deliver for

you

Page 3: Journey Through the AWS Cloud; Building Powerful Web Applications

background

Page 4: Journey Through the AWS Cloud; Building Powerful Web Applications

Consumer Business

Tens of millions of active customer

accounts

Eight countries: US, UK, Germany,

Japan, France, Canada, China, Italy

Seller Business

Sell on Amazon websites

Use Amazon technology for your own retail website

Leverage Amazon’s massive fulfillment

center network

IT Infrastructure Business

Cloud computing infrastructure for hosting web-scale

solutions

Hundreds of thousands of

registered customers in over 190 countries

Page 5: Journey Through the AWS Cloud; Building Powerful Web Applications

Deep experience in building

and operating global web

scale systems

About Amazon Web Services

?

…get into cloud computing?

How did Amazon…

Page 6: Journey Through the AWS Cloud; Building Powerful Web Applications

Over 10 years in the making

Enablement of sellers on Amazon

Internal need for scalable deployment environment

Early forays proved developers were hungry for more

Page 7: Journey Through the AWS Cloud; Building Powerful Web Applications

AWS Mission

Enable businesses and developers to use web services* to build scalable,

sophisticated applications.

*What people now call “the cloud”

Page 8: Journey Through the AWS Cloud; Building Powerful Web Applications
Page 9: Journey Through the AWS Cloud; Building Powerful Web Applications

Not excess capacity!

Page 10: Journey Through the AWS Cloud; Building Powerful Web Applications
Page 11: Journey Through the AWS Cloud; Building Powerful Web Applications

Each day AWS adds the equivalent server capacity to power Amazon when it was a global, $2.76B

enterprise

(circa 2000)

Page 12: Journey Through the AWS Cloud; Building Powerful Web Applications

May 2012: Amazon Elastic MapReduce Now Supports Hive 0.8.1 Amazon RDS Announces Oracle Enterprise Manager Support Announcing VM Export for Amazon EC2 AWS Console Enhancements for Elastic Load Balancing: Listener, Certificate, and Cipher Management Amazon RDS announces support for MySQL Read Replica in Amazon VPC AWS Elastic Beanstalk Now Available in the EU (Ireland) Region Amazon Simple Email Service Announces Domain Verification Amazon CloudFront Now Supports Dynamic Content Monitor Your AWS Charges with Billing Alerts Using Amazon CloudWatch Announcing API and AWS Identity & Access Management Support for AWS Storage Gateway New Managed Services for Windows Developers Worldwide New and Updated Microsoft SQL Server Offerings on Amazon EC2 New Amazon RDS for Oracle Capabilities and Multi-AZ Enhancements

June 2012: AWS Elastic Beanstalk Announces Updated Command Line Interface Amazon SES Announces Bounce and Complaint Notifications Cluster Compute Eight Extra Large Instance Type Now Available in EU-West AWS CloudFormation Supports Amazon DynamoDB and Amazon CloudFront Dynamic Content New Sydney, Australia Edge Location for Amazon CloudFront & Amazon Route 53 AWS Support Expands Free Tier, Adds New Features, Lowers Prices Amazon Elastic MapReduce Announces Support for HBase Amazon RDS MySQL on t1.micro, starting at just $19 a month Announcing AWS Identity and Access Management (IAM) roles for EC2 instances Announcing Internal Load Balancing in Amazon Virtual Private Cloud Announcing Spot Integration with Auto Scaling and CloudFormation AWS Billing enables enhanced CSV reports and programmatic access Amazon ElastiCache Launches Free Trial Program

April 2012: AWS CloudFormation Support for Creating VPC Resources Amazon DynamoDB Now Available in Three Additional Regions AWS Elastic Beanstalk Now Available in the Asia Pacific (Tokyo) Region Amazon DynamoDB Announces BatchWriteItem Feature Introducing AWS Marketplace AWS Announces The Availability of the Microsoft SharePoint Server on AWS Reference Architecture White Paper AWS Announces CloudSearch Announcing the Availability of Reserved Cache Nodes for Amazon ElastiCache Live Smooth Streaming for Amazon CloudFront

Pace of innovation

Page 13: Journey Through the AWS Cloud; Building Powerful Web Applications

May 2012: Amazon Elastic MapReduce Now Supports Hive 0.8.1 Amazon RDS Announces Oracle Enterprise Manager Support Announcing VM Export for Amazon EC2 AWS Console Enhancements for Elastic Load Balancing: Listener, Certificate, and Cipher Management Amazon RDS announces support for MySQL Read Replica in Amazon VPC AWS Elastic Beanstalk Now Available in the EU (Ireland) Region Amazon Simple Email Service Announces Domain Verification Amazon CloudFront Now Supports Dynamic Content Monitor Your AWS Charges with Billing Alerts Using Amazon CloudWatch Announcing API and AWS Identity & Access Management Support for AWS Storage Gateway New Managed Services for Windows Developers Worldwide New and Updated Microsoft SQL Server Offerings on Amazon EC2 New Amazon RDS for Oracle Capabilities and Multi-AZ Enhancements

June 2012: AWS Elastic Beanstalk Announces Updated Command Line Interface Amazon SES Announces Bounce and Complaint Notifications Cluster Compute Eight Extra Large Instance Type Now Available in EU-West AWS CloudFormation Supports Amazon DynamoDB and Amazon CloudFront Dynamic Content New Sydney, Australia Edge Location for Amazon CloudFront & Amazon Route 53 AWS Support Expands Free Tier, Adds New Features, Lowers Prices Amazon Elastic MapReduce Announces Support for HBase Amazon RDS MySQL on t1.micro, starting at just $19 a month Announcing AWS Identity and Access Management (IAM) roles for EC2 instances Announcing Internal Load Balancing in Amazon Virtual Private Cloud Announcing Spot Integration with Auto Scaling and CloudFormation AWS Billing enables enhanced CSV reports and programmatic access Amazon ElastiCache Launches Free Trial Program

April 2012: AWS CloudFormation Support for Creating VPC Resources Amazon DynamoDB Now Available in Three Additional Regions` AWS Elastic Beanstalk Now Available in the Asia Pacific (Tokyo) Region Amazon DynamoDB Announces BatchWriteItem Feature Introducing AWS Marketplace AWS Announces The Availability of the Microsoft SharePoint Server on AWS Reference Architecture White Paper AWS Announces CloudSearch Announcing the Availability of Reserved Cache Nodes for Amazon ElastiCache Live Smooth Streaming for Amazon CloudFront

Pace of innovation

Q2 2012

35 new features

Page 14: Journey Through the AWS Cloud; Building Powerful Web Applications

H1 2012

63 2011

82

2010

61

2009

48

2008

24

2007

9 Amazon FPS Red Hat EC2

SimpleDB CloudFront EBS Availability Zones Elastic IPs

Relational Database Service Virtual Private Cloud

Elastic Map Reduce Auto Scaling

Reserved Instances Elastic Load Balancer

Simple Notification Service Route 53 RDS Multi-AZ Singapore Region Identity Access Management Cluster Instances

Elastic Beanstalk Simple Email Service CloudFormation RDS for Oracle ElastiCache

DynamoDB Simple Workflow

CloudSearch Storage Gateway

Route 53 Latency Based Routing

number of released features, sample services described

Page 15: Journey Through the AWS Cloud; Building Powerful Web Applications

0.000

250.000

500.000

750.000

1000.000

1 Trillion

750k+ peak transactions per second

Objects in S3

Page 16: Journey Through the AWS Cloud; Building Powerful Web Applications

Utility computing

Page 17: Journey Through the AWS Cloud; Building Powerful Web Applications

Utility computing

On demand Pay as you go

Uniform Available

Page 18: Journey Through the AWS Cloud; Building Powerful Web Applications

On demand Pay as you go

Uniform Available

Utility computing

Page 19: Journey Through the AWS Cloud; Building Powerful Web Applications

Utility computing

Page 20: Journey Through the AWS Cloud; Building Powerful Web Applications

Compute

Storage

Security Scaling

Database

Networking Monitoring

Messaging

Workflow

DNS

Load Balancing

Backup CDN

On demand Pay as you go

Uniform Available

Utility computing

Page 21: Journey Through the AWS Cloud; Building Powerful Web Applications

On a global footprint

Region

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

Page 22: Journey Through the AWS Cloud; Building Powerful Web Applications

Availability Zone

On a global footprint

Page 23: Journey Through the AWS Cloud; Building Powerful Web Applications

Edge Locations

Dallas(2)

St.Louis

Miami

Jacksonville Los Angeles (2)

Palo Alto

Seattle

Ashburn(2)

Newark

New York (2)

Dublin

London(2)

Amsterdam

Stockholm

Frankfurt(2)

Paris(2)

Singapore(2)

Hong Kong

Tokyo

Sao Paulo

South Bend

San Jose

Osaka Milan

Sydney

On a global footprint

Page 24: Journey Through the AWS Cloud; Building Powerful Web Applications

At the end of a web service

ec2-run-instances ami-b232d0db

--instance-count 3

--availability-zone eu-west-1a

--instance-type m1.small

ec2-run-instances ami-b232d0db

--instance-count 5

--availability-zone eu-west-1c

--instance-type m1.medium

Page 25: Journey Through the AWS Cloud; Building Powerful Web Applications

ec2-run-instances ami-b232d0db

--instance-count 2

--availability-zone us-east-1b

--instance-type m1.xlarge

ec2-run-instances ami-b232d0db

--instance-count 2

--availability-zone eu-east-1d

--instance-type m1.xlarge

At the end of a web service

Page 26: Journey Through the AWS Cloud; Building Powerful Web Applications

At the end of a web service

elb-create-lb myLoadBalancer

as-create-auto-scaling-group MyGroup

--launch-configuration MyConfig

--availability-zones eu-west-1c

--min-size 2

--max-size 200

ec2-authorize default -p 80

Page 27: Journey Through the AWS Cloud; Building Powerful Web Applications

and rich console services

Page 28: Journey Through the AWS Cloud; Building Powerful Web Applications

Elasticity

Page 29: Journey Through the AWS Cloud; Building Powerful Web Applications

Traditional IT

capacity

Elastic capacity

Capacity

Time Your IT needs

Page 30: Journey Through the AWS Cloud; Building Powerful Web Applications

On and Off Fast Growth

Variable peaks Predictable peaks

Elastic capacity

Page 31: Journey Through the AWS Cloud; Building Powerful Web Applications

On and Off Fast Growth

Predictable peaks Variable peaks

WASTE

CUSTOMER DISSATISFACTION

Elastic capacity

Page 32: Journey Through the AWS Cloud; Building Powerful Web Applications

Elastic cloud capacity

Traditional

IT capacity

Your IT needs

Time

Capacity

Elastic capacity

Page 33: Journey Through the AWS Cloud; Building Powerful Web Applications

Fast Growth On and Off

Predictable peaks Variable peaks

Elastic capacity

Page 34: Journey Through the AWS Cloud; Building Powerful Web Applications

503 Service Temporarily Unavailable

The server is temporarily unable to service

your request due to maintenance downtime or

capacity problems. Please try again later.

Page 35: Journey Through the AWS Cloud; Building Powerful Web Applications

503 Service Temporarily Unavailable

The server is temporarily unable to service

your request due to maintenance downtime or

capacity problems. Please try again later.

Page 36: Journey Through the AWS Cloud; Building Powerful Web Applications

From one instance…

Page 37: Journey Through the AWS Cloud; Building Powerful Web Applications

…to thousands

Page 38: Journey Through the AWS Cloud; Building Powerful Web Applications

Time: +00h

<10 cores

Elastic Capacity

Page 39: Journey Through the AWS Cloud; Building Powerful Web Applications

Time: +24h

>1500 cores

Elastic Capacity

Page 40: Journey Through the AWS Cloud; Building Powerful Web Applications

Time: +72h

<10 cores

Elastic Capacity

Page 41: Journey Through the AWS Cloud; Building Powerful Web Applications

Time: +120h

>600 cores

Elastic Capacity

Page 42: Journey Through the AWS Cloud; Building Powerful Web Applications

Num

ber

of E

C2 I

nsta

nces

4/12/2008 4/14/2008 4/15/2008 4/16/2008 4/18/2008 4/19/2008 4/20/2008 4/17/2008 4/13/2008

40 servers to 5000 in 3 days

EC2 scaled to peak of 5000 instances

“Techcrunched”

Launch of Facebook modification

Steady state of ~40 instances

Page 43: Journey Through the AWS Cloud; Building Powerful Web Applications

What your users want…

Page 44: Journey Through the AWS Cloud; Building Powerful Web Applications

What your users want…

Fast, performant experience

Page 45: Journey Through the AWS Cloud; Building Powerful Web Applications

What your users want…

Fast, performant experience

Always on, accessible anywhere

Page 46: Journey Through the AWS Cloud; Building Powerful Web Applications

What your users want…

Fast, performant experience

Always on, accessible anywhere

Personalized and rich application

Page 47: Journey Through the AWS Cloud; Building Powerful Web Applications

What your users want…

Fast, performant experience

Always on, accessible anywhere

Personalized and rich application

Lots of new features all of the

time

Page 48: Journey Through the AWS Cloud; Building Powerful Web Applications

Fast, performant experience

Lots of new features all of the

time

Always on, accessible anywhere

Personalized and rich application

Powerful web applications

Page 49: Journey Through the AWS Cloud; Building Powerful Web Applications

How?

Page 50: Journey Through the AWS Cloud; Building Powerful Web Applications

Building powerful web applications

Page 51: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 52: Journey Through the AWS Cloud; Building Powerful Web Applications

DNS Application Data

Rule 1: Service all web requests

a) Make sure requests get to your ‘front door’

Page 53: Journey Through the AWS Cloud; Building Powerful Web Applications

DNS Application Data Request

Rule 1: Service all web requests

a) Make sure requests get to your ‘front door’

Page 54: Journey Through the AWS Cloud; Building Powerful Web Applications

DNS Application Data Request

a) Make sure requests get to your ‘front door’

Rule 1: Service all web requests

Page 55: Journey Through the AWS Cloud; Building Powerful Web Applications

DNS Application Data Request

…then this is irrelevant

Clients can’t resolve you?

Rule 1: Service all web requests

a) Make sure requests get to your ‘front door’

Page 56: Journey Through the AWS Cloud; Building Powerful Web Applications

DNS Application Data Request

“100% Available”

SLA

Rule 1: Service all web requests

Route53

Feature Details

Global Supported from AWS global edge locations for fast and reliable domain name resolution

Scalable Automatically scales based upon query volumes

Latency based routing Supports resolution of endpoints based upon latency, enabling multi-region application delivery

Integrated Integrates with other AWS services allowing Route 53 to front load balancers, S3 and EC2

Secure Integrates with IAM giving fine grained control over DNS record access

http://aws.amazon.com/route53/sla

a) Make sure requests get to your ‘front door’

Page 57: Journey Through the AWS Cloud; Building Powerful Web Applications

DNS Application Data Request

Rule 1: Service all web requests

a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive

Route53

Page 58: Journey Through the AWS Cloud; Building Powerful Web Applications

Region

DNS Application Data Request

Rule 1: Service all web requests

Elastic Load

Balancer Region

Availability Zone

Availability Zone

Availability Zone

Availability Zone

Route53

a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive

Elastic load balancing Multi-availability zone Multi-region

Page 59: Journey Through the AWS Cloud; Building Powerful Web Applications

Region

Rule 1: Service all web requests

DNS Application Data Request

Region

a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive c) Have the data to form a response

Elastic Load

Balancer Region

Availability Zone

Availability Zone

Availability Zone

Availability Zone

Route53

Page 60: Journey Through the AWS Cloud; Building Powerful Web Applications

Region

Rule 1: Service all web requests

DNS Application Data Request

Region

Elastic Load

Balancer

Route53

Region

Availability Zone

Availability Zone

Availability Zone

Availability Zone

a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive c) Have the data to form a response

Multi-AZ RDS

(Master-slave)

Inter-region replication

Read-replicas

Page 61: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 62: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Page 63: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route

Region A

Route53

Region B

Request

Page 64: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route

Region A

Route53

Region B

16ms 92ms

Request

Page 65: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route

Region A

Route53

Region B

16ms 92ms

Request

Page 66: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Region A

Route53

Region B

16ms

Request

Region A DNS entry

a) Choose the fastest route

Page 67: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers

London

Paris

NY

Served from S3

/images/*

3

Served from EC2

*.php

2

Single CNAME

www.mysite.com

1

CloudFront World-wide content distribution network

Easily distribute content to end users with low

latency, high data transfer speeds, and no

commitments.

Page 68: Journey Through the AWS Cloud; Building Powerful Web Applications

Without CloudFront

EC2 webservers/app servers loaded by user

requests

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers

Page 69: Journey Through the AWS Cloud; Building Powerful Web Applications

With CloudFront

Load of user requests pushed into

CloudFront, EC2 cluster can scale

down

Offload Scale Down

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers

Page 70: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Res

po

nse

Tim

e

Serv

er L

oad

Res

po

nse

Tim

e

Serv

er

Load

Res

po

nse

Tim

e

Serv

er

Load

No CDN CDN for

Static

Content

CDN for

Static &

Dynamic

Content

Offload Scale Down

a) Choose the fastest route b) Offload your application servers

Page 71: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers c) Cache it if you can

ElastiCache

Memcached compatible caching

layer

Serve frequently requested & slow

changing data from scalable cache

clusters

Reduce load on database and other

servers

Page 72: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters

Scale Dat

abas

e Q

ue

ry P

erfo

rman

ce

Desired consistency, predictability

Page 73: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters

Scale Dat

abas

e Q

ue

ry P

erfo

rman

ce

Desired consistency, predictability

Actual degraded

performance with scale

Page 74: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters

Scale Dat

abas

e Q

ue

ry P

erfo

rman

ce

Desired consistency, predictability

Actual degraded

performance with scale

Management problems

Data sharding Data caching Provisioning

Cluster management Fault management

Page 75: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters

Scale Dat

abas

e Q

ue

ry P

erfo

rman

ce

Dynamo DB Query Performance

Relational Database

Query Performance

DynamoDB

Low latency Large scale Zero admin

Predictable performance

Page 76: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters

Scale Dat

abas

e Q

ue

ry P

erfo

rman

ce

Dynamo DB Query Performance DynamoDB

Low latency Large scale Zero admin

Predictable performance

Average single-digit milliseconds server side latencies

Runs on solid state drives, and is built to

maintain consistent, fast latencies at any scale

Page 77: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 78: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 3: Handle requests at any scale

a) Scale up

Vertical Scaling

From $0.02/hr

Basic unit of compute capacity

Range of CPU, memory & local disk options

14 Instance types available, from micro through cluster

compute to SSD backed

Scale up with Elastic Compute Cloud (EC2)

Page 79: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 3: Handle requests at any scale

a) Scale up b) Scale out

Trigger

auto-scaling

policy

as-create-auto-scaling-group MyGroup

--launch-configuration MyConfig

--availability-zones eu-west-1a

--min-size 4

--max-size 200

Auto-scaling Automatic re-sizing of compute clusters based upon demand

Page 80: Journey Through the AWS Cloud; Building Powerful Web Applications

Manually

Send an API call or use CLI to launch/terminate instances – Only need

to specify capacity change (+/-)

By Schedule

Scale up/down based on date and time

a) Scale up b) Scale out

By Policy

Scale in response to changing conditions, based on user configured real-time

monitoring and alerts

Auto-Rebalance

Instances are automatically launched/terminated to ensure the

application is balanced across multiple Azs

Rule 3: Handle requests at any scale

Page 81: Journey Through the AWS Cloud; Building Powerful Web Applications

Manually

Send an API call or use CLI to launch/terminate instances – Only need

to specify capacity change (+/-)

By Schedule

Scale up/down based on date and time Preemptive manual scaling of capacity

e.g. before a marketing event add 10 more instances

Regular scaling up and down of instances

e.g. scale from 0 to 2 to process SQS messages every night or double capacity

on a Friday night

a) Scale up b) Scale out

By Policy

Scale in response to changing conditions, based on user configured real-time

monitoring and alerts

Auto-Rebalance

Instances are automatically launched/terminated to ensure the

application is balanced across multiple Azs

Rule 3: Handle requests at any scale

Dynamic scale based upon custom metrics

e.g. SQS queue depth, Average CPU load, ELB latency

Maintain capacity across availability zones

e.g. Instance availability maintained in event of AZ becoming unavailable

Page 82: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 3: Handle requests at any scale

a) Scale up b) Scale out c) Dial it up

Elastic Block Store Provisioned IOPS up to 1000 per EBS

volume

Predictable performance for

demanding workloads such as

databases

DynamoDB Provisioned read/write performance per

table

Predictable high performance scaled via

console or API

Page 83: Journey Through the AWS Cloud; Building Powerful Web Applications
Page 84: Journey Through the AWS Cloud; Building Powerful Web Applications

“AWS gave us the flexibility to bring a massive amount of capacity online in a short period of

time and allowed us to do so in an operationally straightforward way.

AWS is now Shazam’s cloud provider of choice,”

Jason Titus,

CTO

DynamoDB: over 500,000 writes per

second

Amazon EMR: more than 1 million writes

per second

Page 85: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 86: Journey Through the AWS Cloud; Building Powerful Web Applications

Your Business

70%

On-Premise Infrastructure

30%

Managing All of the “Undifferentiated Heavy Lifting”

Rule 4: Simplify architecture with services

Page 87: Journey Through the AWS Cloud; Building Powerful Web Applications

AWS Cloud-Based

Infrastructure

Your Business

More Time to Focus on Your Business

Configuring Your Cloud Assets

70%

30% 70%

On-Premise Infrastructure

30%

Managing All of the “Undifferentiated Heavy Lifting”

Rule 4: Simplify architecture with services

Page 88: Journey Through the AWS Cloud; Building Powerful Web Applications

Relational Database Service Database-as-a-Service

No need to install or manage database instances

Scalable and fault tolerant configurations

DynamoDB Provisioned throughput NoSQL database

Fast, predictable performance

Fully distributed, fault tolerant architecture

Use RDS for databases

Use DynamoDB for high performance key-

value DB

Rule 4: Simplify architecture with services

Page 89: Journey Through the AWS Cloud; Building Powerful Web Applications

Amazon SQS

Processing

task/processing

trigger

Processing results

Amazon SQS Reliable, highly scalable, queue service

for storing messages as they travel

between instances

Task A

Task B

(Auto-scaling)

Task C

2

3

1

Simple Workflow Reliably coordinate processing steps

across applications

Integrate AWS and non-AWS resources

Manage distributed state in complex

systems

Push inter-process workflows into the cloud with SWF

Reliable message queuing without

additional software

Rule 4: Simplify architecture with services

Page 90: Journey Through the AWS Cloud; Building Powerful Web Applications

Cloud Search Elastic search engine based upon

Amazon A9 search engine

Fully managed service with

sophisticated feature set

Scales automatically

Document Server

Results

Search Server

Don’t install search software, use CloudSearch

Process large volumes of data cost effectively

with EMR

Elastic MapReduce Elastic Hadoop cluster

Integrates with S3 & DynamoDB

Leverage Hive & Pig analytics scripts

Integrates with instance types such as

spot

Rule 4: Simplify architecture with services

Page 91: Journey Through the AWS Cloud; Building Powerful Web Applications
Page 92: Journey Through the AWS Cloud; Building Powerful Web Applications

“Amazon CloudSearch is a game-changing product that has allowed us to deliver powerful

new search capabilities. Our customers can now find what they are looking for faster and more

easily than ever before…

….We saved many months of re-architecture and development time by going with Amazon

CloudSearch”

Don MacAskill CEO & Chief Geek

SmugMug

Page 93: Journey Through the AWS Cloud; Building Powerful Web Applications
Page 94: Journey Through the AWS Cloud; Building Powerful Web Applications
Page 95: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 96: Journey Through the AWS Cloud; Building Powerful Web Applications

Compute

Storage

Security Scaling

Database

Networking Monitoring

Messaging

Workflow

DNS

Load Balancing

Backup CDN

Rule 5: Automate operational management

a) Everything is programmable

Access everything via CLI, API or

Console

Achieve the highest levels of automation

sophistication with ease

Page 97: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 5: Automate operational management

a) Everything is programmable b) Think disposable, one click deployments

Cloud Formation Automate creation of ‘stacks’ in a repeatable way

Scripting framework for AWS resource creation

Feature Details

Platform support Support for AWS resources from EC2 to IAM

Resource creation Creates AWS resources behind the scenes and reports on progress

Declarative Specify stacks in JSON format and source control your environments

Customizable Drive stack creation with paramaters

Page 98: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 5: Automate operational management

a) Everything is programmable b) Think disposable, one click deployments c) Design for failure, implement self healing

Customize instance startup

Get instances to ask ‘who am I?’ question on startup and be configured dynamically upon

being asnwered

Maintain capacity of instances

Using a minimum pool size will maintain

capacity in the event of instance failures

Know what’s going on, take automated actions

Use CloudWatch standard and custom metrics to create

alarms.

Respond with automated administration actions

Bootstrapping Auto-scaling Cloud Watch

Page 99: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 5: Automate operational management

a) Everything is programmable b) Think disposable, one click deployments c) Design for failure, implement self healing

Page 100: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 101: Journey Through the AWS Cloud; Building Powerful Web Applications

Small 1.7 GB, 1 ECU 1 virtual core

Large 7.5 GB 4 ECUs 2 virtual cores

Extra Large 15 GB 8 ECUs 4 virtual cores

Hi-Mem XL 17.1 GB 6.5 ECUs 2 virtual cores

Hi-Mem 2XL 34.2 GB 13 ECUs 4 virtual cores

Hi-Mem 4XL 68.4 GB 26 ECUs 8 virtual cores

High-CPU Med 1.7 GB 5 ECUs 2 virtual cores

High-CPU XL 7 GB 20 ECUs 8 virtual cores

Micro 613 MB Up to 2 ECUs (for short bursts)

Cluster GPU 4XL 22 GB 33.5 ECUs 8 Nehalem virtual cores 2 x NVIDIA Tesla “Fermi” M2050 GPUs

Cluster Compute 4XL 23 GB 33.5 ECUs 8 Nehalem virtual cores

Cluster Compute 8XL 60.5 GB 88 ECUs 8 core 2 x Intel Xeon

Medium 3.75 GB 2 ECUs 1 virtual cores

Rule 6: Leverage unique cloud properties

a) Optimize costs with instance types

Page 102: Journey Through the AWS Cloud; Building Powerful Web Applications

Unix/Linux instances start at $0.02/hour

Pay as you go for compute power

Low cost and flexibility

Pay only for what you use, no up-front commitments or long-term contracts

Use Cases:

Applications with short term, spiky, or

unpredictable workloads;

Application development or testing

On-demand instances

1- or 3-year terms

Pay low up-front fee, receive significant hourly discount

Low Cost / Predictability

Helps ensure compute capacity is available

when needed

Use Cases:

Applications with steady state or predictable usage

Applications that require reserved capacity,

including disaster recovery

Reserved instances

Bid on unused EC2 capacity

Spot Price based on supply/demand, determined automatically

Cost / Large Scale, dynamic workload handling

Use Cases:

Applications with flexible start and end times

Applications only feasible at very low compute prices

Spot instances

Rule 6: Leverage unique cloud properties

a) Optimize costs with instance types

Page 103: Journey Through the AWS Cloud; Building Powerful Web Applications

0

1000

2000

3000

4000

5000

6000

7000

Reserved Instances

On Demand

Spot

Rule 6: Leverage unique cloud properties

a) Optimize costs with instance types

Page 104: Journey Through the AWS Cloud; Building Powerful Web Applications

a) Optimize costs with instance types b) Get insight fast with Elastic MapReduce

Rule 6: Leverage unique cloud properties

Elastic MapReduce Managed, elastic Hadoop cluster

Integrates with S3 & DynamoDB

Leverage Hive & Pig analytics scripts

Integrates with instance types such as spot

Feature Details

Scalable Use as many or as few compute instances running Hadoop as you want. Modify the number of instances while your job flow is running

Integrated with other services

Works seamlessly with S3 as origin and output. Integrates with DynamoDB

Comprehensive Supports languages such as Hive and Pig for defining analytics, and allows complex definitions in Cascading, Java, Ruby, Perl, Python, PHP, R, or C++

Cost effective Works with Spot instance types

Monitoring Monitor job flows from with the management console

Page 105: Journey Through the AWS Cloud; Building Powerful Web Applications

a) Optimize costs with instance types b) Get insight fast with Elastic MapReduce

Elastic MapReduce

Code Name node

Output S3 + SimpleDB

S3 + DynamoDB

Elastic cluster

HDFS Queries

+ BI Via JDBC, Pig, Hive

Input data

Rule 6: Leverage unique cloud properties

Page 106: Journey Through the AWS Cloud; Building Powerful Web Applications

Features powered by Amazon Elastic MapReduce:

People Who Viewed this Also Viewed

Review highlights Auto complete as you type on search

Search spelling suggestions Top searches

Ads

200 Elastic MapReduce jobs per day Processing 3TB of data

Page 107: Journey Through the AWS Cloud; Building Powerful Web Applications

“With AWS, our developers can now do things they couldn’t before…

…Our systems team can focus their energies on other

challenges.”

Dave Marin Search and data-mining engineer

Page 108: Journey Through the AWS Cloud; Building Powerful Web Applications

Cluster compute instances

Implement HVM process execution

Intel® Xeon® E5-2670 processors

10 Gigabit Ethernet

Cluster

Compute

80 EC2

Compute Units

60GB RAM

3TB Local

Disk

Network placement groups

Cluster instances deployed in a ‘Placement Group’ enjoy low

latency, full bisection 10 Gbps bandwidth

10Gbps

Rule 6: Leverage unique cloud properties

a) Optimize costs with instance types b) Get insight fast with Elastic MapReduce c) Create a supercomputer backend when you need it

Page 109: Journey Through the AWS Cloud; Building Powerful Web Applications

Rule 2: Service requests as fast as possible

Rule 1: Service all web requests

Rule 3: Handle requests at any scale

Rule 4: Simplify architecture with services

Rule 5: Automate operational management

Rule 6: Leverage unique cloud properties

Page 110: Journey Through the AWS Cloud; Building Powerful Web Applications

What your users want…

Fast, performant experience

Lots of new features all of the

time

Always on, accessible anywhere

Personalized and rich application

Page 111: Journey Through the AWS Cloud; Building Powerful Web Applications

With AWS

Elastic utility capacity

Lots of new features all of the

time

Always on, accessible anywhere

Personalized and rich application

Page 112: Journey Through the AWS Cloud; Building Powerful Web Applications

With AWS

Elastic utility capacity

✔ Highly available global coverage

Lots of new features all of the

time

Personalized and rich application

Page 113: Journey Through the AWS Cloud; Building Powerful Web Applications

With AWS

Elastic utility capacity

✔ Highly available global coverage

Personalized and rich application

Agility & automated operations

Page 114: Journey Through the AWS Cloud; Building Powerful Web Applications

With AWS

Elastic utility capacity

✔ Highly available global coverage

Agility & automated operations

✔ Cost effective storage, big data &

analytics ✔

Page 115: Journey Through the AWS Cloud; Building Powerful Web Applications

NASA TV Route 53 DNS Multi-region & AZ

Elastic Loadbalancing Amazon Live Streaming

Cloud Front Cloud Formation

Page 116: Journey Through the AWS Cloud; Building Powerful Web Applications

aws.amazon.com

get started with the free tier

Page 117: Journey Through the AWS Cloud; Building Powerful Web Applications

Thank you

Ryan Shuttleworth – Technical Evangelist @ryanAWS