After all the strategic discussion about DIY vs managed and future predictions, I want to share something immediately actionable: our actual 4-week migration playbook.
This is for teams who’ve decided to migrate from self-hosted to managed Backstage and need a concrete execution plan.
Context: What We Had
Our starting point (December 2025):
- Self-hosted Backstage running for 18 months
- 23 custom plugins (varying quality and usage)
- 15% voluntary adoption among 80 engineers
- 5 engineers spending 30-50% time on maintenance
- Integrations: GitHub, AWS, Datadog, PagerDuty, Okta
Our goal: Migrate to managed platform without disrupting developer workflows
Week 1: Audit Current State
Goal: Understand what you actually have before migrating
Day 1-2: Catalog Everything
Custom plugins:
- List all 23 plugins
- Document what each does
- Measure actual usage (analytics or logs)
- Surprising finding: 15 plugins had <10% usage
Critical integrations:
- GitHub (source control)
- AWS (infrastructure)
- Datadog (observability)
- PagerDuty (on-call)
- Okta (SSO/auth)
Current metrics:
- Adoption rate: 15%
- Active users: 12 of 80 engineers
- Most-used features: Service catalog, documentation
- Least-used: Custom dashboards, homegrown plugins
Day 3-4: Developer Survey & Interviews
Survey questions (sent to all 80 engineers):
- Do you currently use the internal developer platform? (Yes/No/Sometimes)
- If yes, which features do you use? (Checkboxes)
- If no, why not? (Free text)
- What would make you use it more? (Free text)
- On a scale 1-10, how satisfied are you with current platform?
Key insights from 45 responses:
- “Too slow” (28 mentions)
- “Confusing to find things” (19 mentions)
- “Often broken or buggy” (17 mentions)
- “Documentation outdated” (14 mentions)
- “Doesn’t help with my actual workflow” (12 mentions)
Interviews with 10 developers (mix of users and non-users):
- Non-users: “I tried it once, it was slow, never went back”
- Light users: “I check service catalog sometimes, but that’s it”
- Heavy users: “I want to love it, but too many bugs and it’s always breaking”
Day 5: Document Success Criteria
Define what success looks like:
- 60% voluntary adoption within 3 months
- <5 second page load times
- <1 outage per quarter
- 4 engineers freed to work on Golden Paths
- Developer NPS score >40
Key decision: We need metrics dashboard to track this
Week 2: Vendor Evaluation & Trial
Goal: Choose the right managed platform for your needs
Day 1-2: Vendor Research
Evaluated options:
- Roadie: Managed Backstage, enterprise focus, proven EdTech customers
- Spotify Portal: Official Spotify offering, GA since Oct 2025
- Others: Cortex, Port (different approaches, not Backstage-based)
Evaluation criteria:
- Integration support (do our critical integrations work?)
- Custom plugin support (can we migrate our 8 critical plugins?)
- Enterprise features (SSO, audit logs, SLAs)
- Pricing (transparent, predictable)
- Support quality (24/7, SLAs, dedicated account team)
- Customer references (talk to similar companies)
Day 3-4: Trial Setup with 10-Person Pilot
Selected 10 developers:
- 3 current platform power users
- 4 occasional users
- 3 non-users
- Mix of teams and seniority levels
Trial goals:
- Test critical integrations
- Migrate 2 sample plugins
- Get feedback on UX
- Measure performance
- Identify migration blockers
Trial results (Roadie):
All integrations worked out of box
Custom plugin migration path clear
Page loads <2 seconds (vs 8-15 seconds self-hosted)
Pilot developers said “this is way better”
One plugin needed rework (API changes)
Day 5: Decision & Contract
Decision: Roadie
- Integration support best for our stack
- Enterprise features met compliance needs
- Customer references were very positive
- Pricing: $150K/year (vs $1M TCO for self-hosting)
Signed contract with:
- 3-year commitment (20% discount)
- Dedicated account manager
- 24/7 support
- Custom plugin migration assistance
- Quarterly business reviews
Week 3: Migration Execution
Goal: Move everything to managed platform without breaking workflows
Day 1: Export Data
What we exported:
- Service catalog metadata (YAML files)
- Documentation (Markdown)
- User configurations
- Integration configs (can regenerate)
- Custom plugin code
Tools used:
- Backstage CLI for catalog export
- GitHub for code backup
- S3 for data backup
Time: 4 hours
Day 2: Reconnect Integrations
Roadie advantage: Most integrations had pre-built connectors
Setup time:
- GitHub: 15 minutes (OAuth app)
- AWS: 30 minutes (IAM roles)
- Datadog: 10 minutes (API key)
- PagerDuty: 15 minutes (API token)
- Okta SSO: 45 minutes (SAML configuration)
Total: 2 hours vs. days we spent initially
Day 3-4: Migrate Custom Plugins
8 critical plugins (abandoned the 15 with low usage):
- Compliance dashboard: Migrated as-is (3 hours)
- Deployment approval workflow: Migrated with minor changes (4 hours)
- Cost tracking integration: Replaced by Roadie’s cost plugin (0 hours - better!)
- On-call schedule widget: Migrated as-is (2 hours)
- Service ownership directory: Replaced by native Backstage catalog (0 hours)
- Custom docs template: Migrated (2 hours)
- API gateway integration: Reworked for new API (6 hours)
- Security scan results: Migrated (3 hours)
Total plugin migration: 20 hours over 2 days
Surprise: 3 of our “critical” plugins were better handled by Roadie’s built-in features
Day 5: Parallel Running & Testing
Setup:
- Old self-hosted: still running
- New managed: fully configured
- Internal DNS: both accessible
Testing with 20 developers (pilot expanded):
- Verify integrations work
- Test custom plugins
- Load test with realistic usage
- Collect feedback
Issues found:
- One plugin API endpoint misconfigured (fixed in 30 min)
- Two users confused by slightly different navigation (documented)
- Performance excellent (avg page load 1.8 seconds)
Week 4: Adoption Campaign & Cutover
Goal: Get developers to actually use the new platform
Day 1: All-Hands Demo
30-minute session:
- Why we’re migrating (UX, reliability, free up engineers for Golden Paths)
- Live demo of new platform
- Performance comparison (side-by-side with old)
- Q&A
Attendance: 68 of 80 engineers
Reception: Positive - “Wow, it’s actually fast now”
Day 2-3: Team-by-Team Onboarding
Scheduled 1-hour sessions with each team (8 teams):
- Personalized demo of features relevant to their workflow
- Hands-on: “Try deploying your service”
- Answer questions
- Collect feedback
Key tactic: Show them the Golden Paths we’d built on top (which were always there but no one used because platform was too slow)
Day 4: “Golden Path of the Week” Showcase
Launched weekly demo series:
- Week 1: “Deploy to production in 3 clicks”
- Week 2: “Automated compliance checks”
- Week 3: “On-call scheduling made easy”
- Week 4: “Finding service owners in 10 seconds”
Format:
- 15-minute Zoom recording
- Posted in Slack
- Written tutorial in docs
Engagement: 40+ developers watched first week
Day 5: Cutover & Decommission
Friday afternoon cutover:
- DNS switched to new platform
- Old platform set to read-only
- Communication: “New platform is now primary”
- Rollback plan ready (switch DNS back if issues)
Weekend monitoring: Zero issues
Monday: Old platform decommissioned
The Results (3 Months Post-Migration)
Adoption Metrics
Before (self-hosted):
- Voluntary adoption: 15%
- Active weekly users: 12
- Page load time: 8-15 seconds
- Outages: 2-3 per month
After (managed):
- Voluntary adoption: 60% (and climbing)
- Active weekly users: 48
- Page load time: <2 seconds
- Outages: 0
Engineering Impact
Engineers freed: 4 engineers now working on Golden Paths (from 5 on maintenance)
New Golden Paths built (in 3 months freed capacity):
- Automated testing framework
- Zero-downtime deployment pattern
- Compliance-as-code templates
Team satisfaction: +38% on internal survey
Developer Feedback
Quotes from survey:
- “Finally feels like a real product, not a side project”
- “I can actually find what I need now”
- “The onboarding docs are so much better”
- “Love that it just works - I don’t think about the platform anymore”
Net Promoter Score: +42 (up from -15)
Key Lessons Learned
Lesson 1: User research before migration
The developer survey revealed that speed and reliability mattered way more than features. This insight shaped our entire migration approach.
Lesson 2: Don’t migrate everything
15 of 23 plugins had <10% usage. We only migrated the 8 that developers actually used. This saved enormous time and reduced complexity.
Lesson 3: Communication > technical execution
The migration itself was smooth. The hard part was getting developers to try the new platform. Treating it like a product launch (demos, onboarding, showcases) made the difference.
Lesson 4: Managed platforms often have better solutions
3 of our “critical” plugins were replaced by better built-in features. Don’t assume your custom solution is better than what vendors provide.
Lesson 5: Measure everything
We instrumented adoption, performance, satisfaction. This data proved the migration was successful and justified the investment.
Common Questions
Q: What about plugins that can’t migrate?
A: API integration is usually an option. Or question if you really need it (remember our 15 low-usage plugins).
Q: How do you handle compliance/security concerns?
A: Enterprise managed platforms (Roadie, Spotify Portal) have SOC2, often better security than you can build.
Q: What if the managed platform doesn’t have a feature?
A: Ask yourself: Is this truly critical, or just nice-to-have? Can you use their API to build it?
Q: How do you convince leadership?
A: ROI in business terms. Our case: Save $850K/year, free 4 engineers for innovation, improve developer experience.
Next Steps for Teams Considering This
-
Week 1 audit: Do this even if you’re not sure about migrating. Understanding current state is valuable regardless.
-
Pilot trial: Most vendors offer free trials. Test with 10 developers before committing.
-
Build business case: Use Michelle’s framework. Calculate TCO vs managed cost + opportunity cost.
-
Plan adoption campaign: Technical migration is table stakes. Adoption requires product launch approach.
Happy to answer questions about any part of this playbook!