Building Applications with SQL Azure and Windows Azure
Building Applications with SQL Azure and Windows Azure David Robinson Senior Program Manager Microsoft DAT 303
Building Applications with SQL Azure and Windows Azure Session Agenda Introduction to SQL Azure Architecture SQL Azure Application Architectures Scaling out with SQL Azure
(Re) Introducing: SQL Azure Database What a long, strange trip it’s been… What SQL Azure is… A massively scaled, multi-tenant relational database service built on commodity hardware A symmetric extension to a uniquely powerful data platform What it isn’t… Database hosting Done
Extending SQL Data Platform to Cloud Relational Database service (Windows Azure Platform) SQL Azure Key differentiator for SQL Server platform SQL Azure Browser (Windows Azure Compute) SOAP/REST HTTP/S Astoria/REST - EDM HTTP/S App Code (ASP. NET) Windows Azure Compute T-SQL (TDS) SQL Azure T-SQL (TDS) MS Datacenter SQL Server Report Server (on-premises) High-Level Features Self-provisioning and capacity on demand Automatic high-availability Automated management (infrastructure) Symmetry with on-premises platform Simple, flexible pricing model – pay for what you use ü New, differentiated capabilities… ü ü ü Web & Departmental Applications ü Saa. S ISVs (SMB) ü Enterprise SIs & Internal MS Properties
SQL Azure Recap SQL Azure provides capacity on demand Create new server Create new database within existing server Server lifecycle controlled via Portal login using Live. ID Database lifecycle via TSQL Auth using ‘SQL login’ over TDS+SSL
The Microsoft Platform Stack OS Data Application Mobile Desktop Server Cloud
Compatibility Goals Support common application patterns Logical/policy based administration Patterns work for SQL Azure and SQL Server Multi-tenancy considerations Throttling and load balancing Limits on DB size, duration of transaction, etc V 1: Address the needs of 95% or more web and departmental application
Sample of SQL Compatibility Included in v 1 Tables, indexes and views Stored Procedures Triggers Constraints Table variables, session temp tables (#t) … Out of Scope for v 1 Distributed Transactions Distributed Query CLR Service Broker Spatial Physical server or catalog DDL and views
demo A lap around SQL Azure
SQL Azure Network Topology Applications use standard SQL client libraries: ODBC, ADO. Net, … TDS (tcp: 1433) Load Balancer Load balancer forwards ‘sticky’ sessions to TDS protocol tier TDS (tcp: 1433) Gateway Gateway TDS (tcp: 1433) Data Node Data Node Scalability and Availability: Fabric, Failover, Replication and Load balancing
Performance Considerations The distance your application travels to perform data access will affect performance
SQL Azure Application Architectures SQL Azure access from within MS Datacenter (Azure compute – ADO. NET) Application/ Browser SOAP/REST HTTP/S SQL Azure access from outside MS Datacenter (On-premises – ADO. NET) App Code / Tools ADO. NET Data Svcs/REST - EF HTTP/S App Code (ASP. NET) Windows Azure T-SQL (TDS) SQL Azure Code Near T-SQL (TDS) SQL Azure Code Far
Code Far Applications Data is typically located outside the firewall from where your application runs Design your application to handle latency Pre-fetch as much data as possible to provide a rich experience to your users Cache data locally
Code Near Architecture Application Code runs within the same network that your data resides on Windows Azure provides a scalable hosting and compute platform for hosting your applications SQL Azure and Windows Azure provide a “better together” experience
demo Code Near vs Code Far
Why scale your application Increase an application’s ability to process and store data Usually because of heavy resource consumption Increased workloads Increased CPU / IO requirements Increased storage requirements
Scale Out Patterns Multiple ‘standard’ scale out patterns Range – break range into chunks Ranges can be variable in size Good for range based queries Can suffer from hotspots depending on workload Hashing – apply hash to application workload Good for distributing values Poor for range queries (needs full fan-out)
demo Scaling out with SQL Azure
What Can I Do To Get Ready For SQL Azure? Register for CTP Access Consider where your Data Access will Live SQL Azure & Windows Azure – Better Together SQL Azure MSDN Developer Center Download Azure Platform Training Kit SQL Azure Team Blog Follow us on Twitter @SQLAzure
What Did We Learn? SQL Azure is real and in production Built using SQL Server 2008 codebase Delivery of rich relational database service – PDC ’ 09 Relational database is key capability of the Azure platform SQL Azure design and architecture supports a wide range of scenarios Scaling out provides unlimited capacity and better performance SSMS R 2 is available today
SQL Azure Launch with Windows Azure Nov 17 th at PDC ‘ 09!
question & answer
Resources www. microsoft. com/teched www. microsoft. com/learning Sessions On-Demand & Community Microsoft Certification & Training Resources http: //microsoft. com/technet http: //microsoft. com/msdn Resources for IT Professionals Resources for Developers
Related Content Breakout Sessions • ARC 201 - 11/09/2009 09: 00 -10: 15 [David Chappell] The Windows Azure Platform: When And Why To Use It • SVR 202 - 11/10/2009 09: 00 -10: 15 [Jan Schenk] Windows Azure Flight Tour – Looking At The Clouds From Above • INT 305 - 11/10/2009 13: 30 -14: 45 [Kurt Claeys] Code Walkthrough of a Cloud Application Running on the Windows Azure Platform • DAT 303 - 11/11/2009 13: 30 -14: 45 [David Robinson] Building Applications with Microsoft SQL Azure and Windows Azure • DEV 304 - 11/11/2009 15: 45 -17: 00 [Bhushan Nene; Grzegorz Gogolowicz] Deep Dive Into Developing Line-of-Business Applications Running In The Cloud
Track Resources Register for CTP Access SQL Azure MSDN Developer Center Download Azure Platform Training Kit SQL Azure Team Blog
Complete an evaluation on Comm. Net and enter to win an Xbox 360 Elite!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
- Slides: 28