Enabling Continuous Delivery with Database Practices
To get full benefits of continuous Delivery, all components of the software being developed need to be delivered at the same pace. Components of the software development like databases need different techniques to be managed . Techniques that that would have to cater to changes being deployed to the database along with code and at the same time be enable the database to handle multiple versions of the application software.
Outline/Structure of the Talk
In this talk Pramod will focus on techniques to enable continuous delivery of changes to database without downtime. Pramod will talk about
- Database Refactoring: Patterns to make database changes such that they do not break existing applications
- Database Migrations: Providing a consistent way to make database changes and allowing them to be sequenced
- Automated Deployment: Allowing deployment automation of database changes
- Continuous Integration with databases, allowing changes from multiple team members
- Version Controlling Databases techniques that allow to manage changes in the database.
Attendees will understand
- How to bring the database under version control, enabling better control of database changes and independent setup of developer environments without central teams.
- How to use database refactoring techniques just like code refactoring techniques to improve the design of the database.
- How to make database changes so that these changes do not break down stream applications dependent on the schema of the application
- How database changes can be deployed to the target environment without manual intervention for the application version being deployed.
developers, dba, architects