AGENDA    AWS Cloud School - LondonCloud ConceptsBuilding BlocksApplication lifecycleH igh Availability Web ServicesHands-...
StorageTools &                      ComputeSupport          Databases
StorageTools &                      ComputeSupport          Databases
Storage          DatabasesTools &                      ComputeSupport
DatabasesRelational                “NoSQL”databases                databases
DatabasesRelational                “NoSQL”databases                databases
Any database on Amazon EC2     MySQL, DB2, Oracle, PostgreSQL...
Relational Database Service   Managed MySQL and Oracle databases
Rapid            High                provisioning    availabilityScalable                                        Scalables...
ElastiCacheIn memory, memcached compliant, caching clusters
High performance databases       Increase throughput       Increase availability         Reduce latency
High performance databases                                      Read replicasPush-button  scaling     Increase throughput ...
High performance databases           Increase throughputMulti-AZ   Increase availability             Reduce latency
High performance databases       Increase throughput       Increase availability         Reduce latency        ElastiCache
ProblemPerformance decreases at scale
Performance              Predictable, consistent                                 Scale
Performance                  Predictable, consistent              Degraded performance                   with scale       ...
Performance                  Predictable, consistent              Degraded performance                   with scale       ...
= more problems
Data caching                                       Provisioning!Data sharding          = more problemsCluster management  ...
Undifferentiated heavy lifting
DynamoDB
Fully managedNoSQL database     service
Extremely fastperformance
Consistently fast performance
Seamless scalability
H   I   G   H   L   I   G   H   T   S
H    I   G   H   L   I   G   H   T   SLow latency    Single digit millisecond
H    I   G   H   L   I   G   H   T   S     Low latency          Single digit millisecond< 5 ms reads                      ...
H    I   G   H   L   I   G   H   T   S                   SSD backed     Low latency          Single digit millisecond< 5 m...
H   I   G   H   L   I   G   H   T   S  Massive scaleNo table size limits. Unlimited storage.
H   I   G   H   L   I   G   H   T   SSeamless scaleLive repartitioning. Zero admin.
H    I   G   H   L   I   G   H   T   SPredictable performance          Provisioned throughput
H   I   G   H   L   I   G   H   T   SDurable and available     Consistent, disk-only writes
H   I   G   H   L   I   G   H   T   SZero administration
What is provisioned  throughput?
Reserve required IOPS  Per table. Set at creation. Scale via API.
“ProvisionedThroughput”:     { “ReadsPerSecond” : 500 },     { “WritesPerSecond” : 1000 }
Scale at any time     No downtime
Pay for throughput
Per 1kb item:$0.01 per hour for every 10 writes/second  $0.01 per hour for every 50 strongly        consistent reads/second
Per 1kb item:          $0.28 per million writes$0.056 per million strongly consistent reads
Pay for storage$1.00 per Gb per month of indexed storage
Data model
“ImageID” = “1”   “Date” =  “20100915”“Title” = “flower”“Tags” = “flower”,“jasmine”, “white”
“ImageID” = “1”      “ImageID” =”2”        “ImageID” =”3”   “Date” =              “Date” =             “Date” =  “20100915...
Primary key
Composite key
Simple API              Only 12 operations.Atomic increment/decrement on number attributes.
Automatic scaling   Subscribe to SNS topic
$Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->Read...
$Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->Read...
$Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->Read...
$Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->Read...
$Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->Read...
Consistency       Writes are always consistent.Reads are consistent or eventually consistent.
Durability       Writes occur to disk, not memory.Writes are acknowledged once they have been      made in two physical da...
Availability         Region specific (not AZ)Continuously replicated across multiple AZs
Considerations     Limited index and query modelThroughput is provisioned in 1K operations         Maximum 64K item sizeBa...
DatabasesRelational                “NoSQL”databases                databases
SimpleDBZero maintenance, NoSQL datastore
Flexible queries  10Gb / 1 billion                              No nativeattributes per tabel                          dat...
Choose the right tool    for the job
DynamoDB free tier        5 writes/second   10 consistent reads/second        100Mb storage
Other topics:whiteboard sessions
Direct Connect                                 Batch processing            Simple WorkflowCloudFormation                   ...
AGENDA    AWS Cloud School - LondonCloud ConceptsBuilding BlocksApplication lifecycleH igh Availability Web ServicesHands-...
cloudbyexample.net/      tutorial
j.mp/school-evaluation
matthew@amazon.com        andglenrob@amazon.com
Thank you!
AWS Cloud School | London - Part 2
AWS Cloud School | London - Part 2
AWS Cloud School | London - Part 2
AWS Cloud School | London - Part 2
Upcoming SlideShare
Loading in...5
×

AWS Cloud School | London - Part 2

1,247

Published on

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

No Downloads
Views
Total Views
1,247
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "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!

×