design considerations for storing data in the cloud
DESCRIPTION
Design considerations for storing data in the Cloud. Eric Nelson Microsoft UK http://bit.ly/ericnel http://twitter.com/ericnel http://ukazure.ning.com. Session Objectives. SQL Azure vs /and Windows Azure Storage Drill into Windows Azure Storage - PowerPoint PPT PresentationTRANSCRIPT
Page 1Interoperability
Design considerations for
storing data in the Cloud
Eric NelsonMicrosoft UK
http://bit.ly/ericnel http://twitter.com/ericnelhttp://ukazure.ning.com
Page 2
Session Objectives
• SQL Azure vs/and Windows Azure Storage
• Drill into Windows Azure Storage• Next session: Keith Burns drills into
SQL Azure
Page 4
Windows Azure Platform
Page 5
Windows Azure Platform
• Windows Azure – Your code and data
• SQL Azure Database – Your relational data
• AppFabric* – Your messages
Code Data RelationalData
Page 6
Your Service
Azure Application = WebRole + Worker Role + Storage
LB
Web Site(ASPX, ASMX,
WCF)
Web Site(ASPX, ASMX,
WCF)Web Role
(ASPX, WCF)
Worker Service
Worker Role
LB
SQL Azure
Queues
Blobs
TablesInternet
Page 7
Windows Azure and SQL Azure
Azure Storage SQL Azure
Vision
Access
Relational? (today)
Relational? (tomorrow)
Analogy
Page 8
Windows Azure and SQL Azure
Azure Storage SQL Azure
Vision Highly scalable, highly available store in the Cloud
Access Uses WCF Data Services - REST
Relational? (today)
No
Relational? (tomorrow)
No
Analogy
Page 9
Windows Azure and SQL Azure
Azure Storage SQL Azure
Vision Highly scalable, highly available store in the Cloud
Scalable, highly available relational store in the Cloud
Access Uses WCF Data Services - REST
SqlClient + TSQL(Use Azure Web Role + WCF Data Services if REST is required)
Relational? (today)
No Yes – but with some limitations
Relational? (tomorrow)
No Yes – with less and less limitations
Analogy
Page 10
Windows Azure and SQL Azure
Azure Storage SQL Azure
Vision Highly scalable, highly available store in the Cloud
Scalable, highly available relational store in the Cloud
Access Uses WCF Data Services - REST
SqlClient + TSQL(Use Azure Web Role + WCF Data Services if REST is required)
Relational? (today)
No Yes – but with some limitations
Relational? (tomorrow)
No Yes – with less and less limitations
Analogy File System RDBMS – as it is
Page 11
Cost impacting Architecture
Page 12
Windows Azure and SQL Azure
Azure Storage SQL Azure
Maximum Amount of data in a single “database”
Price per GB per month
Price to store 1KB per month
Page 13
Windows Azure and SQL Azure
Azure Storage SQL Azure
Maximum Amount of data in a single “database”
100TB 10GB (50GB this summer)
Price per GB per month
Price to store 1KB per month
Page 14
Windows Azure and SQL Azure
Azure Storage SQL Azure
Maximum Amount of data in a single “database”
100TB 10GB (50GB this summer)
Price per GB per month
£0.09 £6.06
Price to store 1KB per month
Page 15
Windows Azure and SQL Azure
Azure Storage SQL Azure
Maximum Amount of data in a single “database”
100TB 10GB (50GB this summer)
Price per GB per month
£0.09 £6.06 *
Price to store 1KB per month
£0.00 £6.06 *
Page 16
Your Service
Azure Application = WebRole + Worker Role + Storage
LB
Web Site(ASPX, ASMX,
WCF)
Web Site(ASPX, ASMX,
WCF)Web Role
(ASPX, WCF)
Worker Service
Worker Role
LB
SQL Azure
Queues
Blobs
TablesInternet
1
2
Page 17
SQL Azure
Page 18
SQL Azure
SQL Azure Database
“Next big thing”
http://www.sqlazurelabs.com
+
http://www.mygreatsqlazureidea.com
Page 19
SQL Azure Application Architectures
T-SQL (TDS)
Application / Tools
SQL Azure access from outside
Code Far
SQL Azure
SOAP/RESTHTTP/S
SQL Azure access from within Datacenter
Windows Azure
T-SQL (TDS)
Web Role
WCF Data Svcs/REST - EFHTTP/S
SQL Azure
Application/ Browser
Code Near
Page 20
Demo
Page 21
Windows Azure Storage“NoSQL”
Page 22
Azure Storage
Storage
Account
Queues
Blobs
Tables
http://<account>.blob.core.windows.net/<container>
http://<account>.table.core.windows.net/<table>
http://<account>.queue.core.windows.net/<queue>
Page 23
Queues
Queues
ThumbnailJobsQ
“Body1”
Messages
“Body3”
“Body2”
Page 24
Blobs
Containers
Pictures
Photo1.png
Blobs
Photo3.png
Photo2.png
Page 25
Content Delivery Network
Containers
Pictures
Photo1.png
Blobs
Photo3.png
Photo2.png
CDN Node
CDN Node
CDN Node
CDN Node
CDN Node
“Near” London
“Near” Sydney
Windows Azure Blob service URL: http://ericnel.blob.core.windows.net/pictures/ Windows Azure CDN URL: http://<guid>.vo.msecnd.net/pictures/
“Near” London “Near”
Sydney
Page 26
Tables - EAV
Entity: Shiny red CarPK, RK, TS, att1, att2, att8
MyAzureTable1
Entity: 2008 Tax ReturnPK, RK, TS, att1, att2, att8, att9, att23, att46, att40
Entity: Blue BirdPK, RK, TS, att1, att4
Page 27
Windows Azure Tables
• Massively Scalable Tables– Billions of entities (rows) and TBs of
data– Automatically scales to thousands of
servers as traffic grows
• Highly Available– Can always access your data
• Durable– Data is replicated at least 3 times
Page 28
Tables - Capabilities
What tables don’t do
Not relationalNo Referential Integrity
No JoinsLimited Queries
No Group byNo AggregationsNo TransactionsNo Transactions
What tables can do
CheapVery Scalable
FlexibleDurable
If these are important to you, use SQL Azure
Store LOTS of stuff
Page 29
Demo
Page 30
Summary
• Important: You have SQL Azure and Windows Azure Storage to take advantage of
• SQL Azure has a well known API and behavior• Windows Azure Storage has a new API and
behavior• UK Site http://bit.ly/landazure• UK Community http://bit.ly/ukazure /
http://ukazure.ning.com
• My blog http://bit.ly/ericnel