Skip to main content
Enterprise Agile Planning icon with arrows

This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.

Last Updated Jan 28, 2015 — Enterprise Agile Planning expert

Continuous Delivery & the Database - The Final Frontier?

Enterprise Agile Planning

We talk to many teams in organizations of all shapes and sizes about automating application deployment. A point we always try to stress is that you really need to think about automating all the steps required to get your application running. Most of the teams we talk to say that yes, of course, this is their goal. “Also the database updates?” we ask. “The database updates?” they respond. “No, no, we can’t automate those…the DBAs will never sign up for that!”! In many cases, this is pretty understandable. Unlike application code or even entire servers, which can be reinstalled if necessary, the records stored in databases represent data that is not trivial to restore or recreate if is lost or incorrectly changed. The reputational risk of losing orders, patient records or the like is significantly higher than being offline for a short period of time. Database changes are also difficult to test (at any rate, there is as yet no well-established practice of unit testing database changes), so it’s not surprising that many feel that having “an extra pair of eyes” review a proposed database update before applying it is A Good Idea. Unfortunately, the growing business pressure to deliver new functionality and applications faster and faster means that having time-consuming steps in your release process is quickly becoming unacceptable. With organizations looking to implement practices such as Continuous Delivery, bottlenecks such as the manual review and execution of database updates need to be removed. What to do?App and DatabaseBy applying proven best practices to the database as well as the application, we can avoid getting stuck with a half-automated, half-manual process. Combining deployment automation tools such as XL Deploy with a specialized database solution like DBmaestro will help you to:

  1. Ensure the database follows practices such as enforced database version control. The idea is the same as traditional code version control, but designed to make sure you achieve a reliable source of truth and reliable foundations, while not having to deal with out-of-process changes, undocumented database updates etc.
  2. Efficiently package all changes sets that need to be deployed for both application and database. Database changes can be deployed either based on labels or on specific change sets.
  3. Perform a trustworthy impact analysis for database changes prior to actual deployments. The analysis must identify and prevent code overrides or conflicts and make sure we don’t break production by automatically deploying something it shouldn’t have.
  4. Ensure the database impact analysis and database change execution are invoked at the right time in the overall deployment plan, enabling controlled, secure, database updates as part of the Continuous Delivery pipelines.
The synergy between the two tools is crucial: no changes will be made to the database if the code deployment fails. Likewise, the deployment of the application will not be started if impact analysis indicates a risky database update.

The IT Manager's Guide to Continuous Delivery

Continuous Delivery allows you to get new features and capabilities to market faster and more reliably. This ebook helps managers understand the principles behind Continuous Delivery, explains the transition to a Continuous Delivery organization, and gives practical advice on how to start benefiting from the dramatic improvements Continuous Delivery provides.
ConclusionDBmaestro enables automated database updates as part of the Continuous Delivery pipeline while giving teams and organizations the kind of control, insight and traceability that they require. Considering the benefits of combining app and database automation, supporting database deployment tools such as DBmaestro is a bit of a no-brainer for XL Deploy. In fact, you can include DBmaestro change sets directly in your deployment packages created automatically as part of your build process using your favourite build tool or CI server. XL Deploy will ensure DBmaestro is invoked at the right time in the overall deployment plan, enabling controlled, secure database updates as part of your Continuous Delivery pipelines. Time to cross the Final CD Frontier!Get XebiaLabs webinars on-demand!

More from the Blog

View more Government Cloud
Apr 12, 2022 Government Cloud receives FedRAMP Authorization through sponsorship from the United States Department of Veterans Affairs

Enterprise Agile Planning
Flagship Agility solutions can effectively scale agile deve ...
Read More
Nov 22, 2021

What are the qualities of highly effective agile teams?

Enterprise Agile Planning
A team is the core unit of productivity in an agile organization. Wher ...
Read More
Nov 15, 2021

How an open-first attitude revolutionized government tech development

Enterprise Agile Planning
Public perception of government is often that it is slow-moving, reluc ...
Read More
cross functional
Nov 08, 2021

6 best practices for building resilient cross-functional teams

Enterprise Agile Planning
Agile frameworks prize the quality of resilience within every facet of ...
Read More
Contact Us