Backstage Fundamentals
Backstage is an open-source framework for building a developer portal around a centralized software catalog. It collects software metadata, ownership, documentation, and supported creation paths in one application that your organization configures and operates.
itPlatform engineering and SRE | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: Backstage Fundamentals
Backstage is the application you assemble when a collection of repositories, dashboards, documentation sites, and forms has become an expedition. It puts a shared front door in front of them. It does not replace them, command them, or teach them manners. The portal is the map, not the territory, and maps become embarrassing when they show a bridge that vanished three migrations ago.
The load-bearing idea is the Software Catalog. It is a graph of things such as Components, APIs, Resources, Groups, Systems, and Templates. A component page becomes useful because it can connect a service to its documentation, source code, related systems, and owner. That last link matters more than the page furniture. An entity with no usable owner is a well-formatted note pinned to a locked door.
Catalog records commonly begin as catalog-info.yaml beside the code. Backstage discovers and processes those files, then stores the results for the UI, Search, and other plugins. That does not make Backstage the authority on everything it displays. Source control remains responsible for source code. Deployment systems remain responsible for live deployment state. Copying every changing fact into a catalog is how a tidy portal becomes a confident collector of yesterday's news.
The other major moving part is the Software Template. It runs through the create route: collect parameters, perform actions, publish material to source control, register the entity, and report the task result. This can encode a real golden path. It can also produce a glossy form that starts a manual queue. The latter is still organized, which is pleasant, but the queue has noticed no difference.
Plugins are how an App grows. Catalog, TechDocs, Search, and Scaffolder are familiar examples. Frontend plugins change what people see. Backend plugins run services and integrations. Modules extend an existing backend plugin through extension points. Each addition carries credentials, configuration, upgrade work, permissions, and an eventual broken Tuesday, so a plugin needs an owner and a purpose.
The surprising bit is security. Authentication answers who made a request. Authorization answers whether that identity may do the requested thing. Backstage endpoints are not protected by default. A hidden button is a decor decision, not an authorization policy. Put the policy in the backend that serves the data or action.
Start with the Intro for the architecture and catalog flow. Use Slides when the relationships need a compact map. Keep Cheatsheet nearby while reading descriptors, templates, TechDocs, and permissions. The practice reference and exercise turn the local App into a catalog experiment. The Field Notes covers the operational bills that arrive after the portal's welcome screen has made its polite introductions.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://backstage.io/
Supports
- Backstage is an open-source framework for building developer portals
- Backstage includes the Software Catalog, Software Templates, TechDocs, and plugins
- https://backstage.io/docs/overview/architecture-overview/
Supports
- Core, App, and plugin architecture
- Frontend and backend responsibilities
- Backend plugins, logical plugin databases, and plugin isolation
- PostgreSQL as the preferred production database and SQLite for local use
- Software Catalog, Templates, TechDocs, and Search architecture
- https://backstage.io/docs/backend-system/
Supports
- Backend plugins, modules, extension points, services, and feature composition
- Backend plugins operating independently in a microservice-like architecture
- https://backstage.io/docs/getting-started/
Supports
- Local App creation with create-app
- Local development server startup
- https://backstage.io/docs/features/software-catalog/
Supports
- Catalog discovery, registration, processing, entity providers, ownership, and maintenance
- Catalog entity kinds and the Unprocessed Entities plugin
- https://backstage.io/docs/features/software-catalog/descriptor-format
Supports
- catalog-info.yaml descriptor structure
- Component metadata, spec.owner, and entity references
- TechDocs entity annotation
- https://backstage.io/docs/features/software-catalog/creating-the-catalog-graph/
Supports
- Catalog entity relationships
- Catalog use as a cache rather than the system of record for volatile data
- https://backstage.io/docs/features/software-templates/
Supports
- Software Templates, the create route, task execution, publishing, and catalog registration
- https://backstage.io/docs/features/software-templates/writing-templates/
Supports
- Scaffolder parameters, steps, action IDs, outputs, and expressions
- CamelCase action ID guidance for step output expressions
- https://backstage.io/docs/features/techdocs/
Supports
- TechDocs as a docs-like-code feature
- MkDocs documentation stored with source code
- https://backstage.io/docs/features/techdocs/creating-and-publishing/
Supports
- TechDocs references, mkdocs.yml, docs directories, and techdocs-core
- https://backstage.io/docs/features/search/
Supports
- Search as a Backstage plugin
- Search collators and indexing catalog entities and TechDocs
- https://backstage.io/docs/permissions/overview/
Supports
- Authorization policy and backend enforcement
- Permission decisions for resources and plugin APIs
- Authentication and authorization distinction
- https://backstage.io/docs/golden-path/deployment/
Supports
- Production deployment requirements including PostgreSQL, authentication, observability, and scaling
- https://backstage.io/blog/2020/03/16/announcing-backstage/
Supports
- March 16, 2020 open-source announcement
- Original public Backstage feature set
- https://www.cncf.io/projects/backstage/
Supports
- October 2019 first public commit
- September 8, 2020 CNCF Sandbox acceptance
- Backstage CNCF project status
- https://backstage.io/blog/2020/09/23/backstage-cncf-sandbox/
Supports
- CNCF Sandbox announcement
- https://www.cncf.io/blog/2022/03/15/backstage-project-joins-the-cncf-incubator/
Supports
- Backstage origin at Spotify around 2016
- March 15, 2022 CNCF Incubation
- https://github.com/backstage/backstage/releases/tag/v1.0.0
Supports
- March 17, 2022 Backstage 1.0 release
- https://backstage.io/blog/2022/03/17/backstage-1.0/
Supports
- Backstage 1.0 stability expectations and release process
- https://backstage.io/blog/2023/02/15/backend-system-alpha/
Supports
- February 15, 2023 New Backend System alpha
- https://github.com/backstage/backstage/releases/tag/v1.31.0
Supports
- September 2024 New Backend System stable 1.0
- New Backend System migration guidance and stability policy
- https://github.com/shano/awesome-backstage
Supports
- Curated Backstage ecosystem links
- Plugin Directory, Community Plugins, Helm Chart, Spotify Portal, and Roadie discovery
- https://backstage.io/plugins/
Supports
- Official and community Backstage plugin discovery
- https://github.com/backstage/community-plugins
Supports
- Community-maintained Backstage plugin collection
- https://github.com/backstage/charts
Supports
- Helm-based deployment option for a self-hosted Backstage App
- https://roadie.io/
Supports
- Roadie as a managed Backstage option
- https://roadie.io/product/developer-portal/
Supports
- Roadie's managed Backstage portal and operating model
- https://backstage.spotify.com/
Supports
- Spotify Portal for Backstage as a managed Backstage-based product
- https://backstage.spotify.com/docs/portal
Supports
- Spotify Portal features including Catalog, Scaffolder, TechDocs, and plugin management
- https://www.port.io/
Supports
- Port product and commercial portal positioning
- https://www.cortex.io/
Supports
- Cortex product and catalog, scorecard, and workflow positioning
- https://www.opslevel.com/
Supports
- OpsLevel product and service catalog positioning
- https://www.atlassian.com/software/compass
Supports
- Atlassian Compass component catalog and integration positioning
