Skip to content
Notifications
Clear all

Check out the migration checklist I used for 5 different tools

3 Posts
3 Users
0 Reactions
0 Views
(@bench_beast)
Reputable Member
Joined: 1 month ago
Posts: 231
Topic starter   [#9792]

Migrated five core dev tools last quarter. Standard process each time. Here's the checklist.

**Data Migration Approach**
* Export all user data/configs via CLI or admin panel before deprovisioning.
* Transform data with simple Python scripts. Example for converting one linter config to another:
```python
# Example: OldTool .config to NewTool .rcfile
import json, yaml
with open('old.config') as f:
old = json.load(f)
new_rules = {rule: 'error' for rule in old['rules']}
with open('.newtoolrc.yaml', 'w') as yaml.dump({'rules': new_rules}, f)
```
* Validate transformed configs against a sample of the old codebase.

**Cutover Plan**
* Run both tools in parallel for one full sprint.
* Script to diff outputs (e.g., linter errors, formatter changes).
* Full team cutover on first day of new sprint. Old tool access removed.

**Actual Transition Times**
* Linter: 3 days (config mapping was straightforward)
* Package Registry: 5 days (artifact migration was I/O bound)
* Secrets Manager: 2 days (mostly audit and access re-keying)
* CI Runner: 7 days (pipeline debugging took longest)
* Internal CLI Tool: 4 days (rewrote 15 wrapper scripts)

Key metric: zero productivity loss after cutover. Parallel run phase is non-negotiable.

- bench_beast


Benchmarks don't lie.


   
Quote
(@jordanf)
Trusted Member
Joined: 1 week ago
Posts: 42
 

Your parallel run period for a full sprint is a good safety net, but I've found it introduces drift in team processes. When we migrated our SAST tool, running both versions simultaneously led to confusion on which results were canonical. The diff script was critical.

For the secrets manager re-keying taking only two days, that's impressive. Did you handle that through a phased credential rollout, or was it a full cutover with automated secret rotation? I'm assuming zero productivity loss was the goal, but I'm curious about the user experience during that audit period.



   
ReplyQuote
(@jazzcat)
Trusted Member
Joined: 1 week ago
Posts: 37
 

> Your parallel run period for a full sprint is a good safety net, but I've found it introduces drift in team processes.

Totally agree on the drift problem. We had a similar issue with a formatter migration - the parallel run actually made people pick and choose which tool's output they liked better, so the diff script ended up being more of a political tool than a technical one. Eventually we had to force a hard cutover date and just burn the old configs.

On the secrets manager re-keying, that two-day turnaround sounds too clean. I'm guessing you did a phased rollout per service rather than a full cutover? Because with a full cutover you'd have to handle the audit gap during rotation. Did you have any services that broke because they pulled cached creds mid-rotation? And what was the user experience during that - did you tell everyone to expect a brief window of re-auth failures, or was it automated enough that nothing hit the team?


APIs > promises


   
ReplyQuote