December 16, 2019

325 words 2 mins read

CD for DBs: Database deployment strategies

CD for DBs: Database deployment strategies

Avan Mathur shares strategies for database deployments and rollbacks as well as some patterns and best practices for reliably deploying databases as part of your CD pipeline, safely rolling back database code, ensuring data integrity, and more.

Talk Title CD for DBs: Database deployment strategies
Speakers Avantika Mathur (Electric Cloud)
Conference O’Reilly Velocity Conference
Conf Tag Build Resilient Distributed Systems
Location San Jose, California
Date June 20-22, 2017
URL Talk Page
Slides Talk Slides
Video

As organizations invest in DevOps to release more frequently, there’s a need to treat the database tier as an integral part of your automated delivery pipeline—to build, test, and deploy database changes just like any other part of your application. However, databases (particularly RDBMS) are different from source code and pose unique challenges to continuous delivery, especially in the context of deployments. Often, code changes require updating or migrating the database before the application can be deployed. A deployment method that works for installing a small database or a green-field application may not be suitable for industrial-scale databases. Updating the database can be more demanding than updating the app layer: database changes are more difficult to test, and rollbacks are harder. Furthermore, for organizations that strive to minimize service interruption to end users, database updates with no downtime are a laborious operation. Your database stores your organization’s most mission-critical and sensitive data (transaction data, business data, user information, etc.). As you update your database, you want to ensure data integrity, ACID, and data retention and have a solid rollback strategy in case things go wrong. Avan Mathur shares strategies for database deployments and rollbacks as well as some patterns and best practices for reliably deploying databases as part of your CD pipeline, safely rolling back database code, ensuring data integrity, handling advanced scenarios and backend processes (such as scheduled tasks, ETL routines, replication architecture, and linked databases across distributed infrastructure), and handling legacy database and more modern data management solutions.

comments powered by Disqus