1. Introduction to SQL Azure
{GET DATE – 30/03/2010}
{WHERE – Gdańsk, Restauracja ESTRAGON}
{AUDIENCE TYPE – SQL Server 2008 R2 Launch}
2. {get: BIO}
• związany z informatyką od dwunastu lat
• kilkuletnie doświadczenie w informatyce bankowej *Zorba, AS/400, ICBS, BTeller+
• od ponad czterech lat pracuje w dużej spółce informatycznej
• na co dzieo interesujący się MOSS, Disaster Recovery, High Availibility, wirtualizacją,
bezpieczeostwem fizycznym, tworzeniem procedur bezpieczeostwa, umowami SLA, ISO
• konsultant i wdrożeniowiec przy projektach audytów licencyjnych, systemów
procedur bezpieczeostwa i operacyjnych, wdrożeniach platformy SharePoint,
• uczestnik kilku programów Microsoft: Connect, Community Leadership Programm,
ITPro Momentum, VS2010 Terminology Community, Windows 7 Beta, Desktop
Deployment Planning Service, New Efficiency Program, Subject Matter Expert
• lider wrocławskiej grupy PLSSUG
• prelegent na spotkaniach społeczności
• Microsoft System Center Influencer
• Członek Technical Support Team w GITCA (wcześniej Culminis) odpowiedzialny za
rejon EMEA, APAC, NORAM, LATAM
• Członek PASS programm Committee for 2010
• autor kilku artykułów technicznych i współpracownik wydawnictwa aPress
• właściciel kilku blogów (w tym dwóch specjalizowanych)
3
3. {get: CERT}
Posiadane certyfikacje:
•Microsoft Certified Professional
•Microsoft Certified System Administrator
•Microsoft Certified Technology Specialist
•Windows 2008 Server Application Configuring
•Windows 2008 Server Infrastructure Configuring
•Windows 2008 server Active directory Configuring
•Microsoft Certified IT Professional
•Windows 2008 Server Administrator
•Microsoft Licensing Specialist
•Microsoft Lite Licensing Sales Specialist
•Microsoft Small Business Specialist
•Microsoft Office Sales Specialist 2003/2007
•Avocent Technical Support
•Novell System Administrator
4
4. Data Platform: Device to Cloud
RDBMS
Protection Mining Sync Reporting
Caching Load
Service Analysis Query Integration Search
Backup
Model & policy based development and management
Type In Multi Relational XML File
Memory Dim BLOB
Place
5
5. Reporting Business Analytics Data Sync
• The Power of the SQL Data Platform in the cloud
• Leverages existing skills and rich tooling ecosystem
• Enables database applications with new, “cloud” capabilities
6. SQL Azure Database
Highly scaled out relational database as a service
Relational database service
Browser
• SQL Server technology foundation
• Highly symmetrical
SOAP/REST ADO.NET/REST - EDM
HTTP/S HTTP/S • Highly scaled
• Highly secure
App Code
(ASP.NET)
Database “as a Service” – beyond hosting
SQL Server Report Server
Windows Azure
Compute
(on-premises)
Customer Value Props
T-SQL (TDS) T-SQL (TDS) Self-provisioning and capacity on demand
SQL Azure Symmetry w/ on-premises database platform
Database MS Automatic high-availability and fault-tolerance
Datacenter
Automated DB maintenance (infrastructure)
Simple, flexible pricing – “pay as you grow”
- AD Federation (LiveId /AppFabric AC)
7. Database Choices
• Value Props:
•
Value Props:
•
•
Roll-your-own HA/DR/scale •
Dedicated
On-premise
•
Value Props:
•
Resources
•
•
•
•
• Hosted
•
SQL Azure (RDBMS) •
• •
•
•
Shared
Low “Friction”/Control High
SQL Azure V1 targets scenarios that live in the lower left quadrant
8
8. Scenarios for V1
• Departmental Applications
‒ Simple application built by individual or department
‒ Need simple deployment, self-management, IT: “Empowerment and
Governance”
• Web Applications
‒ Small business or startup that uses the cloud as their IT
‒ Simple deployment, self-management, scale on demand
• ISV
‒ ISV hosting software on behalf of customer
‒ Multi-tenant support for billing and isolation
• Data Hub (Shortly After V1)
‒ Sharing and aggregating of data across tiers and across enterprises
‒ Centralized place for data, high scale, sync with existing data sources
9
9. V1 Application Topologies
SQL Azure access from within MS Datacenter SQL Azure access from outside MS Datacenter
(Azure compute – ADO.NET) (On-premises – ADO.NET)
Application/
Browser App Code
/ Tools
SOAP/REST ADO.NET Data Svcs/REST - EF
HTTP/S HTTP/S
App Code
(ASP.NET)
Windows Azure
T-SQL (TDS)
T-SQL (TDS)
SQL Data
SQL Data MS Services MS
Services Datacenter Datacenter
Code Near Code Far
10
10. Service Provisioning Model
• Each account has zero or more servers
Account ‒ Azure wide, provisioned in a common portal
‒ Billing instrument
• Each server has one or more databases
‒ Contains metadata about the databases and usage
‒ Unit of authentication
Server ‒ Unit of Geo-location
‒ Generated DNS based name
• Each database has standard SQL objects
‒ Unit of consistency
‒ Unit of multi-tenancy
Database ‒ Contains Users, Tables, Views, Indices, etc.
‒ Most granular unit of billing
11
11. Architecture
• Shared infrastructure at SQL database and below
‒ Request routing, security and isolation
• Scalable HA technology provides the glue
‒ Automatic replication and failover
• Provisioning, metering and billing infrastructure
SDS Provisioning (databases, accounts, roles, …, Metering, and Billing
Machine 4 Machine 5 Machine 6
SQL Instance SQL Instance SQL Instance
SQL DB SQL DB SQL DB
User User User User User User User User User User User User
DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
12
12. SQL Azure
Deployment
Web Portal
(API)
DB
Script
SQL Azure
TDS
13
13. SQL Azure
Accessing databases
Web Portal
(API)
Your SQL Azure
App TDS
Change Connection String
14
15. Shared Environment
C
D
A B D
Hardware Boundary Hardware Boundary
C C
A B
A B D
Hardware Boundary Hardware Boundary
16
16. SQL Azure
Database Monitoring & Recovery
Web
Portal
(API)
Your
App
!
SQL Azure
TDS
17
17. Programming Model
• Small Data Sets
‒ Use a single database
‒ Same model as on premise SQL Server
• Large Data Sets and/or Massive Throughput
‒ Partition data across many databases
‒ Use parallel fan-out queries to fetch the data
‒ Application code must be partition aware in v1
‐ For v1 will publish best practices for scale out
‐ Post-v1 we are looking at building an abstraction to hide some of
the complexities of partitioning
18. Sharding Databases
• 1 x 10GB database
‒ 1 Instances
• 10 x 1GB databases
‒ 10 Instances
19
20. Compatibility Goals
• Support common application patterns
• Logical/policy based administration
• Patterns work from SQL Server to SQL Azure
• Multi-tenancy considerations
‒ Throttling and load balancing
‒ Limits on DB size, transaction duration, …
V1: Address the needs of the majority of web and
departmental application
21
21. Sample of SQL Compatibility
In Scope for v1 Out of Scope for v1
• Tables, indexes and views • Distributed Transactions
• Stored Procedures • Distributed Query
• Triggers • CLR
• Constraints • Service Broker
• Table variables, • Spatial
session temp tables (#t) • Physical server or catalog DDL
• … and views
22
22. Connection Model
• Use existing client libraries
‒ ADO.NET, ODBC, PHP
• Client libraries pre-installed in Azure roles
• Support for ASP.NET controls
• Clients connect directly to a database
‒ Cannot hop across DBs (no USE)
23
23. Logical vs. Physical Administration
• SQL Azure focus on logical administration
‒ Schema creation and management
‒ Query optimization
‒ Security management (Logins, Users, Roles)
• Service handles physical management
‒ Automatically replicated with HA “out of box”
‒ Transparent failover in case of failure
‒ Load balancing of data to ensure SLA
DBA role places more focus on logical management
24
24. Deployment
• Support for basic deployment options
‒ SQL scripts work (but not attach database)
• Geo-location of Windows Azure compute and SQL Azure
Databases
• Support for Application and multi-server management
model
‒ Support for application packages
‒ Cloud or on-premise is a deployment time choice
‒ Visibility of data across on-premise and the cloud
Support existing and new forms of deployment
25
25. Security Model
• Uses regular SQL security model
‒ Authenticate logins, map to users and roles
‒ Authorize users and roles to SQL objects
• Support for standard SQL Auth logins
‒ Username + password
• Future AD Federation, WLID, etc as alternate authentication
protocols
Security model is 100% compatible with on-premise SQL
26
26. Pricing
Web Edition Business Edition
• 1 GB Database • 10GB Database
• $9.99 / month • $99.99 / month
• Bandwidth • Bandwidth
‒$0.10 /GB inbound ‒$0.10 /GB inbound
‒$0.15 /GB outbound ‒$0.15 /GB outbound
• Specified by MAXSIZE on CREATE DATABASE command or portal
• Billing granularity is the day
• Monthly billing period
27
27. Platform Readiness (EHA)
• Exchange Hosted Archive (EHA) is high scale archival service
• Runs on SQL Azure infrastructure
‒ In production prior to SQL Azure v1
• Rebuilt to address cost and scale issues
http://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) Better query performance for fan-out
More self-managing (e.g. fault-tolerance) Faster provisioning of new customers
28
28. SQL Azure
Opportunities and Futures
• Partitioned databases
• Geo-location and geo-redundancy
• Distributed query
• Security w/AD, WLID, etc
• Support for multiple levels of hardware and software
isolation
29
29. PDC 2009 1/1/2010 2/1/2010
Ready for Go-Live Start Billing End Free Period
• South Central USA
Global • North Central USA (Dec-2009)
Availability • Southeast Asia
• North Europe
Service
Update
30
30. Key Takeaways
• SQL Azure available now
• 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
31. Want to Know More?
• Windows Azure Platform
http://www.azure.com/
• MSDN Development Center
http://msdn.microsoft.com/en-us/sqlserver/dataservices
• Team Blog
http://blogs.msdn.com/sqlazure
• Windows Azure Platform Training Kit
http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-
4A83-B309-53B7B77EDF78&displaylang=en
32
32. www.sqlpass.org
www.sqlpass.org/PASSChapters
www.sqlpass.org/getchapterinfo
www.sqlpass.org/na2010
Follow / Join us online: Twitter @sqlpass #sqlpass, LinkedIn group, Facebook group
33. Dziękuję za uwagę, proszę o ocenę mojej sesji
PYTANIA PO SESJI / KONTAKT:
MAIL: KoprowskiT@windowslive.com | MSG: KoprowskiT@windowslive.com
JABBER: KoprowskiT@alfa.incenti.net.pl | SKYPE: tjkoprowski (niezmiernie rzadko)
TWITTER/FACEBOOK/LINKEDIN: KoprowskiT
BLOGI:
ITPRO Anorak’s Vision: http://itblogs.pl/blogs/notbeautifulanymore/default.aspx [PL]
Volume Licensing Specialites: http://volumelicensingspecialites.wordpress.com [PL]
Anorak’s Influence View: http://anorakinfluenceview.wordpress.com [EN]
STRONY:
Społeczności IT: http://www.ms-groups.pl | CodeGuru: http://www.codeguru.pl
Virtual Study Portal: http://www.virtualstudy.pl | Windows Server System: http://www.wss.pl
Global IT Community Association: http://www.gitca.org
Polish SQL Server User Group: http://www.plssug.org.pl