Despite how the database is the lifeblood of many organizations, its management remains siloed and is more often than not left to a separate team of resident experts outside of the sphere of DevOps. Database developers also may work separately from the database administrators, thus further slowing down deployments.
The end result, of course, is that database management generally fails to benefit from the same level of agility DevOps offers application development. Bottlenecks thus occur when slower and less-agile database development holds up DevOps-managed application releases and deployments.
Determining the role DevOps needs to play for successful database development hinges on a number of things, including making sure everyone is on the same page when it comes to database changes.
Database changes can mean different things to different people. For example, a database change can mean applying a patch or fix, or it can mean deploying database changes. It’s thus important to add context to avoid confusion. “When you talk about deploying database changes, it involves changing the structure and the logic of a database to keep it in sync with the applications it supports,” said Ben Geller, vice president of marketing for Datical.
“Database release automation” also calls attention to how DevOps needs to address both the application-code pipeline and the database-code pipeline, Geller said. “When you’re doing application release automation, you’re automating the build, deployment and release of application code. When you’re doing database release automation, you’re automating the build, deploy and release of database code.” Geller said. “You need both of those things to happen in sync to in order to ship software.”
The ability to rely on a DevOps teams to successfully deploy and manage database schema and logic changes is also contingent on adopting the right tools.
This is not to say that making the shift to using DevOps to give database development the attention it requires is easy. Getting there often can require major changes to an organization’s DevOps’ processes, including making cultural and job-definition adjustments. Realizing what exactly is involved conceptually as well as adopting the necessary tools, for example, represent the starting points.
Meanwhile, the resulting advantages and improvements to an organization’s ability to deploy database schema and logic changes in ways described above should pay off in both the near and long term. This likely will lead to improvements in agility measured by deployment speeds and other key performance metrics.