SSDT, Docker, and (Azure) DevOps

Slides:



Advertisements
Similar presentations
Oracle to MySQL Database Migration SQLWays - Migration Software Presentation Copyright (c) Ispirer Systems Ltd. All Rights Reserved.
Advertisements

#sqlsatPordenone #sqlsat367 February 28, 2015 Testing your databases Alessandro
Your CMDB and PowerShell DSC: DevOps Techniques
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
SQL Server to MySQL Database Migration SQLWays - Migration Software Presentation March 2009 Copyright (c) Ispirer Systems Ltd.
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer, Progress Sonic.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer Progress Sonic.
Database Projects in Visual Studio Improving Reliability & Productivity.
Cruise Training Introduction of Continuous Integration.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Continuous Deployments using SSDT
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Developing SQL/Server database in Visual Studio Introducing SQL /Server Data Tools Peter Lu.Net Practices Director Principle Architect Nexient March 19.
Get testing with tSQLt Practical examples and automation Steve Jones SQLServerCentral Red Gate Software.
Others Talk, We Listen. Managing Database Projects in Visual Studio 2013.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Automated Build and Test
Bringing DevOps to the Database
© Disciplined Agile Consortium
Stress Free Deployments with Octopus Deploy
Continuous Delivery- Complete Guide
Visual Studio Database Tools (aka SQL Server Data Tools)
SQL Server deployments
N-Tier Architecture.
Continuous Deployments using SSDT
A whirlwind tour through the Microsoft DevOps landscape Jesse Houwing | xpirit.com/jesse Trainer, Coach, Tinkerer.
DataOps DataOps DevOps for Analytics.
What is this talk about? How to actually use source control, how to get started with SSDT and how to start with continuous integration We will cover what.
Bringing DevOps to the Database
Continuous Integration For Databases
X in [Integration, Delivery, Deployment]
Making PowerShell Useful
ORMs and the DBA How to Make Both Happy.
Intro to Unit Testing with tSQLt
SQL Server and PowerShell Let’s Get Serious
Visual Studio Database Tools (aka SQL Server Data Tools)
Continuous Deployments using SSDT
DevOps Acceleration Engine
Bringing DevOps to the Database
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
ORMs and the DBA How to Make Both Happy.
Continuous Deployments using SSDT
DevOps Acceleration Engine
Continuous Deployments using SSDT
DAT381 Team Development with SQL Server 2005
Your code is not just…your code
SSDT and Database Project Basics
ORMs and the DBA How to Make Both Happy.
HCL’s Viewpoint – DevOps on MS Cloud
4/20/ :00 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Helping you make your code better
Node.js Test Automation using Oracle Developer Cloud- Simplified
Platform Independent Full Stack Development
Michelle Haarhues Keeping up with SSMS.
Keeping your SQL Code safe
SSDT, Docker, and (Azure) DevOps
Erik Vollebekk Application Architect
Adopting a Compliant Database DevOps Process
Introduction to ETL with SQL Server Integration Services
Adopting a Compliant Database DevOps Process
The Future of Database Development
Continuous Integration and Delivery (CI/CD) in Azure Data Factory
SSDT, Docker, and (Azure) DevOps
Your code is not just…your code
Samir Behara, Senior Developer, EBSCO
SSDT, Docker, and (Azure) DevOps
Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:
Presentation transcript:

SSDT, Docker, and (Azure) DevOps How to Make Your Database Builds a First Class CI/CD Citizen

Thanks to our GOLD Sponsor

Thanks to our SILVER Sponsors

What’s On Deck? Why Are We Here? SSDT Overview Unit Testing? In a Database? Azure DevOps Builds – We Pull It All Together Questions

Why Do We Want To Do This Anyway?

First, Some Definitions DevOps – A set of software development processes that combines software development and information technology operations to shorten the systems development lifecycle while delivering features, fixes, and updates frequently in close alignment with business objectives (Wikipedia) Continuous Integration (CI) – Integrating into a common branch frequently, building the code, and running automated unit tests to ensure the changes are valid Continuous Delivery (CD) – Automated release process that allows push button release of the CI artifacts

Why Use a CI/CD Process With DDL Your data definition language is part of your codebase, just like the application code Practicing CI/CD in conjunction with storing your DDL in source control allows your developers to see changes as they happen and participate in the process You will share a common development, build, and deployment mechanism with your application developers You can definitively answer the question “what was deployed?” and can recreate the database shape to any point in time Building your database can help identify issues such as misspellings or missing objects

Intro (or Refresher) to Sql Server Data Tools

Unit Testing?

Unit Testing??? If you have business logic in your database, it needs to be tested somehow The output of functions and stored procedures can change (or stop working entirely) with DDL changes Using the tSQLt unit testing framework (https://tsqlt.org) can help detect regressions in your code But…unit tests can only be effective when you run them, preferably in an automated fashion

Azure DevOps Builds

Things We Can Do To Improve and Extend This Have a dedicated build server As you have seen, the build is very slow using only Azure-native components Handle data type changes This potentially involves both a pre-deployment script (to copy data out of the affected table) and a post-deployment script (to copy data back into it) These scripts will need to test whether the change is in place or not

What This Doesn’t Solve For

Some Things This Doesn’t Solve For (Directly) Large-scale refactorings Load testing Cases where you need to specify a version in the database itself This is probably possible, but would require some serious scripting Your thoughts?

Questions?

Who am I? Dan Mallott Twitter: @DanielMallott Github: https://github.com/danielmallott LinkedIn: http://lnked.in/danmallott Principal for West Monroe Partners In the industry since 2011 Primary experience with SQL Server, starting with SQL Server 2005 Also worked with Oracle, PostgreSQL, and Cassandra Been both a DBA and a developer Have a couple Microsoft certifications DataStax Certified Professional