Redgate opens the doors to cross-database DevOps Test Data Management
A constant challenge for many development teams is how to include test data management in the development process. Testing with consistent, realistic and compliant datasets, and bringing the database into CI and DevOps pipelines, has been shown to catch data-related issues long before they reach customers.
The result: an increase in efficiency, a reduction in costs, and an improvement in the quality of software releases, enabling value to be released to customers faster.
The problem, as Bloor points out in its guide to Test Data Management is that: “Operations is frequently seen as an obstacle to providing test data, while Development is all too frequently seen as a nuisance by DBAs.”
No surprise there. While giving developers their own dedicated database environment to work with increases the speed and quality of development, provisioning database copies is difficult and time-consuming. The slow pace at which they can be refreshed, coupled with infrastructure and compliance overheads, often blocks the provisioning of multiple copies for development and testing, despite the advantages of doing so.
Welcome to Redgate Clone
Step in Redgate Clone, Redgate’s new DevOps test data management tool that provisions production-like data in seconds for SQL Server, PostgreSQL, MySQL and Oracle databases. Taking advantage of database virtualization technologies, Redgate Clone enables small and light clones of databases to be created manually or as part of an automated process, for use in development and testing, and as part of Continuous Integration and Continuous Delivery pipelines.
You may have seen the Redgate Clone logo when Redgate launched SQL Clone, which clones SQL Server databases in seconds and saves up to 99% of disk space. The logo was a nod to Dolly the Sheep, the first mammal to be cloned. Think of Redgate Clone as the Dolly, Molly, Polly, and Holly of cloning which works across SQL Server, PostgreSQL, MySQL and Oracle databases.
Teams working across the four most popular databases can now branch, reset and version their database instances at application-code speed as they develop, with zero risk of impacting other team members or environments. To further improve modern development environments, Redgate Clone supports teams working across on-premises, cloud and hybrid architectures, including those running containers and Kubernetes. Developers can self-serve production-like clones of SQL Server, PostgreSQL, MySQL and Oracle databases in seconds, and validate database updates with an advanced set of tests, checks and reports, which can be run as part of an automated process.
Because the virtual clones in Redgate Clone are quick to create, independent, and have minimal storage overhead, they enable consistent production-like development environments to be automatically provisioned in seconds, and free developers from working on shared databases, enabling them to carry out their work and test new ideas without the risk of disrupting each other.
Testing with consistent, realistic, and compliant datasets throughout the development process means developers can catch data-related issues long before they reach customers. All of which increases efficiency, minimizes costs, standardizes practices across development teams, improves the quality of software releases, and releases value to customers faster.
Importantly with Redgate Clone, a clone of an entire instance can be spun up with all of its databases and configuration data. As a result, teams are not blocked by cross-database dependencies, greatly improving their ability to develop features and resolve issues.
Redgate Clone supports the way DevOps teams work
DevOps teams are accustomed to releasing small changes frequently, often working in two week sprints so that there is a constant cadence of improvements, fixes, and features being released to customers. Redgate Clone adds test data management into their workflows in a way that speeds up development and increases the quality of the code being released with:
- Fast, scriptable setup: When starting a new piece of work, scaling a team or rotating team members, consistent, reliable development, test and QA environments can be set up quickly with a minimal storage footprint.
- Compliant test data management: Working in conjunction with Redgate Data Masker, sensitive data can be anonymized at source using masked data images, so that compliance is no longer a blocker to provisioning quality data.
- Fully left-shifted production deployment validation: With automated pipelines to ensure the latest data is available to test with, new builds can be tested, re-tested and validated with sanitized production data, catching issues earlier.
- Checkpoint, reset and versioning of databases: Database clones can be versioned as work progresses, enabling developers to restore to a given point in time to restart or remedy their work if an issue arises and recover instantly from mistakes.
- Realistic test scenarios: With configurable, instance-level provisioning, the testing can reflect the architecture of different applications, and databases can be grouped together to create new instances for further scenarios.
Redgate Clone supports the way developers work
For developers who like to work with different types of database for different use-cases, and who look to the cloud, containers and automated platforms like Kubernetes to speed up development, Redgate Clone is a flexible and welcome tool.
To work on their own personal database copies, the only thing they need to install locally is the command line interface. No additional local resources like a database instance are required, and a connection string provides access to the clones provided by Redgate Clone through their editor.
The database instances, data and database copies are all managed by Redgate Clone in the cluster, leaving developers free to write code and test their proposed changes against their own clone of the database which contains realistic production-like data.
As a result they gain a range of advantages:
- A dedicated development environment: Developers can work with their own database clones to test and make changes without disrupting others, streamlining feature work, bug fixes and troubleshooting.
- Fast refreshes of development environments: Database environments can be refreshed in seconds, rather than waiting for hours or days to have the data they need for development, testing or troubleshooting.
- Databases can be spun up in CI pipelines: With database copies included as part of the CI pipeline, data-related integration issues can be caught when code is written rather than when it is released.
- Self-serve capability: Developers can safely self-serve new data rather than waiting for a DBA to provide it for them, so they can work autonomously and creatively to solve issues and develop enhancements.
- Real data: Developers can test for issues early in the release pipeline with real production or production-like, compliant, data, instead of being limited to smaller sets or synthetic data. As a result, bugs are caught earlier in the development cycle where they’re faster and easier to fix, speeding up development cycles.
Test Data Management summary
Redgate Clone provides a fast, scriptable way to create copies of SQL Server, PostgreSQL, MySQL and Oracle database instances for development, testing, and QA, using virtual clones which are quick to create, independent, and have minimal storage overhead.
They enable consistent development environments to be automatically provisioned, free developers from working on shared databases, and enable database provisioning to be automated for inclusion in CI and CD pipelines.
As importantly, Redgate Clone supports cloud native architecture and applications working with containers, helping organizations who are looking to align database DevOps with the latest thinking and practice in application DevOps.
To find out more about Redgate Clone, visit our product pages.