Getting Started with Windows Azure Cloud Computing Soup to Nuts
Get Started with SQL Azure Cloud Computing Soup to Nuts
description
Transcript of Get Started with SQL Azure Cloud Computing Soup to Nuts
Get Started with SQL Azure
Cloud Computing Soup to Nuts
Mike BenkovichMicrosoft Corporationwww.benkoTips.com - @mbenko
btlod-73
Agenda
Starting with the BasicsBuild and Deploy your DatabaseSecure your DatabaseExploring Advanced
Capabilities
Core Services
Caching CDN
Service Bus Reporting
Data Sync Azure Connect
Identity HPC
Additional Services
Windows Azure
Compute Storage Database
Starting with the Basics
Start With the BasicsSQL Azure Database isSQL Server database technology delivered as a service on the Windows Azure PlatformIdeal for both simple and complex applicationsEnterprise-ready with automatic support for HADesigned to scale out elastically with demand
Get started quicklyChoose a planChoose a billing optionProvision servers
Ready to get started?Let’s jump into development
Provision Your ServerServer definedService head that contains databasesConnect via automatically generated FQDN (xxx.database.windows.net)Initially contains only a master database
Provision servers interactivelyLog on to Windows Azure Management PortalCreate a SQL Azure serverSpecify admin login credentialsAdd firewall rules and enable service access
Automate server provisioningUse Windows Azure Platform PowerShell cmdlets (or use REST API directly)wappowershell.codeplex.com
Creating a SQL Azure DB
demo
Build and Deploy your Database
Build Your DatabaseUse familiar technologiesSupports Transact-SQLSupports popular languages
.NET Framework (C#, Visual Basic, F#) via ADO.NETC / C++ via ODBCJava via Microsoft JDBC providerPHP via Microsoft PHP provider
Supports popular frameworksOData, Entity Framework, WCF Data Services, NHibernate
Supports popular toolsSQL Server Management Studio (2008 R2 and later)SQL Server command-line utilities (SQLCMD, BCP)CA Erwin® Data ModelerEmbarcadero Technologies DBArtisan®
Differences in comparison to SQL Server Focus on logical vs. physical administrationDatabase and log files automatically placedThree high-availability replicas maintained for every databaseDatabases are fully containedTables require a clustered indexMaximum database size is 50 Gb
Unsupported SQL Server featuresBACKUP / RESTOREUSE command, linked servers, distributed transactions, distributed views, distributed queries, four-part namesService BrokerCommon Language Runtime (CLR)SQL Agent
Build Your DatabaseThin client database developmentIntroducing the SQL Azure management portalWeb designers for tables, views, stored procsInteractive query editing and execution
Rich client database developmentIntroducing SQL Server Data Tools (SSDT)Visual Studio IDE for database developmentIncludes modern designers and projects with declarative, model-driven developmentDevelop and test in both connected and disconnected statesPlatform targeting for both SQL Server (2005 and above) and SQL AzureGet it free with Web PI, with SQL Server 2012 and with Visual Studio 11
Deploy Your DatabaseData-tier Application Framework (DAC Fx)Alternative to traditional script based approachDramatically simplifies deployment, migration and versioning of databasesProvides a single unit of deployment for schema (dacpac) or for schema + data (bacpac)Supports automatic versioning of database schemasSupports platform targeting for both SQL Server (2005 and above) and SQL AzureBuild from scratch or extract from existing db
How to get the latest DAC FxWith SQL Server Data ToolsWith SQL Server 2012 Management StudioWith SQL Azure Import/Export ServiceVia sqldacexamples.codeplex.com
Deploy Your DatabaseInteractive approach for dacpac v1 and v2Manage your server with SQL Azure Management PortalDeploy dacpacLoad data (scripts, bulk copy, SSIS)Also supported in SQL Server 2012 Management Studio
Interactive approach for bacpac v2Upload bacpac to blob storageLog into Windows Azure Management PortalImport bacpac, table data automatically loadedAlso supports export to blob storage
Upgrading a dacpac or bacpacNot supported in portals yetUse SQL Server 2012 Management Studio
DAC deployment from Visual Studio
demo
Secure your Database
There are two ways to secure a database:
Within the Database
On the Server
BenefitsServer identity and access controlSQL authentication supported Integrated authentication not supportedConnect to master to administer logins and create / drop databasesThe admin login (configured during service provisioning) is like saThe admin login has full rights on the server (and all databases) and should only be used for administrationManage logins with CREATE / ALTER / DROP LOGIN commandsMembership in the loginmanager server role grants CREATE / ALTER / DROP LOGIN privilegesMembership in the dbmanager server role grants CREATE / DROP DATABASE privileges
BenefitsDatabase identity and access controlLogins must have an associated user account to connect to a databaseThe admin login is automatically associated with a special user known as dbo (database owner)The dbo has full rights in the database and should only be used for administrationManage users with CREATE / ALTER / DROP USER commandsAdd users to system or user-defined database roles to grant privileges via sp_add_rolememberOrganize database objects into schema containers based upon common access control requirementsGrant privileges to schema containers instead of individual objects for better productivity
Connect Your ApplicationConnecting to SQL Azure1. TDS (Tabular Data Stream) protocol over
TCP/IP supported2. SSL required3. Use firewall rules to connect from
outside Microsoft data centerASP.NET EXAMPLE:
Special considerations1. Legacy tools and providers may
require special format for login: [login]@[server]
2. Idle connections terminated after 30 minutes
3. Long running transactions terminated after 24 hours
4. DoS guard terminates suspect connections with no error message
5. Failover events terminate connections6. Throttling may cause errors7. Use connection pooling and implement
retry logic to handle transient failures8. Latency introduced for updates due to
HA replicas9. No cross-database dependencies,
result sets from different databases must be combined in application tier
<connectionStrings><addname="AdventureWorks"connectionString=
"Data Source=[server].database.windows.net;Integrated Security=False;Initial Catalog=ProductsDb;User Id=[login];Password=[password];Encrypt=true;"
providerName="System.Data.SqlClient"/></connectionStrings>
Exploring advanced Capabilities
Explore Advanced Capabilities Rapid innovation
Improved engineering efficienciesQuarterly service update cadence Improved operational agility
Powerful new servicesBuy / sell finished data sets on the Windows Azure MarketplaceVisualize data with SQL Azure Reporting Synchronize data with SQL Azure Data SyncScale out data with SQL Azure Federations
New developer opportunitiesDevices connected to continuously available cloud servicesConsumer applicationsSaaS applications
Visualize Your DataSQL Azure Reporting isSQL Server Reporting Services technology delivered as a service on the Windows Azure PlatformIdeal for operational reporting against SQL Azure dataEnterprise-ready with automatic support for HADesigned to scale elastically with demand
Get started quicklyProvision report server via Windows Azure Management PortalBuild reports with Reporting Services Report DesignerDeploy reports to report serverRender reports with Visual Studio ReportViewer controls
Visualize Your DataDifferences in comparison to Reporting ServicesFocus on logical vs. physical administrationReport catalog and temporary database automatically provisionedWindows Azure Management Portal replaces Report managerSSL RequiredSQL Azure data sources onlyUnsupported Reporting Services featuresReport BuilderSubscriptions, schedules, caching Custom extensionsReport modelsExternal images
Use familiar technologiesVisual Studio Report DesignerRDL (Report Definition Language)Report items and visualizationsReport Server Web Service / URL accessVisual Studio ReportViewer Control
Identity and access controlSQL authentication supported (no support for integrated authentication)Admin user configured during provisioningAdmin user has all rights on server, use for administration onlyProvision users using portal or web serviceAdd users to appropriate item (Browser, Publisher) and system roles (User, Admin)Grant item-level permissions to folders or reports
SQL Azure Reporting Services
demo
Synchronize Your Data
SQL Azure (Hub)
SQL Azure (US)
SQL Azure (WE)
SQL Server
(OnPrem)
SQL Azure Data Sync isMicrosoft Sync Framework technology delivered as a service on the Windows Azure PlatformIdeal for scheduling synchronization between data sets hosted in SQL Azure or SQL ServerUses a hub and spoke topology
Special considerationsConflict resolution policy configured centrally (hub or client wins)Sync direction configured between each client and the hub (to hub, from hub, bi-directional)Sync schedule must be between 5 minutes and 1 monthData sets include multiple tables and can be filtered, triggers are added to data set tables Tables added to hub and client schemasAgent must be installed for on-prem clients
Synchronize Your DataProvisioning synchronization groupsDeploy database to hub and clientsSet synchronization scheduleSet conflict resolution policyDefine data setAdd SQL Azure clients to topologyInstall agents on SQL Server clients and add them to topology using keysDeploy topology
Operational considerationsManual synchronization supportedHub updates require one synchronization to distribute to all clientsClient updates require two synchronizations to distribute to all clientsSync Framework triggers may affect application behavior
SQL Azure DataSync
demo
Scale Out Your DataSQL Azure Federations providesIntegrated database sharding that can scale to hundreds of nodesMulti-tenancy via flexible repartitioningOnline split operations to minimize downtimeAutomatic data discovery regardless of changes in how data is partitioned
Special considerationsA logical database can contain multiple federationsDistribution scheme supports int, bigint, guid, and varbinary typesFiltering routes connection to appropriate shard regardless of changes in partitionsMerge, fan-out queries and automatic distribution of schema changes not supported in initial release
Multi-Tenant Db
Tenant 1
Tenant 2
Tenant 3 Db Tenant 4
Tenant 4
Db 1
Tenant 4
Db 2
Federation Root
SQL Azure Federations
demo
Thank You
Appendix
SQL Azure Billing Rates (As of Feb 2011)
Web Edition $5.00 per database up to 100 MB per month$9.99 per database up to 1 GB per month $49.95 per database up to 5 GB per month
Business Edition $99.99 per database up to 10 GB per month $199.98 per database up to 20 GB per month $299.97 per database up to 30 GB per month $399.96 per database up to 40 GB per month $499.95 per database up to 50 GB per month
Data TransfersNorth America and Europe regions $0.15 per GB out Asia Pacific region $0.20 per GB out All inbound data transfers are at no charge.
SQL Azure Database Architecture (As of October 2011)