SQL Azure


Published on

presentation done at #CloudCampLA Oct 2009

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Connecting to SQL AzureDEMO SCRIPT: Creating Objects in SQL Azure
  • SQL Azure

    1. 1. Introduction to SQL Azure<br />Lynn Langit<br />Microsoft – Developer Evangelisthttp://blogs.msdn.com/SoCalDevGal<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 issueshttp://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000003098<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 />http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx<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 Platformhttp://www.azure.com/<br />Windows Azure Platform Training Kithttp://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en<br />MSDN Development Centerhttp://msdn.microsoft.com/en-us/sqlserver/dataservices<br />Team Bloghttp://blogs.msdn.com/ssds<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.