Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SQL Azure


Published on

presentation done at #CloudCampLA Oct 2009

Published in: Technology
  • Be the first to comment

SQL Azure

  1. 1. Introduction to SQL Azure<br />Lynn Langit<br />Microsoft – Developer Evangelist<br />
  2. 2. Windows Azure Platform<br />Compute:Virtualized compute environment based on Windows Server<br />Storage: Durable, scalable, & available storage<br />Management: Automated, model-driven management of the service<br />Database:Relational processing for structured/unstructured data<br />Service Bus: General purpose application bus<br />Access Control: Rules-driven, claims-based access control<br />
  3. 3. Extending SQL Data Platform to Cloud<br />Reference Data<br />Business Intelligence<br />Data Sync<br />Reporting<br />SQL Azure Database<br />Symmetric Programming Model<br />Data Hub Aggregation<br />Initial Services<br />Database – Core SQL Server database capabilities <br />Future Services<br />Data Sync – Enables the sync framework (soon after PDC)<br />Additional SQL Server capabilities available as a service: Business Intelligence and Reporting<br />New services: Reference Data and Secure Data Hub<br />
  4. 4. Microsoft SQL Azure<br />Clear Feedback: “I want a database in the Cloud”<br />Familiar SQL Server relational model<br />Uses existing APIs & tools<br />Friction free provisioning and reduced management<br />Built for the Cloud with availability and scale<br />Accessible to all from PHP, Ruby, and Java<br />Focus on combining the best features of SQL Server running at scale with low friction<br />
  5. 5. The Evolution of SQL Azure<br />Evolves<br />BrowserApplication<br />Application<br />Application<br />BrowserApplication<br />Application<br />ODBC, OLEDB, ADO.Net PHP, Ruby, …<br />REST Client<br />SQL Client*<br />REST Client<br />Cloud<br />Cloud<br />Windows Azure<br />REST (Astoria)<br />Web App<br />ADO.Net + EF<br />REST Client<br />HTTP+REST<br />HTTP+REST<br />HTTP<br />TDS<br />HTTP<br />Windows Azure<br />Web App<br />SQL Client*<br />Data Center<br />Data Center<br />TDS + TSQL Model<br />REST/SOAP + ACE Model<br />SQL Azure<br />OLD SDS<br />* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …<br />
  6. 6. Database Choices<br />Value Props:<br />Full h/w control – size/scale<br />100% compatibility<br />Roll-your-own HA/DR/scale<br />Value Props:<br />100% of API surface area<br />Roll-your-own HA/DR/scale<br />Dedicated<br />On-premise<br /> SQL Server or other s/w on-premise<br /> Resource governance @ machine<br /> Security @ DB Server/OS<br />Value Props:<br />Auto HA, Fault-Tolerance<br />Friction-free scale<br />Self-provisioning<br />High compatibility<br />Resources<br />Hosted<br /> Hosted SQL Server or other<br /> Resource governance @ VM<br /> Security @ DB Server/OS<br />SQL Azure (RDBMS)<br />Virtual DB server<br />Resource governance @ LDB<br /> Security @ LDB<br />Shared<br />Low<br />“Friction”/Control<br />High<br />SQL Azure V1 targets scenarios that live in the lower left quadrant<br />
  7. 7. Scenarios for V1<br />Departmental Applications<br />Simple application built by individual or department<br />Need simple deployment, self-management, IT: “Empowerment and Governance”<br />Web Applications<br />Small business or startup that uses the cloud as their IT<br />Simple deployment, self-management, scale on demand<br />ISV<br />ISV hosting software on behalf of customer<br />Multi-tenant support for billing and isolation<br />Data Hub (Shortly After V1)<br />Sharing and aggregating of data across tiers and across enterprises<br />Centralized place for data, high scale, sync with existing data sources<br />
  8. 8. V1 Application Topologies<br />SQL Azure access from outside MS Datacenter <br />(On-premises – ADO.NET)<br />SQL Azure access from within MS Datacenter <br />(Azure compute – ADO.NET)<br />Application/ <br />Browser<br />App Code / Tools<br />ADO.NET Data Svcs/REST - EF<br />HTTP/S<br />SOAP/REST<br />HTTP/S<br />App Code<br />(ASP.NET)<br />Windows Azure<br />T-SQL (TDS)<br />T-SQL (TDS)<br />SQL Data Services<br />SQL Data Services<br />MS<br />Datacenter<br />MS<br />Datacenter<br />Code Far<br />Code Near<br />
  9. 9. Service Provisioning Model<br />Each account has zero or more servers<br />Azure wide, provisioned in a common portal<br />Billing instrument<br />Each server has one or more databases<br />Contains metadata about the databases and usage<br />Unit of authentication<br />Unit of Geo-location<br />Generated DNS based name<br />Each database has standard SQL objects<br />Unit of consistency<br />Unit of multi-tenancy<br />Contains Users, Tables, Views, Indices, etc.<br />Most granular unit of billing<br /> Account<br /> Server<br /> Database<br />
  10. 10. Architecture<br />Shared infrastructure at SQL database and below<br />Request routing, security and isolation<br />Scalable HA technology provides the glue<br />Automatic replication and failover<br />Provisioning, metering and billing infrastructure<br />Machine 5<br />Machine 6<br />Machine 4<br />SQL Instance<br />SQL Instance<br />SQL Instance<br />SQL DB<br />SQL DB<br />SQL DB<br />UserDB1<br />UserDB2<br />UserDB3<br />UserDB4<br />UserDB1<br />UserDB2<br />UserDB3<br />UserDB4<br />UserDB1<br />UserDB2<br />UserDB3<br />UserDB4<br />SDS Provisioning (databases, accounts, roles, …, Metering, and Billing<br />Scalability and Availability: Fabric, Failover, Replication, and Load balancing<br />Scalability and Availability: Fabric, Failover, Replication, and Load balancing<br />
  11. 11. SQL AzureDeployment<br />Web Portal<br />(API)<br />DB Script<br />SQL Azure<br />TDS<br />
  12. 12. SQL AzureAccessing databases<br />Web Portal<br />(API)<br />Your App<br />SQL Azure<br />TDS<br />Change Connection String<br />
  13. 13. Database Replicas<br />Single Database<br />Multiple Replicas<br />Replica 1<br />Single Primary<br />Replica 2<br />DB<br />Replica 3<br />
  14. 14. Hardware Boundary<br />Hardware Boundary<br />Shared Environment<br />C<br />D<br />B<br />D<br />A<br />Hardware Boundary<br />Hardware Boundary<br />C<br />C<br />B<br />A<br />A<br />B<br />D<br />
  15. 15. SQL AzureDatabase Monitoring & Recovery<br />Web Portal<br />(API)<br />!<br />Your App<br />SQL Azure<br />TDS<br />
  16. 16. Programming Model<br />Small Data Sets<br />Use a single database<br />Same model as on premise SQL Server<br />Large Data Sets and/or Massive Throughput<br />Partition data across many databases<br />Use parallel fan-out queries to fetch the data<br />Application code must be partition aware in v1<br />For v1 will publish best practices for scale out<br />Post-v1 we are looking at building an abstraction to hide some of the complexities of partitioning<br />
  17. 17. Sharding Databases<br />1 x 10GB database<br />1 Instances<br />10 x 1GB databases<br />10 Instances <br />
  18. 18. SQL Tooling & Development<br />Demo<br />
  19. 19. Managing your account<br />
  20. 20. Viewing database information<br />
  21. 21.
  22. 22. Sample screen – requires VS2010<br />
  23. 23.
  24. 24. Compatibility Goals<br />Support common application patterns<br />Logical/policy based administration<br />Patterns work from SQL Server to SQL Azure<br />Multi-tenancy considerations<br />Throttling and load balancing<br />Limits on DB size, transaction duration, …<br />V1: Address the needs of the majority of web and departmental application<br />
  25. 25. Sample of SQL Compatibility<br />In Scope for v1<br />Out of Scope for v1<br />Tables, indexes and views<br />Stored Procedures<br />Triggers<br />Constraints<br />Table variables, session temp tables (#t)<br />…<br />Distributed Transactions<br />Distributed Query<br />CLR<br />Service Broker<br />Spatial <br />Physical server or catalog DDL and views<br />
  26. 26. Connection Model<br />Use existing client libraries<br />ADO.NET, ODBC, PHP<br />Client libraries pre-installed in Azure roles<br />Support for ASP.NET controls<br />Clients connect directly to a database<br />Cannot hop across DBs (no USE)<br />
  27. 27. Logical vs. Physical Administration<br />SQL Azure focus on logical administration<br />Schema creation and management<br />Query optimization<br />Security management (Logins, Users, Roles)<br />Service handles physical management<br />Automatically replicated with HA “out of box”<br />Transparent failover in case of failure<br />Load balancing of data to ensure SLA<br />DBA role places more focus on logical management<br />
  28. 28. Deployment<br />Support for basic deployment options<br />SQL scripts work (but not attach database)<br />Geo-location of Windows Azure compute and SQL Azure Databases<br />Support for Application and multi-server management model<br />Support for application packages<br />Cloud or on-premise is a deployment time choice<br />Visibility of data across on-premise and the cloud<br />Support existing and new forms of deployment<br />
  29. 29. Security Model<br />Uses regular SQL security model<br />Authenticate logins, map to users and roles<br />Authorize users and roles to SQL objects<br />Limited to standard SQL Auth logins<br />Username + password <br />Future AD Federation, WLID, etc as alternate authentication protocols<br />Security model is 100% compatible with on-premise SQL<br />
  30. 30. Pricing<br />Web Edition<br />1 GB Database<br />$9.99 / month<br />Bandwidth<br />$0.10 /GB inbound<br />$0.15 /GB outbound<br />Business Edition<br />10GB Database<br />$99.99 / month<br />Bandwidth<br />$0.10 /GB inbound<br />$0.15 /GB outbound<br />Specified by MAXSIZE on CREATE DATABASE command or portal (post-CTP1)<br />Can NOT switch betweenen Web and Business Editions<br />Monthly billing period<br />
  31. 31. Platform Readiness (EHA)<br />Exchange Hosted Archive (EHA) is high scale archival service<br />Runs on SQL Azure infrastructure<br />In production prior to SQL Azure v1<br />Rebuilt to address cost and scale issues<br />Reduced COGS with increased customerand business benefit:<br /><ul><li>Larger scale (e.g. larger customers ~20TB+ each)
  32. 32. More self-managing (e.g. fault-tolerance)
  33. 33. Better query performance for fan-out
  34. 34. Faster provisioning of new customers</li></li></ul><li>SQL AzureOpportunities and Futures<br />Partitioned databases<br />Geo-location and geo-redundancy<br />Distributed query<br />Security w/AD, WLID, etc<br />Support for multiple levels of hardware and software isolation<br />
  35. 35. Release Plan<br />SQL Azure CTP <br />Commercial Availability (V1)<br />InternalAdoption<br />SQL Azure Early Adopters <br />SQL Azure Early Adopters CTP – On-board invitation-only early adopters<br />SQL Azure CTP - Register for an invitation code<br />Commercial Availability with Windows Azure in 2009<br />Sign up for our CTP: <br /><br />PDC<br />MIX ‘09<br />WWPC<br />WWPC<br />TechEd <br />May 09<br />Jul 09<br />Sep 09<br />Apr 09<br />Jun 09<br />Aug 09<br />Oct 09<br />Mar 09<br />Nov 09<br />
  36. 36. Key Takeaways<br />SQL Azure available – PDC ’09<br />Integrated part of the SQL Data Platform<br />Leverage you existing SQL Server knowledge and tools<br />SQL Azure is the data platform of the Windows Azure Platform<br />
  37. 37. Want to Know More?<br />Windows Azure Platform<br />Windows Azure Platform Training Kit<br />MSDN Development Center<br />Team Blog<br />