Presentation is loading. Please wait.

Presentation is loading. Please wait.

Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:

Similar presentations


Presentation on theme: "Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:"— Presentation transcript:

1 Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:
Global Alliance Partners:

2 SQL Server DevOps Simplified with Production Database Clones
Paul Stanton, Co-founder

3 Agenda What is SQL Server Devops? Choices: production or stubbed data
Choices: containers or VMs Architecture for use of database clones Steps and Demo Resources to get started

4 SQL Server DevOps begins with . .
Database environments for Development and Test Staging Production DB debugging for hotfixes Reporting and BI ETL and Data Warehousing Develop, test and deploy of upgrade and rollback scripts What form of database -- production or stubbed database? How to deliver -- SQL Server containers or virtual machines?

5 Production database clones Built DB with stubbed data (DacPac)
What form of database? Production database clones Built DB with stubbed data (DacPac) Highest quality artifact, includes production data, schema and objects Artifact limited to schema and objects, with stubbed test data Test development is simplest possible Test development must simulate production data Delivery in 30 seconds A multi-DB environment will take 20 – 60 minutes Improved release as data and performance issues are recognized and fixed Data and performance issues are recognized at a later point, complicating the DevOps process Supports prod DB debug & Hot Fix, other uses NA

6 SQL containers or instances?
SQL Server Containers Instances 20+ SQL Server environments per 4 core VM, drives ~5-10:1 reduction in VMs Typically 1 SQL Server instance per VM Provision and tear down in seconds Several minutes to 30+ for multi-database environment Maintenance dramatically reduced On-going maintenance, configuration drift Cloud native and Kubernetes ready NA

7 Architecture

8 Steps and Demo 1. Build an image (database snapshot) with included Git repo clone 2. Set automated image updates with Diff or Transaction Log backups 3. Self-provision SQL Server containers and cloned databases 4. Manage a multi-stage pipeline with Azure DevOps

9 Build the Image FROM mssql-2017 SETUPCLONING FULL db \\pathto\db.bak
COPY datamasking.sql . RUN datamasking.sql Build the Image

10 Build an image with Git repo clones
The Docker images includes a “git pull” to ensure each container include repo scripts, with run time control over scripts: >docker create -e RUN=“scripts/upgrade.sql” gitclone1 >docker create gitclone1 >docker create -e RUN=“scripts/upgrade.sql, scripts/rollback.sql” <image>

11 2. Set the image update schedule

12 Provision SQL Server containers w/clones
Docker clients >docker create <imagename> Web application One click to deliver an environment from an image REST API curl, any code base Any orchestrator - Azure devops, Jenkins

13 4. Implement Azure DevOps pipeline
Download the Azure DevOps pipeline yaml from Windocks Update pipeline yaml to reflect your pipeline environment variables: Server IP address Image name Migration scripts for testing

14 Conclusions Speed: ~20 seconds per environment
Scales to large/complex environments Improve release quality: identify performance and data issues earlier Economy and efficiency (20+ containers on a 4 core VM), simplified Test development Reliability: no configuration drift, no changes in CI pipeline Database clones combined with containers is cloud-native and Kubernetes ready

15 Resources to get started
Database cloning with containers with a free Windocks Community Edition: ask for the Azure DevOps yaml file Setup your own free Azure DevOps pipeline Red Gate SQL Clone:


Download ppt "Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:"

Similar presentations


Ads by Google