Migrations are one of the most overlooked topics in software engineering, especially at high-growth startups and companies. As a company’s operations grow, new systems and approaches are adopted to cope with extra load, more use cases, or more constraints. From time to time, engineers need to migrate over from an old system or approach, to a new one.
And this is where things can get interesting, unexpected… and even ugly.
This issue is an extensive guide on the process of migration. You can use it as a blueprint when preparing and executing migrations. This guide covers:
Part 1: Typical migrations
The stories of four different migrations
Types of migrations
Part 2: Executing a migration
After the migration
The migration’s long-tail
A migration checklist
Part 3: The people and the business side of migrations
The people aspect of migrations
Selling migrations to the business
Closing advice for migrations