Platform Engineering with Backstage: Build a Useful Developer Portal
How to implement Backstage with real templates, scorecards, and golden paths so internal platform work reduces delivery friction.
Key takeaways
How to implement Backstage with real templates, scorecards, and golden paths so internal platform work reduces delivery friction.
Platform Engineering with Backstage: Build a Useful Developer Portal#
Backstage projects fail when they become a link directory. A productive portal must shorten time-to-ship through scaffolding, ownership visibility, and policy-aligned golden paths.
What a Useful Portal Must Do#
- Create new services from approved templates.
- Show service ownership and on-call metadata.
- Surface quality checks (SLO status, vulnerabilities, missing docs).
- Link runbooks and deployment history in one place.
Example: Service Template for a New API#
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: node-api-template
spec:
owner: platform-team
type: service
parameters:
- title: Service Metadata
required: [name, owner]
properties:
name:
type: string
owner:
type: string
steps:
- id: fetch-base
action: fetch:template
input:
url: ./skeleton
values:
name: ${{ parameters.name }}
- id: publish
action: publish:github
input:
repoUrl: github.com?owner=org&repo=${{ parameters.name }}
This enforces baseline structure and removes one-off repo setup work.
Example: Catalog Entity With Ownership#
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: billing-api
annotations:
github.com/project-slug: org/billing-api
spec:
type: service
owner: team-finance-platform
lifecycle: production
Now on-call and accountability are obvious during incidents.
Example: Scorecard Checks#
Use scorecards for concrete standards:
- Has production runbook.
- Has SLO and alert route.
- Has dependency scan passing.
- Has pager ownership defined.
Teams should see failures directly in the portal, not in an unrelated dashboard.
Rollout Strategy#
- Start with 3-5 high-impact templates.
- Integrate one identity source and one CI source first.
- Add scorecards after metadata quality is stable.
Backstage succeeds when it becomes the fastest path to production, not an extra process layer.
Get the DevOps Troubleshooting Cheat Sheet
Subscribe and get our free one-page reference for the errors that eat an afternoon — CrashLoopBackOff, OOMKilled, Terraform state locks, and more — plus new guides as we publish them.
GitHub Actions for Monorepos: Fast CI Without Pipeline Chaos
A docs-only PR that waits behind three unrelated backend changes for 35 minutes is not a caching problem. It is a missing ownership boundary.
SRE Error Budgets in Practice: Shipping Fast Without Burning Reliability
Error budgets turn "how reliable should we be?" into a number both product and SRE can spend. Here is how we set, alert on, and enforce them.
More from Infrastructure
Explore more articles in this category
AWS EU-SOUTH-2 Packet Loss: The Single-AZ Lesson Nobody Learned
A single Availability Zone in AWS's Spain region degraded for roughly 2.5 hours, and most "multi-AZ" architectures would have failed anyway.
Cloudflare's Clef: When a Decision Model Beats an LLM Call
Most moderation, routing, and triage calls aren't generation problems. Clef proves it by answering in 38.8 milliseconds instead of seconds.
Perplexity Left DynamoDB for CobbleDB: When Should You?
Perplexity built its own key-value store because DynamoDB's read path and bill stopped fitting 50 KB search items. Here is the checklist for when leaving is justified.
You might have missed
Evergreen posts worth revisiting.