Cloud Migration Template
A board for one specific move: taking an infrastructure inventory, migrating it service by service, cutting over, and decommissioning what's left behind.
Nothing gets decommissioned until it's confirmed stable post-cutover. The 30-day hold is deliberate.
Why migrations stall halfway
A cloud migration is not a single task, and treating it like one ("move everything to the cloud" as a card title) is the most common reason these projects stall around the halfway mark. The easy services move first, momentum looks good for a month, and then the project runs into the handful of services nobody fully understood the dependencies of, and stalls there for much longer than the first half took.
The inventory is incomplete, so migration finds surprises mid-way. A service nobody remembered depends on the old file server, and it's discovered only when that server is scheduled for shutdown, usually by whoever's application just broke.
Too many services migrate at once. Without a limit on active migrations, half a dozen services are mid-move simultaneously, none of them fully verified, and a failure in one is hard to isolate from the others when three teams are all mid-change at the same time.
Old infrastructure never gets decommissioned. Everything moves to the cloud, but nobody turns off the old servers because nobody's sure it's safe yet, so the organization ends up paying for both, indefinitely, with the old bill quietly becoming permanent.
Cutover and migration get treated as the same step. A service is "migrated" once it exists in the cloud, but traffic hasn't actually moved to it yet, and that gap between "exists" and "live" is where a lot of migrations quietly stall without anyone noticing the difference.
The structure, and why each part is there
Every service, database, and dependency gets a card before migration starts on any of them. The inventory is the project's foundation, not an afterthought, and it's worth resisting the urge to start migrating before it's genuinely complete.
A cap on how many services can be actively migrating at once, so a failure in one is easy to isolate instead of tangled up with five others in flight.
The specific, narrow act of pointing traffic or DNS at the new location, tracked separately from the migration work itself, because it's the step with the least room for delay.
Old infrastructure moves here only after cutover is confirmed stable, and sits for a defined hold period before actual shutdown, so decommissioning is deliberate, not forgotten or rushed, and there's a specific date to check rather than a vague sense that it's probably fine by now.
The built-in wiki records what each service depends on and what depends on it, with page history, so a dependency discovered mid-migration gets written down instead of just fixed and forgotten.
Migration work is planned against who's actually available for it that sprint, with approved leave accounted for. Infrastructure work is easy to overcommit to on paper, especially when the same engineers also carry day-to-day support.
A service moving into the Cutover column means traffic has actually shifted, not just that the new infrastructure exists. The two are recorded as distinct events with distinct verification.
How to use it
- 01Build the full inventory before migrating anything, including things that seem obviously unimportant. The dependency nobody remembered is usually one of those, and interviewing each team about what their service actually talks to catches more than a network scan alone.
- 02Cap the migrating column at two or three services, even if the team is larger. Isolating failures matters more than migrating fast.
- 03Migrate low-dependency services first. Order the inventory by how many other things depend on each item, and start at the bottom.
- 04Treat cutover as its own event with its own checklist, not as the last step of migration. DNS, credentials, and monitoring all need separate verification.
- 05Hold decommission for a fixed period after cutover, written on the card, rather than deciding case by case whether it feels safe yet.
- 06Record the dependency map on the wiki as you build the inventory, not as a one-time diagram that goes stale. It's more useful as a living page than a snapshot from week one.
The pace is set by the migrating column's limit, not by how many services are in the inventory. A hundred-service inventory with a three-service limit will take a while. That's the honest schedule, not a sign the limit is too conservative.
Delivery forecasts become useful once a batch of low-dependency services has moved end to end, because the time each one actually took is a better predictor of the remaining timeline than the original estimate ever was. Teams tend to trust the forecast more once they've seen it self-correct after the first surprise dependency. High-dependency services near the end will still take longer than the average. That's expected, not a sign the plan is failing.
- A complete inventory before migration starts prevents the mid-project surprise dependency
- Limit how many services migrate at once so failures stay isolated
- Decommission on a fixed hold period, or you end up paying for old and new infrastructure indefinitely
Common questions
No. This is a project-tracking template for planning and sequencing the migration itself (inventory, migration order, cutover, decommission), not a tool that connects to cloud provider infrastructure or reads their consoles directly. The GitHub integration covers code and infrastructure-as-config changes tracked in a repo, which is where most teams already keep their provisioning scripts.
The IT project template is broad. It covers requests, vendor rollouts, and internal systems work of every kind. This one is narrow on purpose: a single initiative with a specific sequence (inventory, migrate, cutover, decommission) that a generic request-driven board doesn't represent well. Run this one for the migration itself, and keep unrelated IT requests on the broader board so they don't dilute the migration's WIP limits.
There's no dedicated budget-tracking feature, but cost notes can live on each service's wiki page next to the migration decision, which is where most teams end up wanting that context anyway.
No, it's on the Free plan along with every other template, covering up to five users and two projects with no expiry. A migration run by a small team can plan the whole thing without paying anything; see pricing for larger teams.
Create a new card in the Migrating column for the reverse move and treat it with the same rigor: its own dependency check, its own cutover event. Reversing a migration isn't a special case the board needs to know about; it's just another migration in the other direction.
Related pages
See it on your own work.
A workspace your whole company will actually use is 60 seconds away. No card, no risk, nothing to install.
14-day full-access trial · sample project included · no card required