Arranging Database Changes for Zero Downtime Deployments


Details
We welcome community member Jason Young as the presenter.
Deploying a Java web application with zero downtime has some hurdles, not least of which is that you need to structure your database migrations so that multiple versions of your software can work with the same database at the same time. This talk will show you how to structure your database and code changes so that a deployment doesn’t mean your system is down all night ... or that you are up all night!
Presentation Summary:
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 Spring Boot 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.
About Jason
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.
Logistics
Food and beverages and networking starts at 6:30. Presentation to begin at 6:50.
Thank you to Macquarie for hosting the event!
Macquarie is a diversified financial group providing clients with asset management and finance, advisory and risk and capital solutions across debt, equity and commodities.
Technology at Macquarie:
At Macquarie, our technology teams power the entrepreneurial enterprise. Our technology and infrastructure have to be ready to move and adapt to the new and exciting business ideas our teams dream up. Our team –characterized by deep business insight –is responsible for the business-differentiating technology development that’s critical to our ability to deliver for clients and shareholders

Arranging Database Changes for Zero Downtime Deployments