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
Feb 14, 2021

Reflecting on the 20th anniversary of the Agile Manifesto

Enterprise Agile Planning
Over the past 20 years, it’s been amazing to watch an idea from ...
Read More
Feb 08, 2021

How does agile apply to an entire organization?

Enterprise Agile Planning
Before we dive into the main subject of this blog post, it is importan ...
Read More
Feb 03, 2021

It took a pandemic to realize why digital transformation actually matters

Enterprise Agile Planning
Before anyone had ever heard of COVID-19, businesses across the globe ...
Read More
Jan 27, 2021

Improve visibility, reduce costs, and take back control of your scaled out container and cloud deployments with the latest releases of Digital.ai Agility and DevOps solutions

Enterprise Agile Planning
We’re thrilled to announce the latest releases of our Digital.ai Agili ...
Read More
Contact Us