Version control, deployment pipelines, migrations, feature flags and rollback: the machinery for changing a live system many times a day.
Topics
- Version Control Discipline
- Small commits, readable history, branches and reverts as the record of why the code changed and the way to undo it.
- Deployment Strategies
- Blue-green, canary and progressive rollouts that limit how many users see a bad change.
- Feature Flags
- Separating deploying code from releasing features, and removing flags before they become permanent branches.
- Expand-and-Contract Migrations
- Changing schemas in steps that keep old and new code working at the same time.
- Rollback and Roll-Forward
- Knowing in advance how to undo each change, and when fixing forward is the safer move.
- Infrastructure and Configuration as Code
- Keeping environments and settings in version control so they are reviewed, repeatable and recoverable.