Technology Drill Down:
Windows Azure Platform
Eric Nelson | ISV Application Architect | Microsoft UK
eric.nelson@microsoft.com | http://bit.ly/ericnelson | http://twitter.com/ericnel
Page 2
Assumption
• Most of you are pretty new to the Windows
Azure Platform
• If you are not, check out:
– http://bit.ly/azuretrenchesbookvol1
– http://ukazure.ning.com/events
Page 3
Agenda Overview of the Windows Azure Platform
• Overview of the platform
• Compute
• Data
Summary and Next Steps
Page 4
Overview
Page 5
Windows Azure Platform
makes it easy and cost effective
to run your applications
and store your data
inside Microsoft Data Centres
using existing skills
and integrate with
your existing on-premise applications
Page 6
Windows Azure Platform
Page 7
You do most of your development locally
Page 8
Your code runs in Hosted Services
made up of Roles
Page 9
Your Roles are code + configuration
Page 10
You choose which type(s) of Role
to run your code in
Page 11
Load
Balancer
At runtime you can have
multiple instances of your Roles
http://yourapp.cloudapp.nethttp://yourapp.cloudapp.net
Page 12
You store your data in Windows Azure
Storage
Page 13
And/or you store your data in SQL Azure
Page 14
Demo
Page 15
You have many choices for data
Relational Database
Structured Storage
Unstructured Storage
NTFS Drive
Service Communication
Page 16
Side by Side Evaluation
 
Single Blob Drive Queue Table
Single SQL
Azure
Database
Structured Data Y Y
Relational Database Y
Server Side Processing Y
Direct Access from outside
Azure
Y Y Y Y
Messaging Infrastructure Y
Persistent Storage Y Y 1 week Y Y
Size Limit
200 GB/ 1
TB
1 TB 100 TB 100 TB 50 GB (*)
Page 17
Demo
Page 18
Summary
• Very easy to get going… but lots to learn
• Plenty of early adopters, therefore
– Good best practice are now appearing
– Plenty of detail to dig into
• Lots more coming
Page 19
NEXT STEPS
For latest slides and all the links http://blogs.msdn.com/ukisvdev
For more resources and information http://bit.ly/startazure
 
Eric Nelson | ISV Application Architect | Microsoft UK
eric.nelson@microsoft.com | http://bit.ly/ericnelson | http://twitter.com/ericnel
Page 20
Appendix
Page 21
Azure Drive (X-Drive)
• Access to a Local Drive in Azure
• Enables existing applications using NTFS to easily migrate to the
cloud
• Essentially a Page Blob formatted as NTFS
– Remote Access via Page Blob Interface
• Durable NTFS volume [upto 1TB] for Windows Azure Applications
• Drives in the Cloud are only mountable by VMs within Cloud
– Mounted by one VM at a time for read/write
– A VM can dynamically mount up to 16 drives
Page 22
Page Blob
Azure
Drive
Local Cache
Application
Drive
X:
Azure Drive - Scenario
• The Application Mounts a Drive
• Mount obtains a Blob Lease
• Mount specifies size of Local Cache
• NTFS Writes update the
– Blob Store & then the Local Cache
• NTFS Reads can be served from
– Local Cache or
– Blob Store (cache miss)Lease
Page 23
Azure Table and SQL Azure Table
Feature Azure Table SQL Azure Table
Partitioning
& Scale
Implicit based on Partition Key Explicitly managed by the Application
(Sharding – future feature)
Index
Capabilities
Table indexed on Partition Key + Row
Key
0 Secondary Indexes
1 Clustered Index on any column
999 Secondary Indexes
Table Limits
Row Size – 1 MB
Column Limit – 255
Table Limit – 100TB
Row Size – 8MB
Column Limit – 1024
Table Limit - ~50GB
Transactions
Transactions on entities within partition
No Transactions across tables or
partitions
Up to 100 operations in a Transaction
Payload upto 4MB per Transaction
Fully compatible transactional semantics
with SQL Server.
No cross Database transactions
Consistency
Model
Transactionally Consistent Transactionally Consistent
Concurrency Single Optimistic Concurrency Strategy
Full range of isolation and concurrency
models as supported by RDBMS
Page 24
Azure Table and SQL Azure Table
Feature Azure Table SQL Azure
Data
Access
REST API, ADO .NET, Client Library SDK
Standard tools and APIs apply
SSMS, Visual Studio, ADO .NET, ODBC
Column
Types
Basic Types Usual SQL Server Data Types
Portability
Data portability coming with Windows Azure
Appliance
Data in SQL Azure similar to SQL Server
-Easy migration in and out of the cloud
-Use multi stream transfer to mitigate
network latency.
Queries
Upto 1000 entities [token pagination]
Beyond 5 sec – return continuation token
Queries by partition & row key are fast
No Custom Indexes Today
Non key queries are scans
Query capabilities as per standard SQL
Server database expectations
Offer Server Side Processing through
Stored Procedures and Complex
Queries
(Aggregation, Joins, Sorts, Filters, etc.)
Page 25
Bringing it all together
Azure AccountAzure Account
Subscription 1 Subscription 2
SQL Azure
App Fabric
Subscription 3
Market
Place
Windows
Azure
SQL Azure
Server
Storage
Hosted
Services
DB DB
http://yourstorage1.X
XX.core.windows.net/
http://yourstorage2.X
XX.core.windows.net/
BlobQueue Table Drive
…..
Single Billing
Relationship
http://yourapp1.clou
dapp.net
http://yourapp2.clou
dapp.net
Worker
Role
Web Role

Windows Azure Platform in 30mins by ericnel

  • 1.
    Technology Drill Down: WindowsAzure Platform Eric Nelson | ISV Application Architect | Microsoft UK eric.nelson@microsoft.com | http://bit.ly/ericnelson | http://twitter.com/ericnel
  • 2.
    Page 2 Assumption • Mostof you are pretty new to the Windows Azure Platform • If you are not, check out: – http://bit.ly/azuretrenchesbookvol1 – http://ukazure.ning.com/events
  • 3.
    Page 3 Agenda Overviewof the Windows Azure Platform • Overview of the platform • Compute • Data Summary and Next Steps
  • 4.
  • 5.
    Page 5 Windows AzurePlatform makes it easy and cost effective to run your applications and store your data inside Microsoft Data Centres using existing skills and integrate with your existing on-premise applications
  • 6.
  • 7.
    Page 7 You domost of your development locally
  • 8.
    Page 8 Your coderuns in Hosted Services made up of Roles
  • 9.
    Page 9 Your Rolesare code + configuration
  • 10.
    Page 10 You choosewhich type(s) of Role to run your code in
  • 11.
    Page 11 Load Balancer At runtimeyou can have multiple instances of your Roles http://yourapp.cloudapp.nethttp://yourapp.cloudapp.net
  • 12.
    Page 12 You storeyour data in Windows Azure Storage
  • 13.
    Page 13 And/or youstore your data in SQL Azure
  • 14.
  • 15.
    Page 15 You havemany choices for data Relational Database Structured Storage Unstructured Storage NTFS Drive Service Communication
  • 16.
    Page 16 Side bySide Evaluation   Single Blob Drive Queue Table Single SQL Azure Database Structured Data Y Y Relational Database Y Server Side Processing Y Direct Access from outside Azure Y Y Y Y Messaging Infrastructure Y Persistent Storage Y Y 1 week Y Y Size Limit 200 GB/ 1 TB 1 TB 100 TB 100 TB 50 GB (*)
  • 17.
  • 18.
    Page 18 Summary • Veryeasy to get going… but lots to learn • Plenty of early adopters, therefore – Good best practice are now appearing – Plenty of detail to dig into • Lots more coming
  • 19.
    Page 19 NEXT STEPS Forlatest slides and all the links http://blogs.msdn.com/ukisvdev For more resources and information http://bit.ly/startazure   Eric Nelson | ISV Application Architect | Microsoft UK eric.nelson@microsoft.com | http://bit.ly/ericnelson | http://twitter.com/ericnel
  • 20.
  • 21.
    Page 21 Azure Drive(X-Drive) • Access to a Local Drive in Azure • Enables existing applications using NTFS to easily migrate to the cloud • Essentially a Page Blob formatted as NTFS – Remote Access via Page Blob Interface • Durable NTFS volume [upto 1TB] for Windows Azure Applications • Drives in the Cloud are only mountable by VMs within Cloud – Mounted by one VM at a time for read/write – A VM can dynamically mount up to 16 drives
  • 22.
    Page 22 Page Blob Azure Drive LocalCache Application Drive X: Azure Drive - Scenario • The Application Mounts a Drive • Mount obtains a Blob Lease • Mount specifies size of Local Cache • NTFS Writes update the – Blob Store & then the Local Cache • NTFS Reads can be served from – Local Cache or – Blob Store (cache miss)Lease
  • 23.
    Page 23 Azure Tableand SQL Azure Table Feature Azure Table SQL Azure Table Partitioning & Scale Implicit based on Partition Key Explicitly managed by the Application (Sharding – future feature) Index Capabilities Table indexed on Partition Key + Row Key 0 Secondary Indexes 1 Clustered Index on any column 999 Secondary Indexes Table Limits Row Size – 1 MB Column Limit – 255 Table Limit – 100TB Row Size – 8MB Column Limit – 1024 Table Limit - ~50GB Transactions Transactions on entities within partition No Transactions across tables or partitions Up to 100 operations in a Transaction Payload upto 4MB per Transaction Fully compatible transactional semantics with SQL Server. No cross Database transactions Consistency Model Transactionally Consistent Transactionally Consistent Concurrency Single Optimistic Concurrency Strategy Full range of isolation and concurrency models as supported by RDBMS
  • 24.
    Page 24 Azure Tableand SQL Azure Table Feature Azure Table SQL Azure Data Access REST API, ADO .NET, Client Library SDK Standard tools and APIs apply SSMS, Visual Studio, ADO .NET, ODBC Column Types Basic Types Usual SQL Server Data Types Portability Data portability coming with Windows Azure Appliance Data in SQL Azure similar to SQL Server -Easy migration in and out of the cloud -Use multi stream transfer to mitigate network latency. Queries Upto 1000 entities [token pagination] Beyond 5 sec – return continuation token Queries by partition & row key are fast No Custom Indexes Today Non key queries are scans Query capabilities as per standard SQL Server database expectations Offer Server Side Processing through Stored Procedures and Complex Queries (Aggregation, Joins, Sorts, Filters, etc.)
  • 25.
    Page 25 Bringing itall together Azure AccountAzure Account Subscription 1 Subscription 2 SQL Azure App Fabric Subscription 3 Market Place Windows Azure SQL Azure Server Storage Hosted Services DB DB http://yourstorage1.X XX.core.windows.net/ http://yourstorage2.X XX.core.windows.net/ BlobQueue Table Drive ….. Single Billing Relationship http://yourapp1.clou dapp.net http://yourapp2.clou dapp.net Worker Role Web Role

Editor's Notes

  • #17 http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx
  • #26 http://yourstorage1.table.core.windows.net/