More Related Content Similar to AWS Cloud School | London - Part 2 Similar to AWS Cloud School | London - Part 2 (20) More from Amazon Web Services More from Amazon Web Services (20) AWS Cloud School | London - Part 21. AGENDA
AWS Cloud School - London
Cloud Concepts
Building Blocks
Application lifecycle
H igh Availability Web Services
Hands-on Session #1 We are here!
Deep Dive Sessions
Hands-on Session #2
Wrap up
4. Storage
Databases
Tools &
Compute
Support
9. Rapid High
provisioning availability
Scalable Scalable
storage compute
Relational Database Service
Managed MySQL and Oracle databases
12. High performance databases
Read replicas
Push-button
scaling Increase throughput
ElastiCache
Increase availability
Reduce latency
17. Performance
Predictable, consistent
Degraded performance
with scale
Scale
18. Performance
Predictable, consistent
Degraded performance
with scale
Scale
20. Data caching
Provisioning!
Data sharding
= more problems
Cluster management
Fault management
28. H I G H L I G H T S
Low 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 scale
No table size limits. Unlimited storage.
32. H I G H L I G H T S
Seamless scale
Live repartitioning. Zero admin.
33. H I G H L I G H T S
Predictable performance
Provisioned throughput
34. H I G H L I G H T S
Durable and available
Consistent, disk-only writes
35. H I G H L I G H T S
Zero administration
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
46. “ImageID” = “1”
“Date” =
“20100915”
“Title” = “flower”
“Tags” = “flower”,
“jasmine”, “white”
47. “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”
53. Simple API
Only 12 operations.
Atomic increment/decrement on number attributes.
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. $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));
57. $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));
58. $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));
59. $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));
60. Consistency
Writes are always consistent.
Reads are consistent or eventually consistent.
61. Durability
Writes occur to disk, not memory.
Writes are acknowledged once they have been
made in two physical data centres.
62. Availability
Region specific (not AZ)
Continuously replicated across multiple AZs
63. Considerations
Limited index and query model
Throughput is provisioned in 1K operations
Maximum 64K item size
Backup and restore via Elastic MapReduce
66. Flexible queries
10Gb / 1 billion No native
attributes per tabel data sharding
SimpleDB
Zero maintenance, NoSQL datastore
70. Direct Connect
Batch processing
Simple Workflow
CloudFormation Virtual Private Cloud
Other topics:
whiteboard sessions
Cost optimisation
Elastic MapReduce
Analytics
Architecture
Storage Gateway
71. AGENDA
AWS Cloud School - London
Cloud Concepts
Building Blocks
Application lifecycle
H igh Availability Web Services
Hands-on Session #1
Deep Dive Sessions
Hands-on Session #2
Wrap up