August 2019 - Arranging Database Changes for Zero Downtime Deployments


Pizza at 6:30, Talk starts at 7:00

I'm excited to announce that Jason Young will be returning for our August meetup, please mark your calendars.

Deploying two versions of the code for a web application is easy. Having two versions of the code operate with the same database at the same time (so that you can perform blue-green deployments a.k.a. zero downtime deployments) is hard. Imagine what happens if you want to rename a database column: only one version of the software will work at a time. This is one of the big hurdles to zero downtime deployments, but there are definitely ways over this hurdle.

This talk will walk the audience through some common database changes and how they can be broken down into small steps that enable engineers to perform zero downtime deployments. Some database migrations include: add / remove / rename column, add / remove / rename table, and alter column type. During the course of the talk we will continuously upgrade a running Java application and make live changes to the database while the system is actively being used, to demonstrate the achievability of database changes while a system is in use.

As a professional with over 20 years of software engineering experience, Jason Young has developed software across a range of domains and led teams towards the success of a variety of products: from aerospace modeling and simulation, to data integration platforms, to medical device security. Jason is an organizer of the Philly Java Users Group and has presented at local, regional, and national speaking events.