RoundhousE experience report

RoundhousE is an automated database deployment and change management system. We started to use it over a year ago, so it’s time for an experience report.

At the current moment we’re using RoundhousE in 3 big projects and 5 smaller ones each deploying new versions and schema updates at least once a month in an automated way to over 25 on-site client installations. And it’s working great!

This year 2 more big projects are planned to start using RoundhousE for database migrations. And each new project that starts, small or big has to use RoundhousE. It has become a company policy.

Developer and integration sandboxes

We provide each project with development sandboxes on the developers machine and a project integration sandbox on the build server. The project databases get rebuild from scratch with every automated build using the MsBuild integration of RoundhousE. Database migration scripts are getting tested over and over on different platforms (sql server 2005/2008 and oracle 10/11).

Deploy into a copy of production

We’ve set up an internal production like environment where new versions are pushed upon and tested first, before being released to production.

We integrated the execution of the RoundhousE console in a self made PowerShell script, that also updates the version of the application (stopping/starting services and websites, copying binaries that kind of stuff).

Deploy into production

Because we have those environments mentioned above, and the deployment is already tested, a production migration rarely fails. And even if it fails on Sql Server, that’s not a big issue, because RoundhousE runs the migration in a transaction. So nothing happened.

Conventions around RoundhousE

We implied 3 conventions to make the process run smoothly:

  • Before we start deploying with RoundhousE on a project, the current databases in production need to have the exact same schema. This is also the hardest part in our process, but once it’s completed it’s a gift from heaven. :-)
  • Only the database user which RoundhousE uses to perform the migration has the right to make schema updates to the database. And the development team does not know those credentials. That way we assure that only RoundhousE performs schema updates.
  • Nothing gets deployed into production before it’s deployed to our internal environment.

To make it perfect

The Oracle integration still needs some work, so maybe a real Oracle expert can contribute to the project, enlightening us with the wonderful internals of Oracle.

General feeling

RoundhousE is still awesome!

1 opmerking: