Internal Developer Platforms (IDPs)
Backstage, Port, Cortex — making your platform self-service.
When your platform / SRE team is the bottleneck for every "I need a new service / DB / queue / S3 bucket / dashboard" request, an IDP is the answer. Devs self-serve through a portal, the platform team controls what's possible.
The candidates
- ★ Backstage (Spotify / CNCF) — open-source IDP framework; software catalog, scaffolder, plugins. The default; large community.
- ★ Port — modern IDP-as-a-product; SaaS; clean UI; great DX. Generous free tier.
- Cortex — competitor to Port; service catalog focused.
- Roadie — Backstage-as-a-service; managed Backstage hosting.
- Humanitec — IDP focused on dynamic config + workload templates.
- OpsLevel — service catalog + scorecards.
- Configure8 / atomicwork / OpsLevel — competitive IDP/service-catalog plays.
What an IDP typically includes
- Service catalog — what services exist, who owns them, what they depend on.
- Software templates / scaffolders —
Create a new servicebutton → repo + IaC + pipelines pre-baked. - Self-service infra — request a DB / queue / namespace; provisioned via IaC.
- Scorecards — track service health (test coverage, SLO compliance, deprecated dep, etc.).
- Single pane of glass — links to dashboards / runbooks / docs / oncall.
- Tech radar — what's recommended / experimental / deprecated.
The "platform engineering" stack underneath
Most IDPs sit on top of:
- ★ Crossplane — provision cloud infra from k8s CRDs; pairs naturally with IDPs.
- ★ GitOps (Argo CD / Flux) — for actual deployments.
- ★ Terraform / OpenTofu / Pulumi — IaC primitives.
- Backstage scaffolder + GitHub PR — the canonical "scaffold → PR → merge → deployed" loop.
- OpenTofu modules / Helm charts as the building blocks the IDP exposes.
When you need an IDP
- Multiple teams shipping services and the platform team is overloaded with "create a thing for me" tickets.
- New-team onboarding takes days because of tribal-knowledge ops.
- You can't list every service running in production.
- Scorecards / golden-paths matter for compliance.
When you don't
- Solo founder / small team — the overhead is enormous; you don't have the scale.
- Few enough services that a wiki page works.
- Your dev team is happy enough writing PRs against a deploy repo.
Backstage specifically
- Plugin ecosystem is large; integrations for most things you use.
- Operating it is real work — keeping plugins up to date, customizing, hosting.
- Roadie / Spotify Portal — managed Backstage if you don't want the ops.
Patterns to adopt
- ★ Software catalog first. Even before scaffolders. Knowing what exists is half the value.
- Scorecards drive behavior. Make "service has runbook" / "has SLO" / "has owner" measurable.
- Golden paths > rigid policy. Make the right thing easy; allow deviation with documentation.
- Plug into existing systems. Don't replace your incident tool; link to it from the portal.
- Version templates in git. Templates evolve; track who used what version.
Pick this if…
- Default OSS IDP: Backstage.
- Hosted, want minimal ops: Roadie.
- SaaS-first with great DX: Port.
- Service catalog + scorecards focus: Cortex or OpsLevel.
- You're not sure you need an IDP: you probably don't yet. Wait until the platform team is the bottleneck.