Case study

A new approach to database provisioning


$3.6 billion financial services provider


Time to provision test databases slowed down development


A test installation of SQL Clone through to full adoption


Provisioning time cut to minutes, paving the way for continuous deployment

The customer

Moody’s Analytics, a subsidiary of Moody’s Corporation, helps capital markets and risk management professionals worldwide respond to an evolving marketplace with confidence. The company offers unique tools and best practices for measuring and managing risk through expertise and experience in credit analysis, economic research, and financial risk management.

Moody's Analytics provides insurers with industry-leading modeling and content delivered through high-performance, modular, and configurable software. Its Economic Scenario Generator (ESG) is an award-winning software product that provides Monte Carlo simulation paths for the joint behavior of financial market risk factors and economic variables. The ESG is constantly updated with the latest market and calibration data. The responsibility for keeping the update process running smoothly falls on the shoulders of the Service Delivery Infrastructure (SDI) team.

The architect, two testers, and three software engineers in the team have already adopted agile software development practices and Principal Software Engineer, Daryl Griffiths, is constantly looking for ways to innovate yet further.

"We already had a one-click process for database provisioning, but it was still taking too much time."

The challenge

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

The solution

After testing SQL Clone on other servers to verify it would work in a wider environment, Daryl introduced the tool to the Test Engineers. They could self-serve a cloned copy of a database in seconds, and they reported no differences in performing tests against a clone rather than a full copy of the database.

Daryl then silently switched the provisioning of development copies over to the new SQL Clone process. For a week, the team made changes to their development databases, and ran queries against them, unaware that they were now working with a clone rather than a full database. They reported no impact on performance of their queries.

With SQL Clone tested, validated, and proven, it has now become a standard part of the development process for the SDI team. Anyone in the team can self-serve a cloned copy of a database in minutes. This has contributed significantly to the speed and efficiency of the database development and testing processes.

"We're now moving towards continuous deployment, and SQL Clone is a big part of that."

The results

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

Case study

Paymentsense: Rapid database provisioning

Paymentsense, the UK's largest merchant service provider and one of Europe's fastest growing Fintech firms, cut provisioning time by 85% and transformed the way teams work, with SQL Clone.

Read the case study


Test data provisioning for development

As database teams grapple with shortening release cycles and tightening data protection laws, the need to deliver realistic and compliant test data to development quickly and safely is greater than ever.

Review the most common approaches and their pros and cons in this free whitepaper.

Get the whitepaper