SQL Azure

35
1 Introduction to SQL Azure Lynn Langit Microsoft – Developer Evangelist http://blogs.msdn.com/SoCalDevG al

description

presentation done at #CloudCampLA Oct 2009

Transcript of SQL Azure

Page 1: SQL Azure

1

Introduction to SQL Azure

Lynn LangitMicrosoft – Developer Evangelisthttp://blogs.msdn.com/SoCalDevGal

Page 2: SQL Azure

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

Page 3: SQL Azure

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

Page 4: SQL Azure

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

Page 5: SQL Azure

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

Page 6: SQL Azure

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

Page 7: SQL Azure

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

Page 8: SQL Azure

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

Page 9: SQL Azure

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

Page 10: SQL Azure

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

Page 11: SQL Azure

11

SQL AzureDeployment

Web Portal(API)

SQL AzureTDS

DB Script

Page 12: SQL Azure

12

SQL AzureAccessing databases

Web Portal(API)

SQL AzureTDS

Your App

Change Connection String

Page 13: SQL Azure

13

Database Replicas

Replica 1

Replica 2

Replica 3

DB

Single Database Multiple Replicas

Single Primary

Page 14: SQL Azure

14

Hardware Boundary

Hardware Boundary

Hardware Boundary

Hardware Boundary

Shared Environment

BC

D

A A

B

BC

CD

D

A

Page 15: SQL Azure

15

SQL AzureDatabase Monitoring & Recovery

Web Portal(API)

SQL AzureTDS

Your App

!

Page 16: SQL Azure

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

Page 17: SQL Azure

17

Sharding Databases

1 x 10GB database1 Instances

10 x 1GB databases10 Instances

Page 18: SQL Azure

18

SQL Tooling & Development

Demo

Page 19: SQL Azure

19

Managing your account

Page 20: SQL Azure

20

Viewing database information

Page 21: SQL Azure

21

Page 22: SQL Azure

22

Sample screen – requires VS2010

Page 23: SQL Azure

23

Page 24: SQL Azure

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

Page 25: SQL Azure

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

Page 26: SQL Azure

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)

Page 27: SQL Azure

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

Page 28: SQL Azure

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

Page 29: SQL Azure

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

Page 30: SQL Azure

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

Page 31: SQL Azure

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

Page 32: SQL Azure

32

SQL AzureOpportunities and Futures

Partitioned databasesGeo-location and geo-redundancyDistributed querySecurity w/AD, WLID, etcSupport for multiple levels of hardware and software isolation

Page 33: SQL Azure

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

Page 34: SQL Azure

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

Page 35: SQL Azure

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