• Save
AWS Cloud School | London - Part 2
 

AWS Cloud School | London - Part 2

on

  • 1,511 views

 

Statistics

Views

Total Views
1,511
Views on SlideShare
1,511
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 AWS Cloud School | London - Part 2 Presentation Transcript

  • 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
  • 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 Scalablestorage compute Relational Database Service Managed MySQL and Oracle databases
  • ElastiCacheIn memory, memcached compliant, caching clusters
  • High performance databases Increase throughput Increase availability Reduce latency
  • High performance databases Read replicasPush-button scaling Increase throughput ElastiCache Increase availability Reduce latency
  • 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 Scale
  • Performance Predictable, consistent Degraded performance with scale Scale
  • = more problems
  • Data caching Provisioning!Data sharding = more problemsCluster management Fault 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 < 10 ms writes
  • H I G H L I G H T S SSD backed Low latency Single digit millisecond< 5 ms reads < 10 ms writes
  • 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” “20100916” “20100917”“Title” = “flower” “Title” = “ferrari” “Title” = “coffee”“Tags” = “flower”, “Tags” = “car”, “Tags” = “drink”,“jasmine”, “white” “italian” “delicious”
  • 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->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));
  • $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));
  • $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));
  • $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));
  • $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));
  • 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 data centres.
  • Availability Region specific (not AZ)Continuously replicated across multiple AZs
  • Considerations Limited index and query modelThroughput is provisioned in 1K operations Maximum 64K item sizeBackup and restore via Elastic MapReduce
  • DatabasesRelational “NoSQL”databases databases
  • SimpleDBZero maintenance, NoSQL datastore
  • Flexible queries 10Gb / 1 billion No nativeattributes per tabel data sharding SimpleDB Zero maintenance, NoSQL datastore
  • 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 Virtual Private Cloud Other topics: whiteboard sessions Cost optimisation Elastic MapReduce Analytics Architecture Storage Gateway
  • AGENDA AWS Cloud School - LondonCloud ConceptsBuilding BlocksApplication lifecycleH igh Availability Web ServicesHands-on Session #1Deep Dive SessionsHands-on Session #2Wrap up
  • cloudbyexample.net/ tutorial
  • j.mp/school-evaluation
  • matthew@amazon.com andglenrob@amazon.com
  • Thank you!