Azure Devops with SQL Server


Azure Devops pipeline with a sample database

We provide you an Azure Devops YAML file pre-configured for a hosted Windocks server with a sample database. You import the YAML into your Azure devops account and see the pipeline working with the sample database.

Estimated time: 5 minutes



Azure devops pipeline with your own databases

We provide you an Azure Devops YAML file and a free Windocks edition download. You install Windocks on your VM, setup your own databases for cloning, change the YAML for your Windocks server, import the YAML into your Azure devops account and see a pipeline working with your databases.

Estimated time: 30 minutes


Containers



SQL Server containers are increasingly displacing virtual machines and SQL Server installs in the devops world. Containers deliver superior speed, occupy lesser disk space, and deliver significant license savings over the use of virtual machines. A single machine can run upto 50 SQL Server containers with clones of production data, enabling teams of developers to work with their own SQL Server databases.

Developers create SQL Server containers with data using a web application. The devops pipeline creates Windocks containers automatically using docker client commands or using a REST API.

Containers can be created with data in seconds easily and torn down easily, allowing your devops pipeline the flexibility to generate and tear down scores of SQL Server containers with production data during devops builds and deployments. This means that application builds can be done frequently and quickly and tested against production database clones.

Open cloning of production databases with data masking



Open cloning means an architecture for cloning that supports various sources of data and various targets that the database can be attached to. Windocks supports the cloning of data from sources such as backups, storaage area networks (Cohesity, Pure Storage, Netapp and others). These clones can be attached to various SQL Server environments such as SQL Server containers on Windows, docker containers on Linux, or manually installed SQL Server instances.

Using production data in development, test and devops pipelines reduces the risk to production releases since the development and pipeline tests are performed in same database environment as production. Issues related to specific data values, database size, performance, load and stress are likely to surface in earlier stages of the pipeline when those earlier stages use production data.

Windocks combines secure production data with Azure Devops to deliver SQL Server containers with writable production database clones in seconds. These clones are delivered fast, are writeable and consume only a few megabytes in disk space.

Production data can be masked before it is made available to developers, testers and the devops pipeline. Masking can be done with SQL Server scripts or by using third party tools that interact with Windocks.

Database as Code

Devops and continuous integration use versioned code and artifacts and these practices are equally applicable for databases. Modern devops requires the development, testing, and deployment of database migration scripts in the same way as application code. Database developers create both upgrade and rollback scripts which are eventually applied to the current production database. The workflow is typically as follows:

  • Step 1: A database administrator builds an image with today's production database using a dockerfile and a docker build command. Backup files, snapshots, and storage area networks (PureStorage, cohesity, Netapp, etc) are supported
  • Step 2: Developers and testers use the Windocks web application to create SQL Server containers with clones of the current production database
  • Step 3: Developers and testers create and test upgrade and rollback scripts on the production database clones in the SQL Server containers
  • Step 4: Developers check in the scripts to a git repo
  • Step 5: The image is updated with the latest scripts in the git repo
  • Step 6: The production database with the latest upgrade and rollback scripts applied is available to the devops pipeline. It is deployed multiple times to test, staging and other pipeline stages

Learn more about database script development for devops




Azure devops pipeline with a sample database

We provide you an Azure Devops YAML file pre-configured for a hosted Windocks server with a sample database. You import the YAML into your Azure devops account and see the pipeline working with the sample database.

Estimated time: 5 minutes



Azure devops pipeline with your own databases

We provide you an Azure Devops YAML file and a free Windocks edition download. You install Windocks on your VM, setup your own databases for cloning, change the YAML for your Windocks server, import the YAML into your Azure devops account and see a pipeline working with your databases.

Estimated time: 30 minutes