"We already had a one-click process for database provisioning, but it was still taking too much time."
Working on a Microsoft stack, the SDI team develop both the application and databases in parallel. They can call on Moody’s Analytics global DBA team when required, but Daryl supervises most of the database work for the team.
Their risk assessment application accesses data from six databases, the largest of which is 230GB. Already familiar with Redgate tools, the team check in database changes using SQL Source Control, before using SQL Compare and SQL Data Compare to perform deployments and upgrades, both automatically and manually.
Provisioning database copies is a constant requirement, particularly for the Test Engineers who need to create several fresh database copies each day, to run the required database integration and system tests. Daryl had developed a one-click database restore process that allowed testers to self-serve copies very easily, but it still took an hour or more to perform each restore. This limited the team to creating two to three fresh database copies each day.
“Our process before was quite slick, but in my tests with SQL Clone, I reduced the time to provision copies of all six of our databases from nearly two hours to ten minutes.”
"The team didn’t notice any difference between working with a real database and a clone."
"We're now moving towards continuous deployment, and SQL Clone is a big part of that."
The introduction of SQL Clone brought advantages to the development process as well. “I found I was less worried about making a change to the database in development,” says Daryl. “Before, I was concerned about changing data because it would take a long time to recreate the database to put it back to a clean state.”
In turn, this encouraged more innovative ways of working. “Traditionally, database work was the one area where there was less freedom to run quick experiments. Now, suddenly, it’s very easy to create two clones, side by side, when I’m working on two different projects, or wanting to try out two different ways of doing something. I think going forward that sort of freedom is going to change the way the team approaches database work, and allow us to deliver changes much more quickly.”
For the Test Engineers, it's meant that they can spin up as many fresh clones as required. They can run tests in parallel and so perform far more extensive testing in the time they have. This gives the team, and the business, a lot more confidence in the reliability of the new features they deliver.
The next big innovation will be continuous deployment, which Daryl is now introducing. “We’re adopting our processes one stage at a time,” says Daryl. “If we want to deliver new functionality more frequently, then we need to adapt and improve our development processes, and ensure that the testers can make the most effective use of their testing time. I think SQL Clone could play a big part in helping us achieve that.”