Software industry leaders have been talking about DevOps for more than a decade. Most top firms say that they’re committed to a holistic DevOps philosophy and that they’re trying to put it to work across their organization, integrating roles and functions throughout the development pipeline. Yet many of them overlook the one area where problems are most common and consequential: the database.
In his new ebook, DevOps for the Database, Baron Schwartz digs into the root causes and offers practical guidance for more widespread and effective use of DevOps practices to optimize database performance. There are many different definitions of DevOps and different ideas about the right way to do it – all are context specific. However, Baron’s first-hand observations and insights gathered from the database community suggest that certain capabilities are especially important and that advances are often achieved through a similar progression. Steps forward typically fall into six categories:
- Baseline DevOps infrastructure operations practices are applied to the database: automated provisioning, automated configuration, monitoring and so forth.
- Database-specific operational tasks such as backups, recovery, upgrades and refreshing the test dataset on pre-production databases are automated.
- Database schema, code and data models – table structures, stored procedure code, etc. – are managed similarly to source code with version control and “normal” change control processes.
- Deployments of database changes such as schema changes (migrations) and data transformations (data migrations) are automated, not performed manually.
- Performance and availability are not just DBA jobs. Developers are involved in and, ideally responsible and on-call for the performance of their application’s production database.
- Database administrators are not doing repetitive tasks. Instead, they serve as subject matter experts who consult with or are embedded within engineering teams to maximize productivity.
These categories are roughly in order of ease to tackle for most organizations but Baron emphasizes that they do not represent a maturity model. DevOps is a journey, not a destination, and progress is not linear so you’re never “done.” DevOps is about doing what is feasible and valuable for your situation.
To learn more about how you can apply DevOps to your databases, please check out this valuable 65-page ebook. It is written for DBAs, developers, SREs, tech operations staff, managers – anyone who is responsible for data-intensive applications and wants to modernize for speed, stability, and efficiency by improving the performance of their organization’s databases.