{"id":85940,"date":"2020-01-01T17:39:25","date_gmt":"2020-01-01T17:39:25","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=85940"},"modified":"2021-04-27T13:35:12","modified_gmt":"2021-04-27T13:35:12","slug":"why-the-database-must-be-part-of-devops","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/opinion\/editorials\/why-the-database-must-be-part-of-devops\/","title":{"rendered":"Why the Database Must be Part of DevOps"},"content":{"rendered":"<p>According to Microsoft, DevOps is \u201cthe union of people, process, and products to enable continuous delivery of value to our end users.\u201d The definition doesn\u2019t mention any frameworks or specific tools, and it\u2019s more about communication and culture than any technology. That said, automation and tooling are critical components of DevOps as it helps organizations improve delivery of software. Unfortunately, in many organizations, changes to the databases are still made outside of the DevOps pipeline.<\/p>\n<p>In the <a href=\"https:\/\/www.red-gate.com\/solutions\/database-devops\/report-2019\">2019 State of Database DevOps<\/a> survey, 85% of respondents reported that they had already adopted a DevOps approach or planned to in the next two years, and only 34% include the database as part of an automated build and deployment process. (The results from the 2020 survey will be available soon!) When the database is not included, features that depend on database changes will be delayed.<\/p>\n<p>Organizations are embracing DevOps, but it\u2019s more difficult to bring the database along. While there are exceptions, you can\u2019t just delete a production database and replace it with a fresh copy. It\u2019s much easier to replace a service or executable file than it is to make database changes, and extra care must be taken to avoid data loss and corruption.<\/p>\n<p>The classic way of implementing database changes is by providing a lengthy script to the DBA and expecting them to quickly validate it and deploy it. Deploying massive database changes to production a few times a year is both risky and difficult. One of the tenets of DevOps is to release small changes frequently. Small database changes should still be validated by a DBA, but they will also be tested earlier and automatically in the pipeline during the build, unit testing, staging, and QA processes. Many steps in the pipeline require realistic copies of the database with all sensitive data masked. The right tools can make this possible.<\/p>\n<p>Historically, database administrators have been accountable for stability and, therefore, resist changes while developers are expected to quickly provide new features that often require database changes. These expectations are diametrically opposed. In a successful DevOps organization, all teams share responsibility for the end goal instead of their own isolated areas or \u201ctechnical silos\u201d to be successful.<\/p>\n<p>DevOps culture tears down technical silos by improving communication between teams. The first step to accomplishing this could mean creating cross-platform teams or embedding DBAs in the dev teams on occasion, for example. Breaking down these silos means moving away from the \u201cus vs them\u201d mentality and the \u201cblame game\u201d when issues come up.<\/p>\n<p>DevOps is not something you can buy or implement by flipping a switch. It\u2019s a gradual process starting with culture. To truly implement DevOps, the database must be included.<\/p>\n<div class=\"spaced-bottom padded--tight scheme--lightest-grey\">\n<h4>Commentary Competition<\/h4>\n<p>Enjoyed the topic? Have a relevant anecdote? Disagree with the author? Leave your two cents on this post in the comments below, and our favourite response will win a $50 Amazon gift card. The competition closes two weeks from the date of publication, and the winner will be announced in the next Simple Talk newsletter.<\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>According to Microsoft, DevOps is \u201cthe union of people, process, and products to enable continuous delivery of value to our end users.\u201d The definition doesn\u2019t mention any frameworks or specific tools, and it\u2019s more about communication and culture than any technology. That said, automation and tooling are critical components of DevOps as it helps organizations&#8230;&hellip;<\/p>\n","protected":false},"author":110218,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[143516,47125,53],"tags":[68855],"coauthors":[11292],"class_list":["post-85940","post","type-post","status-publish","format-standard","hentry","category-database-devops","category-editorials","category-featured","tag-sql-provision"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/85940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/110218"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=85940"}],"version-history":[{"count":3,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/85940\/revisions"}],"predecessor-version":[{"id":86073,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/85940\/revisions\/86073"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=85940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=85940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=85940"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=85940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}