• Save
AWS Cloud School | London - Part 2
 

Like this? Share it with your network

Share

AWS Cloud School | London - Part 2

on

  • 1,586 views

 

Statistics

Views

Total Views
1,586
Views on SlideShare
1,586
Embed Views
0

Actions

Likes
1
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

AWS Cloud School | London - Part 2 Presentation 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!