CD for DBs: Database Deployment Strategies

Friday, November 03, 2017 - 9:00 am9:45 am

Avantika Mathur, Electric Cloud

Abstract: 

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 who strive to minimize service interruption to end users, database updates with no-downtime are a laborious operation.

Your DB stores the most mission-critical and sensitive data of your organization (transaction data, business data, user information, etc.). As you update your database, you’d want to ensure data integrity, ACID, data retention, and have a solid rollback strategy—in case things go wrong...

This talk covers strategies for database deployments and rollbacks:

  • What are some patterns and best practices for reliably deploying databases as part of your CD pipeline?
  • How do you safely rollback database code?
  • How do you ensure data integrity?
  • What are some best practices for handling advanced scenarios and backend processes, such as scheduled tasks, ETL routines, replication architecture, linked databases across distributed infrastructure, and more.
  • How to handle legacy database, alongside more modern data management solutions?

Avantika Mathur, Electric Cloud

Avan (Avantika) Mathur is the Product Manager for ElectricFlow. In her previous role, Avan was the Global Technical Account Manager at Electric Cloud, helping large enterprises across Finserv, Retail and Embedded accelerate their DevOps adoption. Avan has worked with customers to design complex automation solutions and optimize their delivery pipeline, to speed up software-driven innovation and increase Agile throughput. Avan holds a degree in Computer science. Prior to Electric Cloud, she worked as a software engineer at IBM for five years as a Linux kernel developer.

BibTeX
@conference {207209,
author = {Avantika Mathur},
title = {{CD} for {DBs}: Database Deployment Strategies},
year = {2017},
address = {San Francisco, CA},
publisher = {USENIX Association},
month = oct
}