Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK | |
Page 2 Assumption Most of you are pretty new to the Windows Azure Platform If you are not, check out: – –
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
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 BlobDriveQueueTable Single SQL Azure Database Structured DataYY Relational DatabaseY Server Side ProcessingY Direct Access from outside Azure YYYY Messaging InfrastructureY Persistent StorageYY1 weekYY Size Limit 200 GB/ 1 TB 1 TB100 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 For more resources and information Eric Nelson | ISV Application Architect | Microsoft UK | |
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 FeatureAzure TableSQL Azure Table Partitioning & Scale Implicit based on Partition KeyExplicitly 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 ConcurrencySingle Optimistic Concurrency Strategy Full range of isolation and concurrency models as supported by RDBMS
Page 24 Azure Table and SQL Azure Table FeatureAzure TableSQL Azure Data Access REST API, ADO.NET, Client Library SDK Standard tools and APIs apply SSMS, Visual Studio, ADO.NET, ODBC Column Types Basic TypesUsual 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 Account Subscription 1 Subscription 2 SQL Azure App Fabric Subscription 3 Market Place Windows Azure SQL Azure Server Storage Hosted Services DB XXX.core.windows.ne t/ XXX.core.windows.ne t/ Blob Queue Table Drive ….. Single Billing Relationship dapp.net dapp.net Worker Role Web Role