Training Workshop Windows Azure Platform
Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers & Architects Objectives (what do you want the audience to take away): Understand what SQL Azure is Take next steps Presentation Outline: Setting Context Value Proposition and Scenarios Concepts and Architecture Demo Abilities Wrap up
3 Introduction to SQL Azure Name Title Organization
4 PlacePlace TypeType ServiceService Data Platform: Device to Cloud Analysis Caching Integration Sync Search Relational BLOB Query BackupLoad Multi Dim In Memory File XML Reporting MiningProtection RDBMS Model & policy based development and management
Business Analytics Reporting 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
SQL Azure Database Customer Value Props Self-provisioning and capacity on demand Symmetry w/ on-premises database platform Automatic high-availability and fault-tolerance Automated DB maintenance (infrastructure) Simple, flexible pricing – “pay as you grow” MS Datacenter MS Datacenter Windows Azure Compute Windows Azure Compute Browser SOAP/REST HTTP/S T-SQL (TDS) App Code (ASP.NET) SQL Server Report Server (on-premises) ADO.NET/REST - EDM HTTP/S - AD Federation (LiveId /AppFabric AC) SQL Azure Database SQL Azure Database T-SQL (TDS) Relational database service SQL Server technology foundation Highly symmetrical Highly scaled Highly secure Database “as a Service” – beyond hosting Highly scaled out relational database as a service
7 The Evolution of SQL Azure Evolves SQL Azure TDS + TSQL Model Web App SQL Client * Windows Azure Browser Application Application REST Client REST (Astoria) ADO.Net + EF Application SQL Client * Cloud HTTP HTTP+REST TDS * Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, … Data Center ODBC, OLEDB, ADO.Net PHP, Ruby, … OLD SDS REST/SOAP + ACE Model Web App REST Client Windows Azure Browser Application Application REST Client HTTP HTTP+REST Data Center Cloud
8 Database Choices Resources Dedicated Shared Low High “Friction”/Control SQL Azure (RDBMS) Hosted On-premise
9 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
10 V1 Application Topologies MS Datacenter SOAP/REST HTTP/S SQL Azure access from within MS Datacenter (Azure compute – ADO.NET) Windows Azure T-SQL (TDS) MS Datacenter 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 - EF HTTP/S Code Far SQL Data Services Application/ Browser Code Near
11 Service Provisioning Model Each account has zero or more servers 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 Unit of Geo-location Generated DNS based name Each database has standard SQL objects Unit of consistency Unit of multi-tenancy Contains Users, Tables, Views, Indices, etc. Most granular unit of billing Account Account Server Server Database Database
12 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 Machine 5 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Scalability and Availability: Fabric, Failover, Replication, and Load balancing SDS Provisioning (databases, accounts, roles, …, Metering, and Billing Machine 6 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Machine 4 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Scalability and Availability: Fabric, Failover, Replication, and Load balancing
13 SQL Azure Deployment Web Portal (API) (API) SQL Azure TDS SQL Azure TDS DB Script
14 SQL Azure Accessing databases Web Portal (API) (API) SQL Azure TDS SQL Azure TDS Your App Change Connection String
15 Database Replicas Replica 1 Replica 2 Replica 3 DB
16 Hardware Boundary Shared Environment B B C C D D A A A A B B B B C C C C D D D D A A
17 SQL Azure Database Monitoring & Recovery Web Portal (API) (API) SQL Azure TDS SQL Azure TDS Your App !
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
19 Sharding Databases 1 x 10GB database 1 Instances 10 x 1GB databases 10 Instances
20 SQL Tooling & Development
21 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
22 Sample of SQL Compatibility In Scope for 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
23 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)
24 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
25 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
26 Security Model Uses regular SQL security model Authenticate logins, map to users and roles Authorize users and roles to SQL objects Limited to standard SQL Auth logins Username + password Future AD Federation, WLID, etc as alternate authentication protocols Security model is 100% compatible with on-premise SQL
27 Pricing Web Edition 1 GB Database $9.99 / month Bandwidth $0.10 /GB inbound $0.15 /GB outbound Business Edition 10GB Database $99.99 / month Bandwidth $0.10 /GB inbound $0.15 /GB outbound Specified by MAXSIZE on CREATE DATABASE command or portal Can NOT switch betweenen Web and Business Editions Monthly billing period
28 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 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
29 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
30 Release Plan SQL Azure Early Adopters CTP – On-board invitation-only early adopters SQL Azure CTP - Register for an invitation code Commercial Availability with Windows Azure in 2009 Sign up for our CTP: MIX ‘09TechEdWWPC SQL Azure CTP Commercial Availability (V1) Mar 09May 09Jul 09Nov 09Sep 09Apr 09Jun 09Aug 09Oct 09 PDC Internal Adoption SQL Azure Early Adopters WWPC
31 South Central USA North Central USA (Dec-2009) Southeast Asia North Europe South Central USA North Central USA (Dec-2009) Southeast Asia North Europe Global Availability
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
33 Want to Know More? Windows Azure Platform Windows Azure Platform Training Kit 13E88F A83-B309-53B7B77EDF78&displaylang=en 13E88F A83-B309-53B7B77EDF78&displaylang=en MSDN Development Center Team Blog
34 © 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.