"We have 13 developer teams who work on both application and database code"
Mark Fuller, IT Development Manager
The team used to test new code in a maintenance environment accessible only to a restricted number of developers. This environment used to be regularly refreshed by restoring databases from their backups, taking on average four to six hours each time.
For functional testing, the team used a performance environment which was a close replica of the production environment both in terms of technical specifications and data quality. The same process of restoring from backups was used to refresh the database environment for performance testing.
When datasets containing personally identifiable information were needed for testing, the team had a process in place to remove all the confidential data in that environment. This practice, while necessary to maintain compliance and respect customer privacy, resulted in less reliable data for testing because the new environment would not completely represent the data in production
This way of provisioning was significantly slowing down the development and release processes. Especially when an application deployment would fail and it require a restore of the database to a pristine point. In a situation like this, it would usually take six hours before the teams could work on the deployment again.
"Restoring databases for development environments used to take between four and six hours"
Christine Dahl, Senior DBA
"With SQL Provision, we would have saved two to three months on a project we were working on at that time."
Johan Opperman, Release and Config Coordinator
SQL Provision has enabled us to deliver reliable data environments 720 times faster, and since its introduction we haven’t had a single request from the teams, they are self- sufficient” says Johan Opperman. “Every team has its own development environments, some have two, some have three. It’s really up to them and the work they need to do.
The Release and Config Team is now in charge of creating new images, but each of the 13 development sub-teams has direct access to the creation of fresh new clones. What used to take between four hours and two days each time, is now done in just seconds, and without the intervention of Johan’s team or the DBAs.
Through the central UI, Christine and the DBAs can easily monitor the number of copies being created, where these are located, what data they contain, and who is using them. It also allows her to manage all user access rights and permissions.
With hundreds of active cloned databases, of which about 60 are full production datasets, the team has managed to reduce the storage for development and test environments by approximately 95%.
The immediate access to sanitized production data has made it easier for the team to test their changes and increase pass rates. Previously the team would have to wait six hours for the data to be restored after a deployment failure, now they can just reset the database to a pristine data point in mere seconds, significantly reducing the time for testing.
If releasing every two weeks was previously seen as somewhat stressful, the immediate refreshing of environments now gives plenty of time for the teams to test and deliver better code.