David Robinson Senior Program Manager Microsoft DAT303 Building Applications with SQL Azure and Windows Azure Session Agenda Introduction to SQL Azure SQL Azure Architecture SQL Azure Application Architectures Scaling.

Download Report

Transcript David Robinson Senior Program Manager Microsoft DAT303 Building Applications with SQL Azure and Windows Azure Session Agenda Introduction to SQL Azure SQL Azure Architecture SQL Azure Application Architectures Scaling.

David Robinson
Senior Program Manager
Microsoft
DAT303
Building Applications with SQL Azure and
Windows Azure
Session Agenda
Introduction to SQL Azure
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)
Key differentiator for SQL Server platform
SQL Azure
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
 SaaS 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
Portal login using LiveID
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
V1: Address the needs of 95% or more web and
departmental application
Sample of SQL Compatibility
Included in v1
Tables, indexes and views
Stored Procedures
Triggers
Constraints
Table variables,
session temp tables (#t)
…
Out of Scope for v1
Distributed Transactions
Distributed Query
CLR
Service Broker
Spatial
Physical server or catalog DDL
and views
A lap around SQL Azure
SQL Azure Network Topology
Application
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
Gateway
Gateway
Gateway
Gateway
TDS (tcp: 1433)
Data Node
Data Node
Data Node
Data Node
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
SQL Azure access from outside MS Datacenter
(Azure compute – ADO.NET)
(On-premises – ADO.NET)
Application/ Browser
SOAP/REST
HTTP/S
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
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)
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 R2 is available today
SQL Azure Launch with Windows Azure
Nov 17th at PDC ‘09!
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
• ARC201 - 11/09/2009 09:00-10:15 [David Chappell]
The Windows Azure Platform: When And Why To Use It
• SVR202 - 11/10/2009 09:00-10:15 [Jan Schenk]
Windows Azure Flight Tour – Looking At The Clouds From Above
• INT305 - 11/10/2009 13:30-14:45 [Kurt Claeys]
Code Walkthrough of a Cloud Application Running on the Windows Azure Platform
• DAT303 - 11/11/2009 13:30-14:45 [David Robinson]
Building Applications with Microsoft SQL Azure and Windows Azure
• DEV304 - 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 CommNet and enter to
win an Xbox 360 Elite!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.