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

BACK-END USE CASES
Carlos Conde – Sr. Mgr. Solutions Architecture
Thom...
PRESENTATION
TIER

APPLICATION
TIER

INFORMATION
TIER

(FRONT-END)

(BACK-END)

(DATABASES)
PRESENTATION
TIER

APPLICATION
TIER

INFORMATION
TIER

(FRONT-END)

(BACK-END)

(DATABASES)
CONTENT DELIVERY
NETWORK

AMAZON
CLOUDFRONT
AWS ELASTIC
BEANSTALK

WEB APPLICATION
FRONT-END
AMAZON
DYNAMODB
DATA STORE
AMAZON S3

VIDEO FILES
STORE
#1WORKFLOW
START

CHECK
VIDEO

REJECT

STOP

YES
TOO
LONG?
YES
CROP
VIDEO

NO

SPAM
CHECK

SPAM?
NO

TRANSCODE

INDEX
& NOTIFY
START

CHECK
VIDEO

REJECT

STOP

YES
TOO
LONG?
YES
CROP
VIDEO

NO

SPAM
CHECK

SPAM?
NO

TRANSCODE

INDEX
& NOTIFY
START

CHECK
VIDEO

REJECT

STOP

YES
TOO
LONG?
YES
CROP
VIDEO

NO

SPAM
CHECK

SPAM?
NO

TRANSCODE

INDEX
& NOTIFY
TASKS
DECISIONS
HISTORY
TASKS
DECISIONS
HISTORY

STATELESS !
STATELESS SCALES
HORIZONTALLY
AMAZON SWF
ENABLES RESILIENT, SCALABLE,
DISTRIBUTED WORKFLOWS
AMAZON SWF
SERVICE

SWF WORKER

SWF DECIDER
DECIDERS
COORDINATION LOGIC
1.

Poll for work on a decision list
Long polling

2.

Evaluate workflow execution history
SWF...
WORKERS
EXECUTION LOGIC
1.

Poll for work on a specific task list
Long polling

2.

Execute works, send heartbeats
SWF sen...
AMAZON SWF TRACKS:
 Execution
Time to start, time to finish, …
Time to finish for overall workflow
Timeouts controlled fo...
NO NEW LANGUAGE
TO LEARN
YOUR CODE IS YOUR WORKFLOW LANGUAGE
AMAZON SWF MAINTAINS STATE
ALL
HORIZONTAL SCALING
PATTERNS APPLY
#2TRANSCODING
AMAZON
ELASTIC TRANSCODER
SCALABLE, EASY TO USE AND A COST EFFECTIVE
SD $0.015 / MINUTE
Resolution of less than 720p

HD $0.030 / MINUTE
Resolution of more than 720p
Transcode up to 20 minute...
AMAZON ELASTIC
TRANSCODER
#3SEARCH
AMAZON
CLOUDSEARCH
ENABLES RESILIENT, SCALABLE,
DISTRIBUTED WORKFLOWS
select
from
where
like

*
articles
content
‘%cloud%’
Relevance &
Ranking
Faceting
Field
Search
Range Search
+
Endpoints

doc-mydomain.us-east-1.cloudsearch.amazonaws.com

search-mydomain.us-east-1.cloudsearch.amazonaws.com
HTTP POST
author=carlos;
date=2013-02-07;
comment=text;

+
SCALABLE SEARCH
Time: 1800h
Requests

<80% CPU
Small Instance
Partition 1
Copy 1

Time

Elastic Search
Time: 2000h
Requests

>80% CPU
Small Instance
Partition 1
Copy 2

Small Instance

Small Instance

Partition 1
Copy 1

Part...
Time: 2200h
Requests
>80% CPU
Small Instance
Partition 1
Copy 3

Small Instance

Small Instance

Partition 1
Copy 2

Parti...
Time: 0000h
Requests

Small Instance
Partition 1
Copy 3

Small Instance

Small Instance

Partition 1
Copy 2

Partition 1
C...
Cost savings
Requests
Traditional required capacity
Small Instance
Partition 1
Copy 3

Small Instance

Small Instance

Par...
Cost savings
Requests
Traditional required capacity
Small Instance
Partition 1
Copy 3

Small Instance

Small Instance

Par...
Cost savings
Requests
Traditional required capacity
Small Instance
Partition 1
Copy 3

Savings

Savings

Small Instance

S...
Cloud
Search
Search Instance
Partition 1
Copy 1

Traffic
Request
volume &
complexity

Search Instance
Partition 1
Copy 2

...
Data
Document quantity & size

Cloud
Search
Search Instance

Search Instance

Partition 1
Copy 1

Partition 2
Copy 1

Sear...
Data
Document quantity & size

Cloud
Search
Search Instance

Request
volume &
complexity

Search Instance

Partition 1
Cop...
SEARCH
ENDPOINT
AMAZON
CLOUDSEARCH

DOCUMENT
ENDPOINT
#4NOTIFICATIONS
AMAZON SES
BULK AND TRANSACTIONAL
EMAIL-SENDING SERVICE
$0.10
PER 1000 EMAILS
+ $0.12 per GB of attachments
AMAZON SNS
MOBILE PUSH NOTIFICATIONS
#5ENDPOINT
DIRECT API CALLS TO AWS
iOS

Android

// Create Amazon S3 Client

// Create Amazon S3 Client

AmazonS3Client *s3 = [[AmazonS3Client alloc]
initWit...
IAM STS
SECURITY TOKEN SERVICE
IAM STS
FOCUS ON YOUR
CORE BUSINESS
AWS Summit 2013 Tel Aviv
Oct 16 – Tel Aviv, Israel

AWS OPSWORKS
Thomas Metschke – Technical Program Manager AWS OpsWorks
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
AWS Summit Tel Aviv - Startup Track - Backend Use Cases
Upcoming SlideShare
Loading in...5
×

AWS Summit Tel Aviv - Startup Track - Backend Use Cases

384

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
384
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "AWS Summit Tel Aviv - Startup Track - Backend Use Cases"

  1. 1. AWS Summit 2013 Tel Aviv Oct 16 – Tel Aviv, Israel BACK-END USE CASES Carlos Conde – Sr. Mgr. Solutions Architecture Thomas Metschke – Technical Program Manager AWS OpsWorks
  2. 2. PRESENTATION TIER APPLICATION TIER INFORMATION TIER (FRONT-END) (BACK-END) (DATABASES)
  3. 3. PRESENTATION TIER APPLICATION TIER INFORMATION TIER (FRONT-END) (BACK-END) (DATABASES)
  4. 4. CONTENT DELIVERY NETWORK AMAZON CLOUDFRONT
  5. 5. AWS ELASTIC BEANSTALK WEB APPLICATION FRONT-END
  6. 6. AMAZON DYNAMODB DATA STORE
  7. 7. AMAZON S3 VIDEO FILES STORE
  8. 8. #1WORKFLOW
  9. 9. START CHECK VIDEO REJECT STOP YES TOO LONG? YES CROP VIDEO NO SPAM CHECK SPAM? NO TRANSCODE INDEX & NOTIFY
  10. 10. START CHECK VIDEO REJECT STOP YES TOO LONG? YES CROP VIDEO NO SPAM CHECK SPAM? NO TRANSCODE INDEX & NOTIFY
  11. 11. START CHECK VIDEO REJECT STOP YES TOO LONG? YES CROP VIDEO NO SPAM CHECK SPAM? NO TRANSCODE INDEX & NOTIFY
  12. 12. TASKS DECISIONS HISTORY
  13. 13. TASKS DECISIONS HISTORY STATELESS !
  14. 14. STATELESS SCALES HORIZONTALLY
  15. 15. AMAZON SWF ENABLES RESILIENT, SCALABLE, DISTRIBUTED WORKFLOWS
  16. 16. AMAZON SWF SERVICE SWF WORKER SWF DECIDER
  17. 17. DECIDERS COORDINATION LOGIC 1. Poll for work on a decision list Long polling 2. Evaluate workflow execution history SWF sends full history in JSON format 3. Return decision to Amazon SWF Usually scheduling another task
  18. 18. WORKERS EXECUTION LOGIC 1. Poll for work on a specific task list Long polling 2. Execute works, send heartbeats SWF sends input data from deciders 3. Return success / failure Detailed data can be provided to deciders
  19. 19. AMAZON SWF TRACKS:  Execution Time to start, time to finish, … Time to finish for overall workflow Timeouts controlled for each of these (and more)  Heartbeats for long-running activities (optional)  Decider is informed of timeouts Schedule retries, “mitigation” strategies or cleanup tasks
  20. 20. NO NEW LANGUAGE TO LEARN YOUR CODE IS YOUR WORKFLOW LANGUAGE AMAZON SWF MAINTAINS STATE
  21. 21. ALL HORIZONTAL SCALING PATTERNS APPLY
  22. 22. #2TRANSCODING
  23. 23. AMAZON ELASTIC TRANSCODER SCALABLE, EASY TO USE AND A COST EFFECTIVE
  24. 24. SD $0.015 / MINUTE Resolution of less than 720p HD $0.030 / MINUTE Resolution of more than 720p Transcode up to 20 minutes of content each month for free.
  25. 25. AMAZON ELASTIC TRANSCODER
  26. 26. #3SEARCH
  27. 27. AMAZON CLOUDSEARCH ENABLES RESILIENT, SCALABLE, DISTRIBUTED WORKFLOWS
  28. 28. select from where like * articles content ‘%cloud%’
  29. 29. Relevance & Ranking
  30. 30. Faceting
  31. 31. Field Search
  32. 32. Range Search
  33. 33. +
  34. 34. Endpoints doc-mydomain.us-east-1.cloudsearch.amazonaws.com search-mydomain.us-east-1.cloudsearch.amazonaws.com
  35. 35. HTTP POST author=carlos; date=2013-02-07; comment=text; +
  36. 36. SCALABLE SEARCH
  37. 37. Time: 1800h Requests <80% CPU Small Instance Partition 1 Copy 1 Time Elastic Search
  38. 38. Time: 2000h Requests >80% CPU Small Instance Partition 1 Copy 2 Small Instance Small Instance Partition 1 Copy 1 Partition 1 Copy 1 Time Elastic Search
  39. 39. Time: 2200h Requests >80% CPU Small Instance Partition 1 Copy 3 Small Instance Small Instance Partition 1 Copy 2 Partition 1 Copy 2 Small Instance Small Instance Small Instance Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Time Elastic Search
  40. 40. Time: 0000h Requests Small Instance Partition 1 Copy 3 Small Instance Small Instance Partition 1 Copy 2 Partition 1 Copy 2 Small Instance Small Instance Small Instance Small Instance Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 <30% CPU Time Elastic Search
  41. 41. Cost savings Requests Traditional required capacity Small Instance Partition 1 Copy 3 Small Instance Small Instance Partition 1 Copy 2 Partition 1 Copy 2 Small Instance Small Instance Small Instance Small Instance Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Time Elastic Search
  42. 42. Cost savings Requests Traditional required capacity Small Instance Partition 1 Copy 3 Small Instance Small Instance Partition 1 Copy 2 Partition 1 Copy 2 Small Instance Small Instance Small Instance Small Instance Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Elastic Capacity Time Elastic Search
  43. 43. Cost savings Requests Traditional required capacity Small Instance Partition 1 Copy 3 Savings Savings Small Instance Small Instance Partition 1 Copy 2 Partition 1 Copy 2 Small Instance Small Instance Small Instance Small Instance Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Partition 1 Copy 1 Elastic Capacity Time Elastic Search
  44. 44. Cloud Search Search Instance Partition 1 Copy 1 Traffic Request volume & complexity Search Instance Partition 1 Copy 2 Search Instance Partition 1 Copy n
  45. 45. Data Document quantity & size Cloud Search Search Instance Search Instance Partition 1 Copy 1 Partition 2 Copy 1 Search Instance Partition n Copy 1
  46. 46. Data Document quantity & size Cloud Search Search Instance Request volume & complexity Search Instance Partition 1 Copy 1 Traffic Search Instance Partition 2 Copy 1 Partition n Copy 1 Search Instance Search Instance Search Instance Partition 1 Copy 2 Partition 2 Copy 2 Partition n Copy 2 Search Instance Search Instance Search Instance Partition 1 Copy n Partition 2 Copy n Partition n Copy n
  47. 47. SEARCH ENDPOINT AMAZON CLOUDSEARCH DOCUMENT ENDPOINT
  48. 48. #4NOTIFICATIONS
  49. 49. AMAZON SES BULK AND TRANSACTIONAL EMAIL-SENDING SERVICE
  50. 50. $0.10 PER 1000 EMAILS + $0.12 per GB of attachments
  51. 51. AMAZON SNS MOBILE PUSH NOTIFICATIONS
  52. 52. #5ENDPOINT
  53. 53. DIRECT API CALLS TO AWS
  54. 54. iOS Android // Create Amazon S3 Client // Create Amazon S3 Client AmazonS3Client *s3 = [[AmazonS3Client alloc] initWithAccessKey:ACCESS_KEY_ID withSecretKey:SECRET_KEY]; AmazonS3Client s3 = new AmazonS3Client( new BasicAWSCredentials( ACCESS_KEY_ID, SECRET_KEY ) ); // Put an Object into a Bucket // Put an Object into a Bucket S3PutObjectRequest *por = [[S3PutObjectRequest alloc] initWithKey:VIDEO_NAME inBucket:VIDEO_BUCKET]; por.contentType = @“mpeg4"; por.data = video; [s3 putObject:por]; PutObjectRequest por = new PutObjectRequest(VIDEO_BUCKET, VIDEO_NAME, new java.io.File( video ) ); s3.putObject( por ); // Get an Object from a Bucket // Get an Object from a Bucket S3GetObjectRequest *gor = [[S3GetObjectRequest alloc] initWithKey:VIDEO_NAME withBucket:VIDEO_BUCKET]; S3GetObjectResponse *response = [s3 getObject:gor]; S3Object data = s3.getObject(VIDEO_BUCKET, VIDEO_NAME);
  55. 55. IAM STS SECURITY TOKEN SERVICE
  56. 56. IAM STS
  57. 57. FOCUS ON YOUR CORE BUSINESS
  58. 58. AWS Summit 2013 Tel Aviv Oct 16 – Tel Aviv, Israel AWS OPSWORKS Thomas Metschke – Technical Program Manager AWS OpsWorks
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×