Your SlideShare is downloading. ×
  • Like
  • Save

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

AWS Cloud School | London - Part 2

  • 1,196 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,196
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
29
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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