The database in the cloud forAzure Services Platform, SQL AzureIng. Eduardo Castro, PhDComunidad Windowsecastro@grupoasesor.nethttp://ecastrom.blogspot.com
Session Objectives And TakeawaysSession Objectives: Provide “why”, “what”, and “how” around SQL AzureHelp you to answer your customer’s Cloud questionsKey TakeawaysMicrosoft will have a strong position in Cloud business softwareSQL Azure is different than SQL Server and hosted SQL ServerSQL Azure will open up new scenarios and opportunities
Session Structure
What’s up with the Cloud?
What’s going on out there?Cloud perception… Costs? New capabilities? Massively scalable computing?IaaS, PaaS, SaaS ??? Value chains being remadePrivate clouds?Interop & standards…
A Working Definition of Cloud ComputingCloud 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. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.NIST, Information Technology Laboratory6
75 Essential Cloud CharacteristicsOn-demand self-service Broad network accessResource poolingLocation independenceRapid elasticityMeasured serviceNIST, Information Technology Laboratory
Business ViewNewCapabilitiesReducingCostsOpportunitiesRisksRemaking value, decision & influence chains…
Microsoft, Cloud &	“business software”…
Platform dimensionsRelationshipProductivityFrictionVelocityFacilitiesFocusViabilityTrustScaleCharacteristics of Software PlatformsPlatform vendors succeed when the platform helps others succeed
Cloud Success FactorsUtility Computing CapabilityTechnical capabilityDatacenter Innovation capabilityApplication Pattern CapabilityNot just about the browserMulti-screen experiencePlatform, delivery & toolingPlatform EcosystemWork with ISVs, SIs, VARs & Businesses to get to Cloud
ChallengesIdentity and Access ManagementComposition / Workflow2PL  OCC  Sync  WorkflowTrustAvailabilityPerformanceInformation protectionLatencyIt mattersSeparating logical / physical administration
Microsoft Value PropositionProvide“Multi-screen”ExperienceProviderOf ChoiceProviderw/ ChoiceCustomersHostersISVsSIsVARsExistingBusinessProcessesPartnersBilling as a ServiceServiceCompositionInternalProcesses &CapabilitiesSaaS influencing OPS & ServicesPaaSBuildoutExtreme Scale Data CentersMSRPartnerEcosystemLearning &GrowthSaaSExperience(BPOS)IaaSExperience(Live)On-premisesSoftware (OPS) to ServicesLearning w/Partners
What is “SQL Azure”?
The Azure Services PlaformAn illustration.NET ServicesSQL AzureApplicationsWindows AzureApplicationsWindowsMobileWindowsVista/XPWindowsServerOthers
Microsoft Azure ServicesAzure™ Services Platform16
SQL AzureA relational DB in the cloudSQL Azure DatabaseData HubOthers (Future)Relational database as a serviceHighly available, automatically maintainedExtension of the SQL Server Data Platform.NET ServicesSQL ServicesApplicationsLive ServicesWindows AzureApplicationsWindowsMobileWindowsVista/XPWindowsServerOthers
Extending SQL Server Data Platform to the CloudData SyncReference DataReportingBusiness IntelligenceDatabaseSymmetric Programming ModelData Hub AggregationInitial services – core RDBMS capabilities with SQL Azure Database, Data Sync
Future Offerings
Additional data platform capabilities: Reporting, BI
New services: Reference DataThe New SQL Data ServicesClear Feedback: “I want a database in the Cloud”Familiar SQL Server relational modelUses existing APIs & toolsBuilt for the Cloud with availability and scaleAccessible to all from PHP, Ruby, and JavaFocus on combining the best features of SQL Server running at scale with low friction
The Evolution of SDSEvolvesBrowserApplicationApplicationApplicationBrowserApplicationApplicationODBC, OLEDB, ADO.Net PHP, Ruby, …REST ClientSQL Client*REST ClientCloudCloudWindows AzureREST (Astoria)Web AppADO.Net + EFREST ClientHTTP+RESTHTTP+RESTHTTPTDSHTTPWindows AzureWeb AppSQL Client*Data CenterData CenterTDS + TSQL ModelREST/SOAP + ACE ModelSDS NextSDS Current* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
DatabaseRelational database, provided as a serviceHighly symmetrical development and tooling experience (use TDS protocol and T-SQL)Highly scaled out, on commodity hardwareBuilt on the SQL Server technology foundationBeyond “hosted database”High availability, DB provisioning, and DB management are provided by the servicePay for what you use
Customer ScenariosEnterprise Departmental ApplicationsWeb ApplicationsDepartmental workgroup applications with low concurrency and cyclical usage patternsSmall customers or start ups with Web applications of all scale that have simple RDBMS needsData HubsISV LOB ApplicationsData hubs that consolidate multiple data sources and enable access from multiple locations and devicesTraditional ISVs extending offering or selling software hosted in the cloud
Service Provisioning ModelEach account has a billing relationship with Microsoftowns one or more virtual serversEach server has one or more databases including virtual mastereach database limited in size one or more loginsEach database has one or more SQL usersAccountServerDatabaseServer=server1.data.database.windows.netDatabase=testDBLogin=nigele[@server1] (maps to testuser)
Logical Databases (LDB)Shared infrastructure at SQL database and belowRequest routing, security and isolationScalable HA technology provides the glueAutomatic replication and failoverProvisioning, metering and billing infrastructureMachine 5Machine 6Machine 4Machine 7SQL InstanceSQL InstanceSQL InstanceSQL InstanceSQL DBSQL DBSQL DBSQL DBProvisioning (databases, accounts, roles…), Metering, and BillingDB5DB1DB3DB2DB1DB6DB2DB3DB1DB2DB3DB4DB4DB5DB1DB7Scalability and Availability: Fabric, Failover, Replication, and Load Balancing
Computing EvolutionTowards Shared ResourcesLearning to share moreresources over time.OwnedIsolatedSharedPooledThings we used to wantExclusively are now a burden…DiskDiskComputerDiskDiskComputerMemoryDiskMemoryTime 
SQL Azure Compared To…Hosted SQL ServerSQL Azure further separates physical and logical administrationSQL Azure includes HA/DRSQL Azure will include other high level services in the future – e.g. BI, “Data Hub”, etc.SQL Server On PremisesSeparates logical/physical administrationProvide DBMS “Utility”Ultimately  Write your app and deploy to: SQL Server, SQL Server Utility, SQL Azure, etc.
Sample of SQL CompatibilityIncluded in v1Tables, indexes and viewsStored ProceduresTriggersConstraintsTable variables, session temp tables (#t)…Out of Scope for v1Distributed TransactionsDistributed QueryCLRService BrokerSpatial	Physical server or catalog DDL and views
High Level ArchitectureSQL Data Services Gateway TierProtocol ParserProtocol ParserProtocol ParserProtocol ParserProtocol ParserProtocol ParserProtocol ParserManagement ServicesManagement ServicesManagement ServicesManagement ServicesManagement ServicesManagement ServicesManagement ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesSQL Data Services Back EndSQL ServerSQL ServerSQL ServerSQL ServerSQL ServerSQL ServerSQL ServerDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. Services
SQL Azure Network TopologyApplicationApplications use standard SQL client libraries: ODBC, ADO.Net, …TDS (tcp:1433)Load balancer forwards ‘sticky’ sessions to TDS protocol tierLoad BalancerTDS (tcp: 1433)GatewayGatewayGatewayGatewayGatewayGatewayData NodeData NodeData NodeData NodeData NodeData NodeTDS (tcp: 1433)Scalability and Availability: Fabric, Failover, Replication and Load balancing
SQL Azure Application ArchitecturesSQL Azure access from outside MS Datacenter (On-premises – ADO.NET)SQL Azure access from within MS Datacenter (Azure compute – ADO.NET)App Code / ToolsApplication/ BrowserSOAP/RESTHTTP/SADO.NET Data Svcs/REST - EFHTTP/SApp Code(ASP.NET)Windows AzureT-SQL (TDS)T-SQL (TDS)SQL AzureSQL AzureCode FarCode Near
SQL AzureUsing one or multiple databasesSQL Data ServicesDatabaseApplicationDatabaseDatabaseApplicationDatabase
ScalabilityDatabase max size1 GB (Web Edition) 10 GB (Business Edition)50 GB (Beta)SQL Azure scalabilityApplication must build custom partition logic
ShardingScaling data between different databasesSQL Azure dynamic database creationPartitioning schemasVerticalHorizontalDynamicRandomBased on ranges
ShardingASP.NetApplicationCustomer 123PartitionAwareApp TierDataPartitions“Shards”
Sharding Schema
SQL Azure - ProsTransactions within the platform are not charged Supports relational data & stored procedures etc.Supports ACID characteristics of transaction across multiple entities/tables (but not across databases)
SQL Azure - ConsiderationsDoesn’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 Since application has to build custom partition logic might incur sizable efforts to build such functionality
SQL Azure Improvements MARS (Multiple Active Results Sets), which simplifies the application design process ALTER rename process for symmetry in renaming databases 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 SQL Azure implements Open Data Protocol
The FutureUltimately not about “here or there”Hybrid applications & scenariosMajor scenario & application evolution over next 3-5 yearsConstrained by: Trust & CapabilitiesPolicy based management & execution crucialLot of noise/confusion over interop
SummaryKey TakeawaysMicrosoft will have a strong position in Cloud business softwareSQL Azure is different than SQL Server and hosted SQL ServerSQL Azure will open up new scenarios and opportunitiesThink about services / scenarios that have no “on-premises” equivalent
Linkshttp://comunidadwindows.orghttp://ecastrom.blogspot.comhttp://www.sqlazurelabs.comhttp://www.microsoft.com/windowsazure/http://sql.azure.com/

SQL Azure the database in the cloud

  • 1.
    The database inthe cloud forAzure Services Platform, SQL AzureIng. Eduardo Castro, PhDComunidad Windowsecastro@grupoasesor.nethttp://ecastrom.blogspot.com
  • 2.
    Session Objectives AndTakeawaysSession Objectives: Provide “why”, “what”, and “how” around SQL AzureHelp you to answer your customer’s Cloud questionsKey TakeawaysMicrosoft will have a strong position in Cloud business softwareSQL Azure is different than SQL Server and hosted SQL ServerSQL Azure will open up new scenarios and opportunities
  • 3.
  • 4.
  • 5.
    What’s going onout there?Cloud perception… Costs? New capabilities? Massively scalable computing?IaaS, PaaS, SaaS ??? Value chains being remadePrivate clouds?Interop & standards…
  • 6.
    A Working Definitionof Cloud ComputingCloud 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. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.NIST, Information Technology Laboratory6
  • 7.
    75 Essential CloudCharacteristicsOn-demand self-service Broad network accessResource poolingLocation independenceRapid elasticityMeasured serviceNIST, Information Technology Laboratory
  • 8.
  • 9.
    Microsoft, Cloud &“business software”…
  • 10.
    Platform dimensionsRelationshipProductivityFrictionVelocityFacilitiesFocusViabilityTrustScaleCharacteristics ofSoftware PlatformsPlatform vendors succeed when the platform helps others succeed
  • 11.
    Cloud Success FactorsUtilityComputing CapabilityTechnical capabilityDatacenter Innovation capabilityApplication Pattern CapabilityNot just about the browserMulti-screen experiencePlatform, delivery & toolingPlatform EcosystemWork with ISVs, SIs, VARs & Businesses to get to Cloud
  • 12.
    ChallengesIdentity and AccessManagementComposition / Workflow2PL  OCC  Sync  WorkflowTrustAvailabilityPerformanceInformation protectionLatencyIt mattersSeparating logical / physical administration
  • 13.
    Microsoft Value PropositionProvide“Multi-screen”ExperienceProviderOfChoiceProviderw/ ChoiceCustomersHostersISVsSIsVARsExistingBusinessProcessesPartnersBilling as a ServiceServiceCompositionInternalProcesses &CapabilitiesSaaS influencing OPS & ServicesPaaSBuildoutExtreme Scale Data CentersMSRPartnerEcosystemLearning &GrowthSaaSExperience(BPOS)IaaSExperience(Live)On-premisesSoftware (OPS) to ServicesLearning w/Partners
  • 14.
  • 15.
    The Azure ServicesPlaformAn illustration.NET ServicesSQL AzureApplicationsWindows AzureApplicationsWindowsMobileWindowsVista/XPWindowsServerOthers
  • 16.
  • 17.
    SQL AzureA relationalDB in the cloudSQL Azure DatabaseData HubOthers (Future)Relational database as a serviceHighly available, automatically maintainedExtension of the SQL Server Data Platform.NET ServicesSQL ServicesApplicationsLive ServicesWindows AzureApplicationsWindowsMobileWindowsVista/XPWindowsServerOthers
  • 18.
    Extending SQL ServerData Platform to the CloudData SyncReference DataReportingBusiness IntelligenceDatabaseSymmetric Programming ModelData Hub AggregationInitial services – core RDBMS capabilities with SQL Azure Database, Data Sync
  • 19.
  • 20.
    Additional data platformcapabilities: Reporting, BI
  • 21.
    New services: ReferenceDataThe New SQL Data ServicesClear Feedback: “I want a database in the Cloud”Familiar SQL Server relational modelUses existing APIs & toolsBuilt for the Cloud with availability and scaleAccessible to all from PHP, Ruby, and JavaFocus on combining the best features of SQL Server running at scale with low friction
  • 22.
    The Evolution ofSDSEvolvesBrowserApplicationApplicationApplicationBrowserApplicationApplicationODBC, OLEDB, ADO.Net PHP, Ruby, …REST ClientSQL Client*REST ClientCloudCloudWindows AzureREST (Astoria)Web AppADO.Net + EFREST ClientHTTP+RESTHTTP+RESTHTTPTDSHTTPWindows AzureWeb AppSQL Client*Data CenterData CenterTDS + TSQL ModelREST/SOAP + ACE ModelSDS NextSDS Current* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
  • 23.
    DatabaseRelational database, providedas a serviceHighly symmetrical development and tooling experience (use TDS protocol and T-SQL)Highly scaled out, on commodity hardwareBuilt on the SQL Server technology foundationBeyond “hosted database”High availability, DB provisioning, and DB management are provided by the servicePay for what you use
  • 24.
    Customer ScenariosEnterprise DepartmentalApplicationsWeb ApplicationsDepartmental workgroup applications with low concurrency and cyclical usage patternsSmall customers or start ups with Web applications of all scale that have simple RDBMS needsData HubsISV LOB ApplicationsData hubs that consolidate multiple data sources and enable access from multiple locations and devicesTraditional ISVs extending offering or selling software hosted in the cloud
  • 25.
    Service Provisioning ModelEachaccount has a billing relationship with Microsoftowns one or more virtual serversEach server has one or more databases including virtual mastereach database limited in size one or more loginsEach database has one or more SQL usersAccountServerDatabaseServer=server1.data.database.windows.netDatabase=testDBLogin=nigele[@server1] (maps to testuser)
  • 26.
    Logical Databases (LDB)Sharedinfrastructure at SQL database and belowRequest routing, security and isolationScalable HA technology provides the glueAutomatic replication and failoverProvisioning, metering and billing infrastructureMachine 5Machine 6Machine 4Machine 7SQL InstanceSQL InstanceSQL InstanceSQL InstanceSQL DBSQL DBSQL DBSQL DBProvisioning (databases, accounts, roles…), Metering, and BillingDB5DB1DB3DB2DB1DB6DB2DB3DB1DB2DB3DB4DB4DB5DB1DB7Scalability and Availability: Fabric, Failover, Replication, and Load Balancing
  • 27.
    Computing EvolutionTowards SharedResourcesLearning to share moreresources over time.OwnedIsolatedSharedPooledThings we used to wantExclusively are now a burden…DiskDiskComputerDiskDiskComputerMemoryDiskMemoryTime 
  • 28.
    SQL Azure ComparedTo…Hosted SQL ServerSQL Azure further separates physical and logical administrationSQL Azure includes HA/DRSQL Azure will include other high level services in the future – e.g. BI, “Data Hub”, etc.SQL Server On PremisesSeparates logical/physical administrationProvide DBMS “Utility”Ultimately  Write your app and deploy to: SQL Server, SQL Server Utility, SQL Azure, etc.
  • 29.
    Sample of SQLCompatibilityIncluded in v1Tables, indexes and viewsStored ProceduresTriggersConstraintsTable variables, session temp tables (#t)…Out of Scope for v1Distributed TransactionsDistributed QueryCLRService BrokerSpatial Physical server or catalog DDL and views
  • 30.
    High Level ArchitectureSQLData Services Gateway TierProtocol ParserProtocol ParserProtocol ParserProtocol ParserProtocol ParserProtocol ParserProtocol ParserManagement ServicesManagement ServicesManagement ServicesManagement ServicesManagement ServicesManagement ServicesManagement ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesPartition ServicesSQL Data Services Back EndSQL ServerSQL ServerSQL ServerSQL ServerSQL ServerSQL ServerSQL ServerDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricDistributed Data FabricMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. ServicesMgmt. Services
  • 31.
    SQL Azure NetworkTopologyApplicationApplications use standard SQL client libraries: ODBC, ADO.Net, …TDS (tcp:1433)Load balancer forwards ‘sticky’ sessions to TDS protocol tierLoad BalancerTDS (tcp: 1433)GatewayGatewayGatewayGatewayGatewayGatewayData NodeData NodeData NodeData NodeData NodeData NodeTDS (tcp: 1433)Scalability and Availability: Fabric, Failover, Replication and Load balancing
  • 32.
    SQL Azure ApplicationArchitecturesSQL Azure access from outside MS Datacenter (On-premises – ADO.NET)SQL Azure access from within MS Datacenter (Azure compute – ADO.NET)App Code / ToolsApplication/ BrowserSOAP/RESTHTTP/SADO.NET Data Svcs/REST - EFHTTP/SApp Code(ASP.NET)Windows AzureT-SQL (TDS)T-SQL (TDS)SQL AzureSQL AzureCode FarCode Near
  • 33.
    SQL AzureUsing oneor multiple databasesSQL Data ServicesDatabaseApplicationDatabaseDatabaseApplicationDatabase
  • 34.
    ScalabilityDatabase max size1GB (Web Edition) 10 GB (Business Edition)50 GB (Beta)SQL Azure scalabilityApplication must build custom partition logic
  • 35.
    ShardingScaling data betweendifferent databasesSQL Azure dynamic database creationPartitioning schemasVerticalHorizontalDynamicRandomBased on ranges
  • 36.
  • 37.
  • 38.
    SQL Azure -ProsTransactions within the platform are not charged Supports relational data & stored procedures etc.Supports ACID characteristics of transaction across multiple entities/tables (but not across databases)
  • 39.
    SQL Azure -ConsiderationsDoesn’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 Since application has to build custom partition logic might incur sizable efforts to build such functionality
  • 40.
    SQL Azure ImprovementsMARS (Multiple Active Results Sets), which simplifies the application design process ALTER rename process for symmetry in renaming databases 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 SQL Azure implements Open Data Protocol
  • 41.
    The FutureUltimately notabout “here or there”Hybrid applications & scenariosMajor scenario & application evolution over next 3-5 yearsConstrained by: Trust & CapabilitiesPolicy based management & execution crucialLot of noise/confusion over interop
  • 42.
    SummaryKey TakeawaysMicrosoft willhave a strong position in Cloud business softwareSQL Azure is different than SQL Server and hosted SQL ServerSQL Azure will open up new scenarios and opportunitiesThink about services / scenarios that have no “on-premises” equivalent
  • 43.
  • 44.
  • 45.
    © 2009 MicrosoftCorporation. 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.