As organizations realize the advantages they can gain by integrating database development into their DevOps pipelines, the conversation about database DevOps has moved from ‘why’ to ‘how’. This has been helped along the way by the growing availability of third-party tools and solutions which plug into and align with application development processes and workflows and enable the database to be developed alongside the application.
At the same time, organizations are moving to a multi-database development model. They still use SQL Server and Oracle databases for mission-critical applications, but they’re also exploring other types of databases for different use cases.
The rise in multi-database environments
Perhaps surprisingly, there has been little change in the types of databases in use over the last decade. The widely respected and quoted DB-Engines Ranking first started ranking database management systems according to their popularity in 2012. At the time, Oracle, MySQL and SQL Server took the top three spots. Today, that remains the same, and other databases like PostgreSQL, IBM DB2, SQLite and Cassandra remain in the list, alongside MongoDB and newcomers Redis and Elasticsearch.
While it looks like little has changed, however, a big shift has been going on. Legacy systems on SQL Server and Oracle remain in place but the Open Source Data Management Software Survey from Percona shows that 92% of respondents now have multiple databases in use. The survey states: “It is now the norm to have multiple databases in multiple locations over multiple platforms as companies attempt to adapt to changing business needs. Quickly responding to customer demands and shifting market pressures is a guarantee of maintaining market leadership.”
The problems with standardizing DevOps workflows
With more and more organizations now having multi-database environments, it’s becoming common for SQL Server and Oracle development teams to work alongside other teams using what are now tried and trusted, often open source, databases.
This can, however, cause problems because the development processes and tools will also vary and workflow siloes will be created, with each team favoring one way of working over another. This in turn can negate the advantages to be gained from including the database in DevOps because with different development pipelines in play, there will be no ‘right way’ to version control code, use continuous integration or deploy database changes. All of which makes it difficult for organizations to standardize the quality and delivery of changes to meet internal and external expectations.
The need to think across teams and technologies
To address the issue, Redgate has been working behind the scenes for the last two years to introduce cross-platform database DevOps for organizations with large teams that need a versioning and automation solution across multiple database technologies.
The result is Redgate Deploy, where the thinking behind Redgate’s leading SQL Server database development tools has been extended to the Oracle platform. From version control to continuous delivery, organizations can now automate their database development processes in the same way on the two most popular mission-critical databases by:
- Comparing and deploying schemas
- Comparing and deploying data
- Version controlling their database using a state-based, migrations-based, or hybrid approach
- Automating database releases safely with code analysis, change reports, and drift detection
Importantly, the world’s most popular migrations engine for database deployments, Flyway, has been built into Redgate Deploy so that database migrations can also be standardized across the 20 most common database platforms.
Whether organizations are using legacy databases like SQL Server and Oracle, open source databases like MySQL, PostgreSQL or MariaDB, or cloud platforms like Aurora, Redshift or Snowflake, they will be able use Flyway to manage migration scripts confidently through a standardized process and automate their sequential deployment.
One solution for every database
Until now, organizations wanting to introduce database DevOps have had to rely on – and purchase – different tools and solutions for different databases. This discourages cross-team collaboration, forces developers to work in different ways, and makes the management of IT teams complex and difficult.
Redgate Deploy takes a different approach by enabling organizations to adopt common workflows across every team, and introduce advanced features for SQL Server and Oracle databases:
- It standardizes deployments for SQL Server, Oracle, and 18 other databases
- It increases the frequency and reliability of database deployments
- It introduces a flexible toolchain for easy adoption across teams
- It catches errors and speeds up development with Continuous Integration
- It provides oversight of every change to your databases
That’s not the end of the story
Redgate Deploy enables organizations to introduce cross-platform database DevOps to their multi-database environments right now. To enhance and improve the experience yet further, the development team at Redgate is now working on integrating on-demand data delivery for developers and for testing in the CI/CD pipeline. This is already possible with SQL Server using SQL Clone, and it will be rolled out across other databases. In the future, they’ll also be Introducing advanced features for versioning, migration script auto-generation, continuous integration and repeatable deployments for PostgreSQL and MySQL.
To find out more about Redgate Deploy, visit the cross-platform database DevOps pages online.
Was this article helpful?