DevOps Research and Assessment (DORA) highlights that database changes are often a major source of risk and delay when performing deployments. DORA’s research found that integrating database work into the software delivery process positively contributes to continuous delivery.
Teams that do well at continuous delivery store their database changes as scripts in version control and manage these changes in the same way they manage production application changes. Furthermore, when changes to the application require database changes, these teams discuss them with the people responsible for the production database, and ensure the engineering team has visibility into the progress of pending database changes.
Adoption expectations
System Components | MVP | MVP+ |
---|---|---|
Database change process is documented |
+ |
+ |
Database schema is stored in VCS |
+ |
+ |
Adopt recommended database schema migration tool |
+ |
+ |
Establish communication between Engineering and DBA teams |
+ |
+ |
Integrate database changes automation into CI/CD process |
|
+ |
Implement zero downtime approach |
|
+ |
Tools
Functionality | Tool Name |
---|---|
Database Schema Management Tools |
Entity Framework (.net ORM),
|
Roles
Name | Responsibilities |
---|---|
Solution Architect |
Design solution and propose approaches to avoid any manual database changes |
System Architect |
Design solution and propose approaches to avoid any manual database changes |
Developer |
Version control all database changes |
Build Engineer |
Develop automated database migration pipeline |
System Engineer |
Configure databases and related tools to support full traceability and version control capabilities |