SQL Azure the database in the cloud


Published on

In this presentation we introduce the basic concepts around SQL Server Azure: the database in the cloud.


Ing. Eduardo Castro, PhD

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

SQL Azure the database in the cloud

  1. 1. The database in the cloud forAzure Services Platform, SQL Azure<br />Ing. Eduardo Castro, PhD<br />Comunidad Windows<br />ecastro@grupoasesor.net<br />http://ecastrom.blogspot.com<br />
  2. 2. Session Objectives And Takeaways<br />Session Objectives: <br />Provide “why”, “what”, and “how” around SQL Azure<br />Help you to answer your customer’s Cloud questions<br />Key Takeaways<br />Microsoft will have a strong position in Cloud business software<br />SQL Azure is different than SQL Server and hosted SQL Server<br />SQL Azure will open up new scenarios and opportunities<br />
  3. 3. Session Structure<br />
  4. 4. What’s up with the Cloud?<br />
  5. 5. What’s going on out there?<br />Cloud perception… Costs? New capabilities? Massively scalable computing?<br />IaaS, PaaS, SaaS ??? <br />Value chains being remade<br />Private clouds?<br />Interop & standards…<br />
  6. 6. A Working Definition of Cloud Computing<br />Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. <br />This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.<br />NIST, Information Technology Laboratory<br />6<br />
  7. 7. 7<br />5 Essential Cloud Characteristics<br />On-demand self-service <br />Broad network access<br />Resource pooling<br />Location independence<br />Rapid elasticity<br />Measured service<br />NIST, Information Technology Laboratory<br />
  8. 8. Business View<br />New<br />Capabilities<br />Reducing<br />Costs<br />Opportunities<br />Risks<br />Remaking value, decision & influence chains…<br />
  9. 9. Microsoft, Cloud & “business software”…<br />
  10. 10. Platform dimensions<br />Relationship<br />Productivity<br />Friction<br />Velocity<br />Facilities<br />Focus<br />Viability<br />Trust<br />Scale<br />Characteristics of Software Platforms<br />Platform vendors succeed when the platform helps others succeed<br />
  11. 11. Cloud Success Factors<br />Utility Computing Capability<br />Technical capability<br />Datacenter Innovation capability<br />Application Pattern Capability<br />Not just about the browser<br />Multi-screen experience<br />Platform, delivery & tooling<br />Platform Ecosystem<br />Work with ISVs, SIs, VARs & Businesses to get to Cloud<br />
  12. 12. Challenges<br />Identity and Access Management<br />Composition / Workflow<br />2PL  OCC  Sync  Workflow<br />Trust<br />Availability<br />Performance<br />Information protection<br />Latency<br />It matters<br />Separating logical / physical administration<br />
  13. 13. Microsoft Value Proposition<br />Provide<br />“Multi-screen”Experience<br />Provider<br />Of Choice<br />Provider<br />w/ Choice<br />Customers<br />Hosters<br />ISVs<br />SIs<br />VARs<br />Existing<br />BusinessProcesses<br />Partners<br />Billing as a Service<br />ServiceComposition<br />Internal<br />Processes &<br />Capabilities<br />SaaS influencing OPS & Services<br />PaaSBuildout<br />Extreme Scale Data Centers<br />MSR<br />PartnerEcosystem<br />Learning &<br />Growth<br />SaaS<br />Experience<br />(BPOS)<br />IaaS<br />Experience<br />(Live)<br />On-premises<br />Software (OPS) to <br />Services<br />Learning w/<br />Partners<br />
  14. 14. What is “SQL Azure”?<br />
  15. 15. The Azure Services PlaformAn illustration<br />.NET Services<br />SQL Azure<br />Applications<br />Windows Azure<br />Applications<br />Windows<br />Mobile<br />Windows<br />Vista/XP<br />Windows<br />Server<br />Others<br />
  16. 16. Microsoft Azure Services<br />Azure™ Services Platform<br />16<br />
  17. 17. SQL AzureA relational DB in the cloud<br />SQL Azure Database<br />Data Hub<br />Others (Future)<br />Relational database as a service<br />Highly available, automatically maintained<br />Extension of the SQL Server Data Platform<br />.NET Services<br />SQL Services<br />Applications<br />Live Services<br />Windows Azure<br />Applications<br />Windows<br />Mobile<br />Windows<br />Vista/XP<br />Windows<br />Server<br />Others<br />
  18. 18. Extending SQL Server Data Platform to the Cloud<br />Data Sync<br />Reference Data<br />Reporting<br />Business Intelligence<br />Database<br />Symmetric Programming Model<br />Data Hub Aggregation<br /><ul><li>Initial services – core RDBMS capabilities with SQL Azure Database, Data Sync
  19. 19. Future Offerings
  20. 20. Additional data platform capabilities: Reporting, BI
  21. 21. New services: Reference Data</li></li></ul><li>The New SQL Data Services<br />Clear Feedback: “I want a database in the Cloud”<br />Familiar SQL Server relational model<br />Uses existing APIs & tools<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 />
  22. 22. The Evolution of SDS<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 />SDS Next<br />SDS Current<br />* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …<br />
  23. 23. Database<br />Relational database, provided as a service<br />Highly symmetrical development and tooling experience (use TDS protocol and T-SQL)<br />Highly scaled out, on commodity hardware<br />Built on the SQL Server technology foundation<br />Beyond “hosted database”<br />High availability, DB provisioning, and DB management are provided by the service<br />Pay for what you use<br />
  24. 24. Customer Scenarios<br />Enterprise Departmental Applications<br />Web Applications<br />Departmental workgroup applications with low concurrency and cyclical usage patterns<br />Small customers or start ups with Web applications of all scale that have simple RDBMS needs<br />Data Hubs<br />ISV LOB Applications<br />Data hubs that consolidate multiple data sources and enable access from multiple locations and devices<br />Traditional ISVs extending offering or selling software hosted in the cloud<br />
  25. 25. Service Provisioning Model<br />Each account has <br />a billing relationship with Microsoft<br />owns one or more virtual servers<br />Each server has <br />one or more databases including virtual master<br />each database limited in size <br />one or more logins<br />Each database has <br />one or more SQL users<br />Account<br />Server<br />Database<br />Server=server1.data.database.windows.net<br />Database=testDB<br />Login=nigele[@server1] (maps to testuser)<br />
  26. 26. Logical Databases (LDB)<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 />Machine 7<br />SQL Instance<br />SQL Instance<br />SQL Instance<br />SQL Instance<br />SQL DB<br />SQL DB<br />SQL DB<br />SQL DB<br />Provisioning (databases, accounts, roles…), Metering, and Billing<br />DB5<br />DB1<br />DB3<br />DB2<br />DB1<br />DB6<br />DB2<br />DB3<br />DB1<br />DB2<br />DB3<br />DB4<br />DB4<br />DB5<br />DB1<br />DB7<br />Scalability and Availability: Fabric, Failover, Replication, and Load Balancing<br />
  27. 27. Computing EvolutionTowards Shared Resources<br />Learning to share more<br />resources over time.<br />Owned<br />Isolated<br />Shared<br />Pooled<br />Things we used to want<br />Exclusively are now a burden…<br />Disk<br />Disk<br />Computer<br />Disk<br />Disk<br />Computer<br />Memory<br />Disk<br />Memory<br />Time <br />
  28. 28. SQL Azure Compared To…<br />Hosted SQL Server<br />SQL Azure further separates physical and logical administration<br />SQL Azure includes HA/DR<br />SQL Azure will include other high level services in the future – e.g. BI, “Data Hub”, etc.<br />SQL Server On Premises<br />Separates logical/physical administration<br />Provide DBMS “Utility”<br />Ultimately  Write your app and deploy to: SQL Server, SQL Server Utility, SQL Azure, etc.<br />
  29. 29. Sample of SQL Compatibility<br />Included in v1<br />Tables, indexes and views<br />Stored Procedures<br />Triggers<br />Constraints<br />Table variables, session temp tables (#t)<br />…<br />Out of Scope for v1<br />Distributed Transactions<br />Distributed Query<br />CLR<br />Service Broker<br />Spatial <br />Physical server or catalog DDL and views<br />
  30. 30. High Level Architecture<br />SQL Data Services Gateway Tier<br />Protocol Parser<br />Protocol Parser<br />Protocol Parser<br />Protocol Parser<br />Protocol Parser<br />Protocol Parser<br />Protocol Parser<br />Management Services<br />Management Services<br />Management Services<br />Management Services<br />Management Services<br />Management Services<br />Management Services<br />Partition Services<br />Partition Services<br />Partition Services<br />Partition Services<br />Partition Services<br />Partition Services<br />Partition Services<br />SQL Data Services Back End<br />SQL Server<br />SQL Server<br />SQL Server<br />SQL Server<br />SQL Server<br />SQL Server<br />SQL Server<br />Distributed Data Fabric<br />Distributed Data Fabric<br />Distributed Data Fabric<br />Distributed Data Fabric<br />Distributed Data Fabric<br />Distributed Data Fabric<br />Distributed Data Fabric<br />Mgmt. Services<br />Mgmt. Services<br />Mgmt. Services<br />Mgmt. Services<br />Mgmt. Services<br />Mgmt. Services<br />Mgmt. Services<br />
  31. 31. SQL Azure Network Topology<br />Application<br />Applications use standard SQL client libraries: ODBC, ADO.Net, …<br />TDS (tcp:1433)<br />Load balancer forwards ‘sticky’ sessions to TDS protocol tier<br />Load Balancer<br />TDS (tcp: 1433)<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Data Node<br />Data Node<br />Data Node<br />Data Node<br />Data Node<br />Data Node<br />TDS (tcp: 1433)<br />Scalability and Availability: Fabric, Failover, Replication and Load balancing<br />
  32. 32. SQL Azure Application Architectures<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 />App Code / Tools<br />Application/ Browser<br />SOAP/REST<br />HTTP/S<br />ADO.NET Data Svcs/REST - EF<br />HTTP/S<br />App Code<br />(ASP.NET)<br />Windows Azure<br />T-SQL (TDS)<br />T-SQL (TDS)<br />SQL Azure<br />SQL Azure<br />Code Far<br />Code Near<br />
  33. 33. SQL AzureUsing one or multiple databases<br />SQL Data Services<br />Database<br />Application<br />Database<br />Database<br />Application<br />Database<br />
  34. 34. Scalability<br />Database max size<br />1 GB (Web Edition) <br />10 GB (Business Edition)<br />50 GB (Beta)<br />SQL Azure scalability<br />Application must build custom partition logic<br />
  35. 35. Sharding<br />Scaling data between different databases<br />SQL Azure dynamic database creation<br />Partitioning schemas<br />Vertical<br />Horizontal<br />Dynamic<br />Random<br />Based on ranges<br />
  36. 36. Sharding<br />ASP.Net<br />Application<br />Customer 123<br />Partition<br />Aware<br />App Tier<br />Data<br />Partitions<br />“Shards”<br />
  37. 37. Sharding Schema<br />
  38. 38. SQL Azure - Pros<br />Transactions within the platform are not charged <br />Supports relational data & stored procedures etc.<br />Supports ACID characteristics of transaction across multiple entities/tables (but not across databases)<br />
  39. 39. SQL Azure - Considerations<br />Doesn’t provide scalability out of the box and there is a hard limit of 50 GB per database instance. Application need to handle the partition logic <br />Since application has to build custom partition logic might incur sizable efforts to build such functionality<br />
  40. 40. SQL Azure Improvements <br />MARS (Multiple Active Results Sets), which simplifies the application design process <br />ALTER rename process for symmetry in renaming databases <br />Application and Multi-server management for Data-tier Applications which further streamlines application design and enables deployments of database applications directly from SQL Server 2008 R2 and Visual Studio 2010 to SQL Azure for database deployment flexibility <br />SQL Azure implements Open Data Protocol <br />
  41. 41. The Future<br />Ultimately not about “here or there”<br />Hybrid applications & scenarios<br />Major scenario & application evolution over next 3-5 years<br />Constrained by: Trust & Capabilities<br />Policy based management & execution crucial<br />Lot of noise/confusion over interop<br />
  42. 42. Summary<br />Key Takeaways<br />Microsoft will have a strong position in Cloud business software<br />SQL Azure is different than SQL Server and hosted SQL Server<br />SQL Azure will open up new scenarios and opportunities<br />Think about services / scenarios that have no “on-premises” equivalent<br />
  43. 43. Links<br />http://comunidadwindows.org<br />http://ecastrom.blogspot.com<br />http://www.sqlazurelabs.com<br />http://www.microsoft.com/windowsazure/<br />http://sql.azure.com/<br />
  44. 44. Q&A<br />
  45. 45. © 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.<br />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.<br />