AWS Summit Tel Aviv - Startup Track - Backend Use Cases

649 views
505 views

Published on

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

No Downloads
Views
Total views
649
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

×