Skip to main content
Enterprise Agile Planning Image

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.
EBOOK

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
Jul 27, 2021

Digital.ai Becomes First to Achieve FedRAMP Moderate “In Process” Status for Enterprise Agile Planning Solution

Enterprise Agile Planning
Digital.ai, the leading AI-driven DevOps value stream delivery, and ma ...
Read More
Jun 21, 2021

How Agile can be implemented effectively across the organization

Enterprise Agile Planning
Just a few decades ago, a “disruption” was seen as an undesirable thin ...
Read More
May 31, 2021

Agile change management processes are key to delivering software faster

Enterprise Agile Planning
With its emphasis on delivery value faster, agile product management s ...
Read More
May 03, 2021

Bringing the agile planning approach to your whole business

Enterprise Agile Planning
The events of the last 12 months have demonstrated that the only sure ...
Read More
Contact Us