More Related Content Similar to AWS Cloud School - London April 2012 Similar to AWS Cloud School - London April 2012 (20) More from Amazon Web Services More from Amazon Web Services (20) AWS Cloud School - London April 201213. Objects in S3
Billions of objects
905 B
1000.000
750.000
500.000
250.000
0
Q4 2006 Q4 2007 Q4 2008 Q4 2009 Q4 2010 Q4 2011 Q1 2012
650k+ peak transactions per second
20. Launch a
high availability
web app
Reliable. Scalable. On-demand. From anywhere.
10 minutes.
24. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
Data store
25. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
Data store
Amazon DynamoDB
26. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Amazon EC2 Application servers
Data store
Amazon DynamoDB
27. AP LICAT
P ION ARCH ECTU
IT RE
Elastic Load
Balancer Load balancer
Amazon EC2 Application servers
Data store
Amazon DynamoDB
28. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
Data store
32. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Decoupled Application servers
Data store
33. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Stateless Application servers
Data store
34. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Redundancy Application servers
Data store
35. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Redundancy Application servers
Data store
36. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Availability zone
Application servers
redundancy
Data store
37. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Horizontal scale Application servers
Data store
38. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Horizontal scale Application servers
Data store
39. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Horizontal scale Application servers
Data store
41. Usage
Midnight 7am 9am Noon 3pm 5pm Midnight
Time of day
42. Usage
January December
Time of year
43. Usage
January December
Time of year
44. Usage
60%
January December
Time of year
56. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
Data store
57. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
CloudFormation
template
Data store
58. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
CloudFormation
template
Data store
64. Standard High memory High CPU
m1 m2 c1
65. 1 instance for 100 hours
=
100 instances for 1 hour
You choose where to balance cost against time.
68. GPU
2 x NVIDIA Tesla. 400 cores each.
Molecular modeling. Hedging. Transcoding and rendering.
74. CloudFormation template
CloudFormation service
EC2 instances Load balancer S3 bucket Users and Autoscaling
groups
75. CloudFormation template
CloudFormation service
EC2 instances Load balancer S3 bucket Users and Autoscaling
groups
Security groups Port access Write access Scaling parameters
81. Account
DBA Developer Sys admin Finance
Roles
Sally
Robert
Users
Chris
83. Account
DBA Developer Sys admin Finance
Roles
Sally
Robert
Users
Chris
94. Metrics
CPU, network, IO, custom
CloudWatch alarms
Set operational thresholds: IOPS, page load time
95. Metrics
CPU, network, IO, custom
CloudWatch alarms
Set operational thresholds: IOPS, page load time
Trigger autoscaling policy
Adjust autoscaling groups within bounds
Register with load balancer
96. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
Data store
Amazon DynamoDB
99. Rapid High
provisioning availability
Scalable Scalable
storage compute
Relational Database Service
Managed MySQL and Oracle databases
102. High performance databases
Read replicas
Push-button
scaling Increase throughput
ElastiCache
Increase availability
Reduce latency
107. Performance
Predictable, consistent
Degraded performance
with scale
Scale
108. Performance
Predictable, consistent
Degraded performance
with scale
Scale
110. Data caching
Provisioning!
Data sharding
= more problems
Cluster management
Fault management
117. SSD backed
Low latency
Single digit millisecond
< 5 ms reads < 10 ms writes
125. Associative array,
or Hash
[ title => “Introduction to DynamoDB”,
date => “20120320” ]
127. [ title => “Disaster Recovery with AWS”,
date => “20120320”,
format => “online seminar”,
presenter => “Jeff Barr” ]
Attributes
[ title => “Introduction to DynamoDB”,
date => “20120320” ]
128. [ title => “Disaster Recovery with AWS”,
date => “20120320”,
format => “webinar”,
presenter => “Jeff Barr” ]
Items
[ title => “Introduction to DynamoDB”,
date => “20120320” ]
129. [ title => “Disaster Recovery with AWS”,
date => “20120328”,
format => “webinar”,
presenter => “Jeff Barr” ]
Table
[ title => “Introduction to DynamoDB”,
date => “20120320” ]
131. Item
“UserID” = “1”
“Date” =
“20100915”
“Title” = “flower”
“Tags” = “flower”,
“jasmine”, “white”
132. “UserID” = “1” “UserID” =”2” “UserID” =”3”
“Date” = “Date” = “Date” =
“20100915” “20100916” “20100917”
“Title” = “flower” “Title” = “ferrari” “Title” = “coffee”
“Tags” = “flower”, “Tags” = “car”, “Tags” = “drink”,
“jasmine”, “white” “italian” “delicious”
133. “ImageID” = “1” Primary or hash key
“Date” = “20100915”
“Title” = “flower”
“Tags” = “flower”,
“jasmine”, “white”
134. “ImageID” = “1” Primary or hash key
“Date” = “20100915” Composite or range key
“Title” = “flower”
“Tags” = “flower”,
“jasmine”, “white”
135. “ImageID” = “1” Primary or hash key
“Date” = “20100915” Composite or range key
“Title” = “flower”
“Tags” = “flower”, Sets of strings
“jasmine”, “white”
or numbers
136. Best practice
Well balanced, fine grained hash keys.
Customer, order, item, etc. rather than store_id.
139. Durability
Writes occur to disk, not memory.
Writes are acknowledged once they have been
made in two physical data centres.
140. Availability
Region specific (not AZ)
Continuously replicated across multiple AZs
143. AP LICAT
P ION ARCH ECTU
IT RE
Load balancer
Application servers
Data store
149. create external table items_db
(id string, likes bigint, views bigint)
stored by
'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
tblproperties
("dynamodb.table.name" = "items",
"dynamodb.column.mapping" = "id:id,likes:likes,views:views");
select id, likes, views from items_db
order by views desc;
162. Left image Right image
Warp Warp
Stereo match
3D map
Tiling