2. AGENDA
• What is Windows Azure?
• More about SQL Azure
• Migrating to SQL Azure
• Approach
• Tools
• SQL Azure Data Sync?
• Why SQL Azure?
• Resources
3. INTRODUCING WESLEY
• Wesley Backelant
• Technology Advisor – Data Platform / Business Intelligence
• wesback@microsoft.com
• http://www.twitter.com/WesleyBackelant
5. WINDOWS AZURE PLATFORM
GENERAL PURPOSE PROGRAMMING
LANGUAGES
Windows Azure Platform
Compute Management
Storage CDN
6. SQL AZURE – CORE DIFFERENTIATORS
Managed Service Scale on Demand Innovate Faster
• Platform capabilities • Database as a utility • Innovate with new data
delivered as a service with pay as you grow application patterns
(Database, Data Sync, scaling
Reporting…) • Build cloud-based data
• Rely on Business-ready solutions on a familiar
• Reduced complexity, SLAs relational model
greater flexibility
• Enable multi-tenant • Build on existing
• Easy provisioning and solutions developer skills and
deployment familiar Transact-SQL
• Manage multiple syntax
• Auto High availability and servers
fault tolerant
7. SQL AZURE DATABASE
Single Logical Multiple Physical
Database Replicas
Replica 1
Global datacenters
Replica 2
DB High Availability & Redundancy
• Reads are completed at the primary
• Writes are replicated to a quorum of secondaries
Replica 3
8. SECURITY IN SQL AZURE
• Logical tenant isolation
• Encrypted communication
• Firewall rules to accept connections from specific IP
addresses
• Uses regular SQL security model
• Authenticate logins, map to users and roles
• Authorize users and roles to SQL object
• Support for standard SQL Auth logins
• Username + password
Security model is compatible with on-premise SQL
9. APPLICATION TOPOLOGIES
From From Outside From Windows Azure & Outside
Windows Azure Microsoft Datacenter Microsoft Datacenter
Application / Browser App Code / Tools App Code / Tools
SQL Azure
Data Sync
Microsoft Microsoft Microsoft
Windows Datacenter Datacenter Windows Datacenter
Azure Azure
SQL Azure SQL Azure SQL Azure
Code Near Code Far Hybrid
10. MIGRATING TO SQL AZURE
5 step process
1. Get SQL Azure account
2. Choose your Migration tool
1. SQL Azure Migration Wizard
2. Built-in SQL script generation (Including data)
3. Data tier application (DACPAC / BACPAC)
3. Migrate
4. Change Connection String
5. Test , Test, Test
11. TRANSFERRING LARGE DATA
• Best Practices for efficient Data movement to SQL Azure
• Use the right tools is key
o BCP (or SQL Azure Migration Wizard)
• Network performance considerations
o Latency vs Bandwidth
• Best Practices on database level
• Optimize Databases for Data Import
o Disable/Delay creation of none Clustered Indexes
o Order Data on the Clustered Index
o Disable Triggers and Constraint checking
• -N Native mode so no data type conversion needed.
o -c Character mode for interoperability
• -b batchsize will let you control transaction size
• -h”TABLOCK, ORDER(…)” optimize writes
12. SQL AZURE MIGRATION WIZARD
• Great Utility for Moving Databases from SQL Server to SQL Azure
• Pros
o Parallel uploads
o Built in Retry Logic
o Full control on export and Import
o Supports Multiple Languages
• Cons
o Unsupported
13. DACPAC VS BACPAC
• Move Schema through
application lifecycle and manage
databases at scale
• Move Schema and Data through
SQL Server and SQL Azure
15. SQL AZURE DATA SYNC
• No-Code Sync Configuration
• Easily define data to be synchronized with out
coding
• Choose how often data is synchronized
• Handle issues where same data is changed in
multiple locations
• Administration capabilities for tracking data
and monitoring potential issues
• Sync Between SQL Azure Databases
• Geo-Replication, Read/Write Scale out
• Sync From On–Premises to Cloud
• Extend enterprise data to cloud
• Build offline cached experiences
• Sync with branch offices and mobile devices
17. WHY SQL AZURE
Best TCO
• Designed for Internet Scale
• High Availability Built in
• Transparent maintenance
Familiar and Unique
Productive Innovation
• Less Complex; Better value • BI as a service
• Developer platform and • Data Sync
broad ecosystem
Comparison between SQL Azure and SQL ServerHighlight the differences between SQL Server and SQL Azure (emphasize the PaaS aspect since SQL Azure is fully managed as opposed to a VM in the cloud)Emphasize the differences between “Server” and “Service” and the flexibility that comes with it (pay as you go, fully managed) etcEnd by Highlighting the common tools and programming model across both SQL Server and SQL Azure Same T-SQL based programming model, tools like Visual Studio, SSMS, SSMA, SSIS bcpetcAlso highlight about tools to migrate data to SQL Azure
Recap Earlier Discussion by reminding audience of three key principles which distinguish SQL AzureUse this section to first remind audience that we are extending the same SQL Server based information platform to the cloudExplain that we have features like Database, Data Sync and Reporting to highlight the fact that it is more than just database in the cloudRe-iterate pillars and talk about features like self-managing, multiple copies of data, built in HA and fault tolerance etc
Slide ObjectiveUse this slide to transition into an explanation of SQL Azure Database (Reporting and Data Sync will be covered later)Explain at a high level how SQL Azure worksSpeaker NotesDesign Principle of SQL Azure: Focus on combining the best features of SQL Server running at scale with low frictionSQL Azure is a high availability databaseAlways three transaction consistent replicas of the databaseOne primary replica; two slave replicasFailure of a replica will result in another replica being spun up immediately by the fabricFailure of the primary replica means a slave replica will become the primary and a new slave will spin upMinimal down timeTypically just a few dropped connectionsEasy to code for the failover scenario- if you are ding god connection management and error handling will be fineClustered index required on all tables to allow replicationNotesUseful article from SQL Azure teamhttp://msdn.microsoft.com/en-us/magazine/ee321567.aspx
Security
Slide ObjectiveDiscusses various SQL Azure data access topologiesSpeaking notesAccess from within Microsoft Datacenter (Code near scenario)Connect a Windows Azure Compute application to SQL AzureExecuting Asp.NET code, PHP, other managed code, native codeSimple familiar programming modelAccess from on premise applications (Code far)Solve the DB under the desk issue.NET, native or other platform supportMicrosoft access as a front end offers interesting scenarioNeed to be conscious of query frequency and/or payloadAccess from both Cloud and On PremiseE.g. application with browser front and AND a need to sync to mobile devicesCloud provides an always up rendezvous point for data consumersWindows Azure runs the browser based applicationOther applications connect remotely- TDS, Odata, SncNotesMSDN on topology optionshttp://msdn.microsoft.com/en-us/library/ee336239.aspxSQL Azure + MS Accesshttp://blogs.msdn.com/b/access/archive/2010/06/07/access-2010-and-sql-azure.aspx
Elastic ScaleService scales as resources requirements growNo-Code Sync ConfigurationEasily define data to be synchronizedSchedule SyncChoose how often data is synchronizedConflict HandlingHandle issues where same data is changed in multiple locationsLogging and MonitoringAdministration capabilities for tracking data and monitoring potential issues
Best TCODesigned for Internet ScaleSQL Azure is fully managed database as a service built on an elastic scale-out infrastructure optimized for Internet scale workloads such as SaaS ISV and Web Business applications.Amazon RDS is a partially managed, traditional VM hosted scale-up modelHigh Availability Built InSQL Azure: all DBs have 3 replicas with automatic recovery from network, hardware, and software failures baked inAmazon RDS: you have pay extra (2X) for less (traditional 2 node failover)Transparent MaintenanceSQL Azure: we perform rolling platform updates (hardware upgrades, software patching, etc.) transparently with no application downtimeAmazon RDS: your database is regularly taken offline for software patchingUnique InnovationBusiness IntelligenceSQL Azure works today with Microsoft’s familiar BI tools (Office, SSRS, SSAS); innovative roadmap of cloud BI services coming in next 12 months (reporting service CTP coming late CY10; analytics in CY11)Data marketplace (Dallas) enables aggregation and rich visualization of both public and private information sourcesAmazon RDS offers no BI capabilitiesPower of the Cloud In Your DatacenterWindows Azure Platform Appliance: On-premises appliance offers same functionality and services as SQL AzureAppFabric Service Bus and SQL Azure Data Sync: extend your existing applications and databases to the cloud securely and in real-timeFamiliar and ProductiveLess Complex; Better ValueSQL Azure has simpler billing – everything is bundled, consistent and easy to comprehend. It also provides more at lower price, high-availability is an inherent feature of the service vs. Amazon RDS, which requires additional paid nodesAmazon RDS prices individual meters – storage, bandwidth charged separatelyDeveloper Platform and Broad EcosystemSQL Azure: Leverage familiar T-SQL and .NET based application model (Transact-SQL, ADO.NET, OLE DB, ODBC, and JDBC, LINQ, Entity Framework, WCF Data Services)Integration with existing tools to ensure rapid development and reuse of existing skillset and best practices (Visual Studio, SQL Server Management Studio , Migration tools for SQL Server, Access and MySQL)
Elastic ScaleService scales as resources requirements growNo-Code Sync ConfigurationEasily define data to be synchronizedSchedule SyncChoose how often data is synchronizedConflict HandlingHandle issues where same data is changed in multiple locationsLogging and MonitoringAdministration capabilities for tracking data and monitoring potential issues