Upload
lynn-langit
View
9
Download
3
Embed Size (px)
DESCRIPTION
presentation done at #CloudCampLA Oct 2009
Citation preview
1
Introduction to SQL Azure
Lynn LangitMicrosoft – Developer Evangelisthttp://blogs.msdn.com/SoCalDevGal
2
Windows Azure PlatformCompute: Virtualized compute environment based on Windows Server
Storage: Durable, scalable, & available storage
Management: Automated, model-driven management of the service
Database: Relational processing for structured/unstructured data
Service Bus: General purpose application bus
Access Control: Rules-driven, claims-based access
control
3
Extending SQL Data Platform to Cloud
Initial ServicesDatabase – Core SQL Server database capabilities
Future ServicesData Sync – Enables the sync framework (soon after PDC)Additional SQL Server capabilities available as a service: Business Intelligence and ReportingNew services: Reference Data and Secure Data Hub
SQL Azure Database
Data SyncReference DataReporting Business
Intelligence
Symmetric Programming Model Data Hub Aggregation
4
Microsoft SQL Azure
Familiar SQL Server relational modelUses existing APIs & toolsFriction free provisioning and reduced managementBuilt for the Cloud with availability and scaleAccessible to all from PHP, Ruby, and Java
Clear Feedback: “I want a database in the Cloud”
Focus on combining the best features of SQL Server running at scale with low friction
5
The Evolution of SQL Azure
Evol
ves
SQL Azure
TDS + TSQL Model
Web App
SQL Client*
Windows Azure
BrowserApplication
Application
REST Client
REST (Astoria)
ADO.Net + EF
Application
SQL Client*
Cloud
HTT
P
HTT
P+RE
ST
TDS
* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
Dat
a Ce
nter
ODBC, OLEDB, ADO.Net PHP, Ruby, …
OLD SDS
REST/SOAP + ACE Model
Web App
REST Client
Windows Azure
BrowserApplication
Application
REST Client
HTT
P
HTT
P+RE
ST
Dat
a Ce
nter
Cloud
6
Database ChoicesRe
sour
ces
Dedicated
Shared
Low High“Friction”/Control
SQL Azure (RDBMS)
Value Props:Auto HA, Fault-ToleranceFriction-free scaleSelf-provisioningHigh compatibility
Virtual DB serverResource governance @ LDB Security @ LDB
Hosted Hosted SQL Server or other Resource governance @ VM Security @ DB Server/OS
On-premise SQL Server or other s/w on-premise Resource governance @ machine Security @ DB Server/OS
Value Props:Full h/w control – size/scale100% compatibilityRoll-your-own HA/DR/scale
Value Props:100% of API surface area
Roll-your-own HA/DR/scale
SQL Azure V1 targets scenarios that live in the lower left quadrant
7
Scenarios for V1Departmental Applications
Simple application built by individual or departmentNeed simple deployment, self-management, IT: “Empowerment and Governance”
Web ApplicationsSmall business or startup that uses the cloud as their ITSimple deployment, self-management, scale on demand
ISVISV hosting software on behalf of customerMulti-tenant support for billing and isolation
Data Hub (Shortly After V1)Sharing and aggregating of data across tiers and across enterprisesCentralized place for data, high scale, sync with existing data sources
8
V1 Application Topologies
MSDatacenter
SOAP/RESTHTTP/S
SQL Azure access from within MS Datacenter (Azure compute – ADO.NET)
Windows Azure
T-SQL (TDS)
MSDatacenter
T-SQL (TDS)
App Code / Tools
SQL Azure access from outside MS Datacenter (On-premises – ADO.NET)
App Code(ASP.NET)
ADO.NET Data Svcs/REST - EFHTTP/S
Code Far
SQL Data Services
SQL Data Services
Application/ Browser
Code Near
9
Service Provisioning Model
Each account has zero or more serversAzure wide, provisioned in a common portalBilling instrument
Each server has one or more databasesContains metadata about the databases and usageUnit of authenticationUnit of Geo-locationGenerated DNS based name
Each database has standard SQL objectsUnit of consistencyUnit of multi-tenancyContains Users, Tables, Views, Indices, etc.Most granular unit of billing
Account
Server
Database
10
ArchitectureShared infrastructure at SQL database and below
Request routing, security and isolationScalable HA technology provides the glue
Automatic replication and failoverProvisioning, metering and billing infrastructure
Machine 5SQL Instance
SQL DBUserDB1
UserDB2
UserDB3
UserDB4
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
SDS Provisioning (databases, accounts, roles, …, Metering, and Billing
Machine 6SQL Instance
SQL DBUserDB1
UserDB2
UserDB3
UserDB4
Machine 4SQL Instance
SQL DBUserDB1
UserDB2
UserDB3
UserDB4
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
11
SQL AzureDeployment
Web Portal(API)
SQL AzureTDS
DB Script
12
SQL AzureAccessing databases
Web Portal(API)
SQL AzureTDS
Your App
Change Connection String
13
Database Replicas
Replica 1
Replica 2
Replica 3
DB
Single Database Multiple Replicas
Single Primary
14
Hardware Boundary
Hardware Boundary
Hardware Boundary
Hardware Boundary
Shared Environment
BC
D
A A
B
BC
CD
D
A
15
SQL AzureDatabase Monitoring & Recovery
Web Portal(API)
SQL AzureTDS
Your App
!
Programming Model
Small Data SetsUse a single databaseSame model as on premise SQL Server
Large Data Sets and/or Massive ThroughputPartition data across many databasesUse parallel fan-out queries to fetch the dataApplication code must be partition aware in v1
For v1 will publish best practices for scale outPost-v1 we are looking at building an abstraction to hide some of the complexities of partitioning
17
Sharding Databases
1 x 10GB database1 Instances
10 x 1GB databases10 Instances
18
SQL Tooling & Development
Demo
19
Managing your account
20
Viewing database information
21
22
Sample screen – requires VS2010
23
24
Compatibility Goals
Support common application patternsLogical/policy based administrationPatterns work from SQL Server to SQL AzureMulti-tenancy considerations
Throttling and load balancingLimits on DB size, transaction duration, …
V1: Address the needs of the majority of web and departmental application
25
Sample of SQL Compatibility
In Scope for v1Tables, indexes and viewsStored ProceduresTriggersConstraintsTable variables, session temp tables (#t)…
Out of Scope for v1Distributed TransactionsDistributed QueryCLRService BrokerSpatialPhysical server or catalog DDL and views
26
Connection Model
Use existing client librariesADO.NET, ODBC, PHP
Client libraries pre-installed in Azure rolesSupport for ASP.NET controlsClients connect directly to a database
Cannot hop across DBs (no USE)
27
Logical vs. Physical Administration
SQL Azure focus on logical administrationSchema creation and managementQuery optimizationSecurity management (Logins, Users, Roles)
Service handles physical managementAutomatically replicated with HA “out of box”Transparent failover in case of failureLoad balancing of data to ensure SLA
DBA role places more focus on logical management
28
DeploymentSupport for basic deployment options
SQL scripts work (but not attach database)Geo-location of Windows Azure compute and SQL Azure DatabasesSupport for Application and multi-server management model
Support for application packagesCloud or on-premise is a deployment time choiceVisibility of data across on-premise and the cloud
Support existing and new forms of deployment
29
Security Model
Uses regular SQL security modelAuthenticate logins, map to users and rolesAuthorize users and roles to SQL objects
Limited to standard SQL Auth loginsUsername + password
Future AD Federation, WLID, etc as alternate authentication protocols
Security model is 100% compatible with on-premise SQL
30
Pricing
Web Edition1 GB Database$9.99 / monthBandwidth
$0.10 /GB inbound$0.15 /GB outbound
Business Edition10GB Database$99.99 / monthBandwidth
$0.10 /GB inbound$0.15 /GB outbound
Specified by MAXSIZE on CREATE DATABASE command or portal (post-CTP1)Can NOT switch betweenen Web and Business EditionsMonthly billing period
31
Platform Readiness (EHA)
Exchange Hosted Archive (EHA) is high scale archival serviceRuns on SQL Azure infrastructure
In production prior to SQL Azure v1Rebuilt to address cost and scale issueshttp://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000003098
Reduced COGS with increased customer and business benefit: Larger scale (e.g. larger customers ~20TB+ each) More self-managing (e.g. fault-tolerance)
Better query performance for fan-out Faster provisioning of new customers
32
SQL AzureOpportunities and Futures
Partitioned databasesGeo-location and geo-redundancyDistributed querySecurity w/AD, WLID, etcSupport for multiple levels of hardware and software isolation
33
Release Plan
SQL Azure Early Adopters CTP – On-board invitation-only early adoptersSQL Azure CTP - Register for an invitation code
Commercial Availability with Windows Azure in 2009
Sign up for our CTP: http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx
MIX ‘09 TechEd WWPC
SQL Azure CTP
Commercial Availability (V1)
Mar 09 May 09 Jul 09 Nov 09Sep 09Apr 09 Jun 09 Aug 09 Oct 09
PDC
InternalAdoption
SQL Azure Early Adopters
WWPC
Key Takeaways
SQL Azure available – PDC ’09
Integrated part of the SQL Data Platform
Leverage you existing SQL Server knowledge and tools
SQL Azure is the data platform of the Windows Azure Platform
35
Want to Know More?Windows Azure Platformhttp://www.azure.com/
Windows Azure Platform Training Kithttp://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en
MSDN Development Centerhttp://msdn.microsoft.com/en-us/sqlserver/dataservices
Team Bloghttp://blogs.msdn.com/ssds