AWS Cloud School | London - Part 2

1,450 views
1,362 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,450
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

AWS Cloud School | London - Part 2

  1. 1. AGENDA AWS Cloud School - LondonCloud ConceptsBuilding BlocksApplication lifecycleH igh Availability Web ServicesHands-on Session #1 We are here!Deep Dive SessionsHands-on Session #2Wrap up
  2. 2. StorageTools & ComputeSupport Databases
  3. 3. StorageTools & ComputeSupport Databases
  4. 4. Storage DatabasesTools & ComputeSupport
  5. 5. DatabasesRelational “NoSQL”databases databases
  6. 6. DatabasesRelational “NoSQL”databases databases
  7. 7. Any database on Amazon EC2 MySQL, DB2, Oracle, PostgreSQL...
  8. 8. Relational Database Service Managed MySQL and Oracle databases
  9. 9. Rapid High provisioning availabilityScalable Scalablestorage compute Relational Database Service Managed MySQL and Oracle databases
  10. 10. ElastiCacheIn memory, memcached compliant, caching clusters
  11. 11. High performance databases Increase throughput Increase availability Reduce latency
  12. 12. High performance databases Read replicasPush-button scaling Increase throughput ElastiCache Increase availability Reduce latency
  13. 13. High performance databases Increase throughputMulti-AZ Increase availability Reduce latency
  14. 14. High performance databases Increase throughput Increase availability Reduce latency ElastiCache
  15. 15. ProblemPerformance decreases at scale
  16. 16. Performance Predictable, consistent Scale
  17. 17. Performance Predictable, consistent Degraded performance with scale Scale
  18. 18. Performance Predictable, consistent Degraded performance with scale Scale
  19. 19. = more problems
  20. 20. Data caching Provisioning!Data sharding = more problemsCluster management Fault management
  21. 21. Undifferentiated heavy lifting
  22. 22. DynamoDB
  23. 23. Fully managedNoSQL database service
  24. 24. Extremely fastperformance
  25. 25. Consistently fast performance
  26. 26. Seamless scalability
  27. 27. H I G H L I G H T S
  28. 28. H I G H L I G H T SLow latency Single digit millisecond
  29. 29. H I G H L I G H T S Low latency Single digit millisecond< 5 ms reads < 10 ms writes
  30. 30. H I G H L I G H T S SSD backed Low latency Single digit millisecond< 5 ms reads < 10 ms writes
  31. 31. H I G H L I G H T S Massive scaleNo table size limits. Unlimited storage.
  32. 32. H I G H L I G H T SSeamless scaleLive repartitioning. Zero admin.
  33. 33. H I G H L I G H T SPredictable performance Provisioned throughput
  34. 34. H I G H L I G H T SDurable and available Consistent, disk-only writes
  35. 35. H I G H L I G H T SZero administration
  36. 36. What is provisioned throughput?
  37. 37. Reserve required IOPS Per table. Set at creation. Scale via API.
  38. 38. “ProvisionedThroughput”: { “ReadsPerSecond” : 500 }, { “WritesPerSecond” : 1000 }
  39. 39. Scale at any time No downtime
  40. 40. Pay for throughput
  41. 41. Per 1kb item:$0.01 per hour for every 10 writes/second $0.01 per hour for every 50 strongly consistent reads/second
  42. 42. Per 1kb item: $0.28 per million writes$0.056 per million strongly consistent reads
  43. 43. Pay for storage$1.00 per Gb per month of indexed storage
  44. 44. Data model
  45. 45. “ImageID” = “1” “Date” = “20100915”“Title” = “flower”“Tags” = “flower”,“jasmine”, “white”
  46. 46. “ImageID” = “1” “ImageID” =”2” “ImageID” =”3” “Date” = “Date” = “Date” = “20100915” “20100916” “20100917”“Title” = “flower” “Title” = “ferrari” “Title” = “coffee”“Tags” = “flower”, “Tags” = “car”, “Tags” = “drink”,“jasmine”, “white” “italian” “delicious”
  47. 47. Primary key
  48. 48. Composite key
  49. 49. Simple API Only 12 operations.Atomic increment/decrement on number attributes.
  50. 50. Automatic scaling Subscribe to SNS topic
  51. 51. $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  52. 52. $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  53. 53. $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  54. 54. $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  55. 55. $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  56. 56. Consistency Writes are always consistent.Reads are consistent or eventually consistent.
  57. 57. Durability Writes occur to disk, not memory.Writes are acknowledged once they have been made in two physical data centres.
  58. 58. Availability Region specific (not AZ)Continuously replicated across multiple AZs
  59. 59. Considerations Limited index and query modelThroughput is provisioned in 1K operations Maximum 64K item sizeBackup and restore via Elastic MapReduce
  60. 60. DatabasesRelational “NoSQL”databases databases
  61. 61. SimpleDBZero maintenance, NoSQL datastore
  62. 62. Flexible queries 10Gb / 1 billion No nativeattributes per tabel data sharding SimpleDB Zero maintenance, NoSQL datastore
  63. 63. Choose the right tool for the job
  64. 64. DynamoDB free tier 5 writes/second 10 consistent reads/second 100Mb storage
  65. 65. Other topics:whiteboard sessions
  66. 66. Direct Connect Batch processing Simple WorkflowCloudFormation Virtual Private Cloud Other topics: whiteboard sessions Cost optimisation Elastic MapReduce Analytics Architecture Storage Gateway
  67. 67. AGENDA AWS Cloud School - LondonCloud ConceptsBuilding BlocksApplication lifecycleH igh Availability Web ServicesHands-on Session #1Deep Dive SessionsHands-on Session #2Wrap up
  68. 68. cloudbyexample.net/ tutorial
  69. 69. j.mp/school-evaluation
  70. 70. matthew@amazon.com andglenrob@amazon.com
  71. 71. Thank you!

×