The first time I saw Backstage in action at a conference demo, I thought it was just another fancy dashboard. But after implementing it for a platform team, I realized it's much more—it's the front door to your entire platform. A good developer portal reduces the friction between "I need to do something" and "I'm doing it."
Backstage, open-sourced by Spotify in 2020, has become the de facto standard for developer portals. In this article, we'll explore how to leverage it to create a unified developer experience.
🎯 What Is a Developer Portal?
Definition
A developer portal is a centralized web application that provides developers with everything they need to discover, create, and manage software components within an organization.
Core Capabilities
Capability
Description
Value
Software Catalog
Inventory of all software components
"What exists and who owns it?"
Software Templates
Scaffolding for new projects
"How do I start something new?"
TechDocs
Documentation alongside code
"How do I use this?"
Search
Find anything across the org
"Where is what I need?"
Plugins
Extend with custom functionality
"Can I see my dashboards here?"
🏗️ Backstage Architecture
High-Level Overview
Core Components
📚 Software Catalog
Catalog Model
The catalog organizes entities using a well-defined model:
Entity Kinds
Entity Relationships
Catalog Processor (Python Example)
🛠️ Software Templates
Template Structure
Template Skeleton
Skeleton File Example
📖 TechDocs
Documentation as Code
TechDocs integrates documentation directly with your code using MkDocs:
TechDocs Annotation
🔌 Plugins
Plugin Architecture
Popular Plugins
Plugin
Purpose
Integration
kubernetes
View K8s resources
Cluster status, pods, logs
github-actions
CI/CD visibility
Workflow status, runs
pagerduty
Incident management
On-call info, incidents
prometheus
Metrics
Alerts, graphs
sonarqube
Code quality
Quality gates, issues
cost-insights
Cloud costs
Spending, trends
security-insights
Security posture
Vulnerabilities, compliance
Custom Plugin Example
🚀 Deployment Considerations
Production Architecture
Kubernetes Deployment
✅ Best Practices
Catalog Management
Automate discovery - Use GitHub discovery or similar
Enforce ownership - Every entity must have an owner
Keep it current - Automated health checks for stale entities
Start simple - Add complexity gradually
Template Design
Provide sensible defaults - Minimize required decisions
Follow golden paths - Templates encode best practices
Include everything - CI/CD, docs, monitoring from day one
Test templates - Validate template output regularly
Adoption Strategy
Start with catalog - Show value with visibility first
Add templates gradually - One use case at a time
Integrate existing tools - Don't replace, unify
Gather feedback - Iterate based on developer needs
🔗 What's Next?
In Article 9: Platform APIs and Abstractions, we'll explore how to design and implement platform APIs using Kubernetes operators, Crossplane, and API-first design principles.