Sql Azure


Published on

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

Sql Azure

  1. 1. SQL Azure<br />Yves Goeleven<br />
  2. 2. Yves Goeleven<br />Solution Architect @ Capgemini<br />Board MemberAzug.be<br />yves@goeleven.com<br />www.goeleven.com<br />Twitter.com/YvesGoeleven<br />Facebook<br />Linkedin<br />Architecture, Design, Best Practices in Enterprise and Cloud environments<br />
  3. 3. Agenda<br />Introduction to SQL Azure<br />SQL AzureArchitecture<br />Availability features<br />Scalability considerations<br />Security measures<br />Wrap up<br />
  4. 4. Introduction to SQL Azure<br />
  5. 5. Introduction<br />Highly scaled out relational database as a service<br />A massively scaled<br />Multi-tenant relational database service <br />Built on commodity hardware<br />Not database hosting<br />
  6. 6. Extending SQL Data Platform to Cloud<br />Key differentiator for SQL Server platform<br />High-Level Features<br /><ul><li>Self-provisioning and capacity on demand
  7. 7. Automatic high-availability
  8. 8. Automated management (infrastructure)
  9. 9. Symmetry with on-premises platform
  10. 10. Simple, flexible pricing model – pay for what you use
  11. 11. New, differentiated capabilities…</li></ul>Browser<br />SQL Azure Database <br />(Windows Azure Compute)<br />SOAP/REST<br />HTTP/S<br />Astoria/REST - EDM<br />HTTP/S<br />App Code<br />(ASP.NET)<br />SQL Server Reporting Server<br />(on-premises)<br />Windows Azure <br />Compute<br />T-SQL (TDS)<br /><ul><li>Web & Departmental Applications
  12. 12. SaaS ISVs (SMB)
  13. 13. Enterprise SIs </li></ul>& Internal MS Properties<br />T-SQL (TDS)<br />SQL Azure<br />Database<br />MS<br />Datacenter<br />- AD Federation (LiveId /.NetSvcs ACS)<br />
  14. 14. 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<br />Unit of authentication<br />Unit of Geo-location<br />Each database has standard SQL objects<br />Unit of consistency<br />Contains users, tables, views, indices, etc…<br /> Account<br /> Server<br /> Database<br />
  15. 15. Compatibility<br />Support common application patterns<br />Logical/policy based administration<br />Patterns work for SQL Azure and SQL Server<br />Multi-tenancy considerations<br />Throttling and load balancing<br />Limits on DB size, duration of transaction, etc<br />Version 1: Address the needs of 95% or more web and departmental application<br />
  16. 16. Compatibility<br />Included in version 1<br />Out of Scope for version 1<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 />
  17. 17. DEMO : A lap around SQL Azure<br />
  18. 18. SQL Azure Architecture<br />
  19. 19. Topology<br />Applications use standard SQL client libraries: ODBC, ADO.Net, PHP, …<br />Application<br />Internet<br />Azure Cloud<br />TDS (tcp)<br />Security Boundary<br />Load balancer forwards ‘sticky’ sessions to TDS protocol tier<br />Loadbalancer<br />TDS (tcp)<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB<br />TDS (tcp)<br />SQL<br />SQL<br />SQL<br />SQL<br />SQL<br />SQL<br />Scalability and Availability: Fabric, Failover, Replication, and Load balancing<br />
  20. 20. Gateway<br />TDS Listener<br />Capability negotiation<br />TDS Packet inspection<br />Security<br />Logical-&gt;Physical mapping via metadata catalog<br />Enabler for multi-tenant capabilities<br />Metrics<br />Billing<br />Isolation layer<br />Security<br />
  21. 21. Gateway<br />Gateway Process<br />TDS Endpoint<br />Admin Service Endpoint<br />Provisioning Endpoint<br />Protocol Parser<br />Business Logic Services<br />Connection Management<br />
  22. 22. Windows AzureFabric<br />VM<br />Control VM<br />VM<br />VM<br />WS08 Hypervisor<br />Service Roles<br />Control <br />Agent<br />Out-of-band communication – hardware control<br />WS08<br />In-band communication – software control<br />Load-balancers<br />Node can be a VM or a physical machine<br />Switches<br />Highly-available<br />Fabric Controller<br />
  23. 23. Fabric Controller<br />Fabric Controller<br />Fabric Controller (FC) <br />Maps declarative service specifications to available resources<br />Manages service life cycle starting from bare metal<br />Maintains system health and satisfies SLA<br />What’s special about it<br />Enables utility-model shared fabric<br />Automates hardware management<br />“What” is needed<br />Make it happen<br />Fabric<br />Switches<br />Load-balancers<br />
  24. 24. Fabric Controller<br />Owns all the data center hardware<br />Uses the inventory to host services<br />Similar to what a per machine operating system does with applications<br />Provisions the hardware as necessary<br />Maintains the health of the hardware<br />Deploys applications to free resources<br />Maintains the health of those applications<br />
  25. 25. Availability Features<br />
  26. 26. Replication<br />Single Logical Database<br />Multiple Replicas<br />Replica 1<br />Single Primary<br />Replica 2<br />DB<br />Replica 3<br />
  27. 27. Service Resilience<br />Provisioning<br />State machines used to coordinate activities across node (and datacenter) boundaries<br />Failed provisioning attempts cleaned automatically after 10 minutes<br />Login<br />Failovers during the login will be transparent (&lt;30 seconds)<br />Metadata catalog refresh occurs automatically<br />Active Session<br />Surface as connection drops (due to state)<br />
  28. 28. Health Monitoring<br />Metrics<br />Cluster wide performance counters gather key metrics on the service<br />Used to alert Operations to issues before they become a problem<br />Early warning system<br />Code issues<br />Capacity warnings<br />Health<br />Exercises the service routinely looking for problems<br />When issues are encountered runs deep diagnostics<br />Network connectivity at the node level<br />Validate all dependent services (Live DNS, Live ID, etc)<br />Monitoring from other MSFT Data Center’s<br />Validates accessibility from multiple geographic locations<br />Alerts fired automatically when test jobs fail<br />
  29. 29. Scalability Considerations<br />
  30. 30. A hint from the Business Model<br />Standard Consumption <br />Database Availability<br />Initial Offers<br />Low barrier to entry and flexible. Optimized to enable cloud elasticity. Additional promo and program offers to drive early adoption <br /><ul><li>Introductory Offer (promotion)
  31. 31. Free developer starter offer
  32. 32. Limit one per customer
  33. 33. Standard Consumption Offer
  34. 34. Optimized for cloud elasticity
  35. 35. SubscriptionOffers (promotion)
  36. 36. Predictable and discounted price
  37. 37. MSDN PremiumOffer (promotion)
  38. 38. Available to MSDN Premium subscribers
  39. 39. Limit one per subscription</li></ul>Database will be available/reachable, external connectivity<br />Proper requests will be processed successfully<br />All usage at standard rates <br />No limit in the number of subscriptions<br />Charged only for what you use<br />Web Edition<br />1 GB DB space<br />$9.99<br />Business Edition<br />10 GB DB space<br />$99.99<br />Additional 5% promotional <br />discount available to partners<br />(Except storage and bandwidth) <br />&gt; 99.9% <br />+ BW<br />World-wide presence in CY’09: Asia Pacific, EMEA, North America (2)<br />Additional data centers scheduled for 1H CY’10<br />
  40. 40. Database sharding<br />“Shared-nothing” partitioning scheme<br />Partition large database <br />in multiple small databases<br />Think of broken glass<br />Use parallel fan-out queries<br />To obtain data<br />Map-Reduce pattern<br />
  41. 41. Security Measures<br />
  42. 42. 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 />
  43. 43. Differencesforadministrationroles<br />Master database is effectively ‘read only’<br />Administration roles have permission for<br />CREATE/DROP database <br />CREATE/DROP/ALTER login<br />GRANT/REVOKE rights<br />
  44. 44. Network Access Control<br />Each server defines a set of firewall rules<br />Determines access policy based on client IP<br />By default, there is NO ACCESS to server<br />Controlled using Firewall API (masterDB)<br />sys.firewall_rules, sys.sp_merge_firewall_rule and sys.sp_delete_firewall_rule<br />
  45. 45. More SecurityMeasures<br />Service <br />Secure channel required (SSL)<br />Denial Of Service trend tracking<br />Packet Inspection<br />Server <br />IP allow list (Firewall) <br />Idle connection culling<br />Generated server names <br />Database<br />Disallow the most commonly attacked user id’s (SA, Admin, root, guest, etc) <br />Standard SQL Authentication / Authorization mode <br />
  46. 46. Questions<br />
  1. A particular slide catching your eye?

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