The Future of Database Development with SQL Azure David Robinson Senior Program Manager Microsoft Corporation SVC27
Feb 25, 2016
The Future of Database Development with SQL AzureDavid RobinsonSenior Program ManagerMicrosoft Corporation
SVC27
Agenda> SQL Azure Overview> Database Lifecycle Overview> How do we develop our Databases
today?> What are Data-Tier Applications?> Managing Multiple Database
Environments> Project Houston
SQL Azure Database
Customer Value PropsSelf-provisioning and capacity on demandSymmetry w/ on-premises database
platformAutomatic high-availability and fault-
toleranceAutomated DB maintenance
(infrastructure)Simple, flexible pricing – “pay as you
grow”
Browser
MSDatacenter
SOAP/RESTHTTP/S
SQL Azure Database (Windows Azure Compute)
Windows Azure Compute
T-SQL (TDS)
App Code(ASP.NET)
SQL Server Reporting Server
(on-premises)
Astoria/REST - EDMHTTP/S
- AD Federation (LiveId /.Net Svcs ACS)
SQL AzureDatabase
T-SQL (TDS)
Relational database service
• SQL Server technology foundation• Highly symmetrical• Highly scaled
Database “as a Service” – beyond hosting
Highly scaled out relational database as a service
Database Lifecycle Overview
Requirements Analysis
Schema Design
Implementation
Maintenance
How do we develop our data tiers today?> Develop locally using SQL Server> Rich design tools available
> SQL Server Management Studio> Visual Studio
> Script out our Schema Artifacts> Install in SQL Azure
Newly added support in SSMS R2 is changing the game
SQL Server Management Studio
2008 R2demo
ChallengesDevelopment
• No uniform DB project system and workflow
• No ability to capture deployment intent
• Lack of T-SQL designers for breadth developers
Deployment• DBAs and Developers
work in silos• No clean app
containment once deployed
• Time consuming and error prone
Management• Difficult to centrally control
the environment• SQL Server sprawl on the rise• Impact analysis & resource
planning is tricky, difficult
Near Term
Long TermNear Term
Investments Development• Data-tier Application
project• New T-SQL IDE in VS 2010• Integrated editor, debugger,
IntelliSense, language service, policy designer
• Static code analysis, build service
Deployment• Easier to deploy and
upgrade Data-tier Apps from VS and SSMS
• Single unit of deployment has app + developer intent
Management• Manage @ Scale: SQL
Server Control Point• Visualize resource utilization
at the instance & application level
• Trending analysis helps improve resource utilization, reduce costs
Concepts
> Data-tier Application Component> Improves collaboration between developer
and DBA> .dacpac = single unit of deployment (data-tier
application + developer intent)> Moves developers from a procedural model
to a declarative model> No need to create alter statements + scripts that
need to be run in the correct order> Contains the desired shape of the
application> Allows tooling to enable scenarios like drift
detection
> V1 is targeted at Departmental apps
> Data-tier Application Project> New project type in VS 2010; Leverages Database project system
code base> First class T-SQL/DAC development experience in Visual Studio> Developers can declare deployment intent> Build output = .dacpac
Data-tier Application Component
SchemaLOGICAL
Tables, Views, Constraints,
SProcs, UDFs,
PHYSICALUsers, Logins,
Indexes
DAC Deployment ProfileDeployment Requirements,
Management Policies, Failover Policies
Unit of Deployment
SQL Azure & Data-Tier Applications
demo
Managing Multiple Database EnvironmentsDev, Test, ProdWhat we do today
> Developers make changes during development
> Developer manually creates update scripts to give to Testers
> Testers then give update scripts to Operations
> Operations deploy to production
What is wrong with this?> Phase transitions are
typically a manual process guided by a development methodology
> Manual Processes are error prone
> Backups mitigate risks but…
How can we do this better?
Quick Trivia Question…> A smoke test is a non exhaustive
software test to ensure that recent changes did not break the high level features of the productIf an electronic device didn’t catch fire,
it was free to proceed for further testing
Smoke bombs were placed insidechambers to ensure they were airtight
Managing Multiple Database EnvironmentsWhere we are headed
010101010101
Dev Test Prod
010101010101
SQL AzureDev DB
SQL AzureTest DB
SQL AzureUAT DB
SQL AzureProd DB
DAC
Having Best Practices built in makes a happy customer
Higher quality gates prevent changes to production
Only after smoke tests pass are the changes allowed
When ready, changes are packaged and smoke tested
Our developer goes about their day writing new code
At the same time, our tester is writing smoke tests
Tests are uploaded and
form an enforcement
boundary
Utilizing a DAC handles all the schema upgrades automatically
>>FUTURESQL Azure Database Lifecycle
> Combine Existing Technologies Together> Business Rules> MSTest> DACPACs
> Ensure that all updates are fully tested
> Prevent any fat-fingering> Allows you to have “Best Practices”
built in
>>FUTUREHow will we develop SQL Azure
Databases in the Future?
“I want an easy way to just get in there and start developing”
“My database is in the cloud, why can’t my database development
tools be?”
Introducing Code Name “Houston”
demo
Wrap Up> SQL Azure is a powerful and symmetrical relational
database as a service> You can develop and interact w/ SQL Azure
databases in that same way and leveraging the same skill set you are have for SQL Server
> Data-Tier Applications Streamline> Development> Deployment> Management
> Project Houston will provide a easy to use cloud based database development experience
> We continue to invest in development and admin tooling across the breadth of the SQL data platform
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation
forms online atMicrosoftPDC.com
Learn More On Channel 9> Expand your PDC experience through
Channel 9
> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses
channel9.msdn.com/learnBuilt by Developers for Developers….
© 2009 Microsoft Corporation. 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.