
Over time, the availability of database design tools and / or object-relational mapping libraries have caused most of the database development to happen inside a development environment of some sort. The database itself would serve as the system of truth In the past, it was common for database development to be done in a “connected” fashion where database management tools would be used to create database objects. A database is created as a collection of schema objects (tables, views, indexes etc.) and programmability objects like stored procedures, functions etc.) It is possible to represent all of these as code which can then be version controlled and subjected to “operations” conceptually like any other application code. Let’s quickly consider the lifecycle of a database: In the sections below, you will see correlations of technology and process to these personas. For example, what we classically refer to as “DBA” or “Data Engineering” roles tend to span the Operations and Development personas mentioned above. Development – implements line-of-business applicationsĪll these personas have a role to play when it comes to DevOps for Azure SQL. Operations – manages pipelines and software releases. Central IT – responsible for defining environments (dev / pre-prod / prod) and acceptable infrastructure patterns (including networking).
Security and Compliance – typically responsible to define security controls and patterns.
If you consider DevOps in a typical organization, several personas emerge: DevOps is people following a process enabled by products to deliver value to our end users”. In this post, we take a non-opinionated look at what DevOps for Azure SQL looks like, by reviewing common concepts and providing some options for implementing DevOps for Azure SQL. DevOps is not just automation or infrastructure as code. Donavan Brown’s classic post states: “ DevOps is the union of people, process, and products to enable continuous delivery of value to our end users… You cannot buy DevOps and install it. “DevOps” is a broad term which encompasses various disciplines like CI / CD, testing, monitoring and more.