Redgate logo for print use

End-to-end Database DevOps

Case study

Standardizing migrations across teams and multiple database types with Flyway

Customer

The leading financial cooperative in North America and the fifth largest in the world, with over 20 subsidiaries, offering a full range of financial and insurance products.

Challenge

Keeping track of multiple deployments to different types of on-premises databases like Oracle and SQL Server, and Platform as a Services instances like PostgreSQL and Azure SQL.

Solution

The world’s most popular open source database migrations framework, which allows developers to manage migration scripts across 20 of the most common database engines.

Results

Flyway has standardized the way migration scripts are created and versioned across the different databases in use, reduced errors and provided insights into the deployment state of every environment.

The Customer

Founded in Quebec in 1900, Desjardins is now the leading financial cooperative in North America and the fifth largest in the world, with assets of over $350 billion, and around 49,000 employees. Originally established as a savings and credit cooperative, it has since expanded its business and activities to meet the growing needs of its seven million members and clients.

Today, Desjardins offers a full range of financial and insurance products and services to individuals and businesses through its extensive distribution network and online platforms. In addition to retail banking, the Group has over 20 subsidiaries with expertise in asset management, personal and damage insurance, real estate, venture capital funds, and brokerage services.

As might be imagined, the IT infrastructure required to support such a large group is complex, with a wide variety of specialist applications accessing a range of databases including Oracle, SQL Server, Db2 and PostgreSQL.

The IT team responsible for developing and maintaining the scores of applications and databases in use is very large, with different branches dedicated to the many diverse parts of the business. One part of the team looks after the infrastructure while the other takes care of application and database development.

As with many large IT teams, one of their biggest challenges is standardizing processes across different environments and databases in order to increase the speed of development and deployments.

48,930employees100sdatabases5database types

So many people were deploying to so many databases, it was hard to keep track of who was deploying what and when.

The Challenge

The development Database Administrator team at Desjardins is responsible for creating the migration scripts to update database changes. This is a typical DBA task, but the number and range of databases the bank works with is far from typical. There are several hundred databases in the development environments and in production. Some are on-premises Oracle, Db2 and SQL Server databases, others are Platform as a Service instances using PostgreSQL or Azure SQL.

The IT team at Desjardins are well versed in advanced software development practices like DevOps and Agile and, naturally, want to release changes to those databases frequently to keep up with the pace of application development.

Deploying changes was complicated, however, by the requirement to send update scripts to the infrastructure team who controlled deployments. This lengthened the time it took to make deployments, increased the number of people involved, and inevitably slowed down development.

Beyond the deployments themselves, the multiple databases in use also made identifying the versions of database schema in the development, certification and production environments very time-consuming. Schema had to be compared, the objects inside the database had to be checked, and there was no standardized process that could be relied on.

To help alleviate the issue, the process was streamlined by passing over the responsibility of making deployments to the application support teams who created the update scripts. This helped in a small way, but with so many developers deploying changes to so many databases, it was hard to keep track over who was deploying changes and when they were making them.

The database development team wanted to go further and standardize the way the update scripts were created, and deployments were made across every database and every environment.

Flyway brings databases into the 21st century with source control management and version schemas.

The Solution

Some developers at Desjardins were already using the Community Edition of Flyway, the world’s most popular open source migrations framework, to create migration scripts for database deployments on small projects.

Simple to set up and easy to master, it allows developers to manage migration scripts with confidence across 20 of the most common database engines through a standardized process, regardless of the platform used, and automate their sequential deployment.

Importantly for Desjardins, it is a highly configurable solution that enables a bespoke migrations-based deployment strategy to be created that is easy to adopt and scale across teams. By doing so, it removes the manual, time-consuming and error-prone process of deploying migration scripts and can also be integrated into a wider CI/CD release management process.

The database development team wanted to introduce the Teams Edition of Flyway to take advantage of the added functionality like undo scripts and the ability to perform dry runs of deployments. They started by centralizing the installation of Flyway on a server so that everyone deploying database changes was using the same version of Flyway in the same way.

They then encouraged the developers to version control the database migration scripts just as they use version control for application code. There was a learning curve but they soon realized they could use the same process and the same tools they used in application development.

Flyway would then automate the migration of database changes, whichever database they were working with, so that they could include the database in their DevOps processes.

The best value for us is the traceability of who deployed what and when, and that we can deploy changes to production faster.

The Results

Introducing Flyway has brought significant advantages to the database development team. Standardizing the way migration scripts are created and versioned across the different databases in use has reduced errors and given better insights into the deployment state of every environment.

Automating deployments also means the team are now releasing changes up to 40 times per day and, even though they are deploying changes faster, they now have a complete picture of which schema versions are in use in every environment. To keep track of which migrations have already been applied when and by who, Flyway adds a history table to the database schema. This provides an audit trail of all changes performed against the schema, and also tracks migration checksums and whether or not migrations were successful.

For developers, Flyway has brought reliability to database deployments, whichever database they are working with, and made them both faster and easier. Database development is now integrated into their DevOps workflows and no longer slows them down.

For IT management, the visibility Flyway provides across every environment increases confidence in the frequency of database deployments. Other development teams are now being trained to use Flyway and it will be rolled out to the entire estate as time permits.

Case study

Standardizing migrations across teams and multiple database types with Flyway

Desjardins, the leading financial cooperative in North America, uses Flyway to standardize the way migration scripts are created and versioned across its multi-database estate, which includes Oracle, SQL Server, Db2, PostgreSQL and Azure SQL.

Contents

The Customer

The leading financial cooperative in North America and the fifth largest in the world, with over 20 subsidiaries, offering a full range of financial and insurance products.

The Challenge

Keeping track of multiple deployments to different types of on-premises databases like Oracle and SQL Server, and Platform as a Services instances like PostgreSQL and Azure SQL.

The Solution

The world’s most popular open source database migrations framework, which allows developers to manage migration scripts across 20 of the most common database engines.

The Results

Flyway has standardized the way migration scripts are created and versioned across the different databases in use, reduced errors and provided insights into the deployment state of every environment.

So many people were deploying to so many databases, it was hard to keep track of who was deploying what and when.

The Customer

Founded in Quebec in 1900, Desjardins is now the leading financial cooperative in North America and the fifth largest in the world, with assets of over $350 billion, and around 49,000 employees. Originally established as a savings and credit cooperative, it has since expanded its business and activities to meet the growing needs of its seven million members and clients.

Today, Desjardins offers a full range of financial and insurance products and services to individuals and businesses through its extensive distribution network and online platforms. In addition to retail banking, the Group has over 20 subsidiaries with expertise in asset management, personal and damage insurance, real estate, venture capital funds, and brokerage services.

As might be imagined, the IT infrastructure required to support such a large group is complex, with a wide variety of specialist applications accessing a range of databases including Oracle, SQL Server, Db2 and PostgreSQL.

The IT team responsible for developing and maintaining the scores of applications and databases in use is very large, with different branches dedicated to the many diverse parts of the business. One part of the team looks after the infrastructure while the other takes care of application and database development.

As with many large IT teams, one of their biggest challenges is standardizing processes across different environments and databases in order to increase the speed of development and deployments.

48,930employees100sdatabases5database types

Flyway brings databases into the 21st century with source control management and version schemas.

The Challenge

The development Database Administrator team at Desjardins is responsible for creating the migration scripts to update database changes. This is a typical DBA task, but the number and range of databases the bank works with is far from typical. There are several hundred databases in the development environments and in production. Some are on-premises Oracle, Db2 and SQL Server databases, others are Platform as a Service instances using PostgreSQL or Azure SQL.

The IT team at Desjardins are well versed in advanced software development practices like DevOps and Agile and, naturally, want to release changes to those databases frequently to keep up with the pace of application development.

Deploying changes was complicated, however, by the requirement to send update scripts to the infrastructure team who controlled deployments. This lengthened the time it took to make deployments, increased the number of people involved, and inevitably slowed down development.

Beyond the deployments themselves, the multiple databases in use also made identifying the versions of database schema in the development, certification and production environments very time-consuming. Schema had to be compared, the objects inside the database had to be checked, and there was no standardized process that could be relied on.

To help alleviate the issue, the process was streamlined by passing over the responsibility of making deployments to the application support teams who created the update scripts. This helped in a small way, but with so many developers deploying changes to so many databases, it was hard to keep track over who was deploying changes and when they were making them.

The database development team wanted to go further and standardize the way the update scripts were created, and deployments were made across every database and every environment.

The best value for us is the traceability of who deployed what and when, and that we can deploy changes to production faster.

The Solution

Some developers at Desjardins were already using the Community Edition of Flyway, the world’s most popular open source migrations framework, to create migration scripts for database deployments on small projects.

Simple to set up and easy to master, it allows developers to manage migration scripts with confidence across 20 of the most common database engines through a standardized process, regardless of the platform used, and automate their sequential deployment.

Importantly for Desjardins, it is a highly configurable solution that enables a bespoke migrations-based deployment strategy to be created that is easy to adopt and scale across teams. By doing so, it removes the manual, time-consuming and error-prone process of deploying migration scripts and can also be integrated into a wider CI/CD release management process.

The database development team wanted to introduce the Teams Edition of Flyway to take advantage of the added functionality like undo scripts and the ability to perform dry runs of deployments. They started by centralizing the installation of Flyway on a server so that everyone deploying database changes was using the same version of Flyway in the same way.

They then encouraged the developers to version control the database migration scripts just as they use version control for application code. There was a learning curve but they soon realized they could use the same process and the same tools they used in application development.

Flyway would then automate the migration of database changes, whichever database they were working with, so that they could include the database in their DevOps processes.

The Results

Introducing Flyway has brought significant advantages to the database development team. Standardizing the way migration scripts are created and versioned across the different databases in use has reduced errors and given better insights into the deployment state of every environment.

Automating deployments also means the team are now releasing changes up to 40 times per day and, even though they are deploying changes faster, they now have a complete picture of which schema versions are in use in every environment. To keep track of which migrations have already been applied when and by who, Flyway adds a history table to the database schema. This provides an audit trail of all changes performed against the schema, and also tracks migration checksums and whether or not migrations were successful.

For developers, Flyway has brought reliability to database deployments, whichever database they are working with, and made them both faster and easier. Database development is now integrated into their DevOps workflows and no longer slows them down.

For IT management, the visibility Flyway provides across every environment increases confidence in the frequency of database deployments. Other development teams are now being trained to use Flyway and it will be rolled out to the entire estate as time permits.