Roadie
Roadie’s Blog

Backstage Microservices Strategies: Taming Sprawl with a Service Catalog

By David TuiteFebruary 12th, 2026
Backstage Microservices Strategies

When a 3 AM incident cascades through your 400-microservice architecture, the critical question isn't what's broken, it's who owns it. Without a centralized system of record, organizations inevitably accumulate "zombie services" - undocumented, unmaintained code that nobody claims until it fails catastrophically. Backstage, the CNCF-incubated developer portal created by Spotify, has emerged as the definitive solution for taming this complexity, streamlining incident response and drastically cutting the time required to onboard new engineers.

The stakes are substantial: the friction caused by tool sprawl and context switching acts as a massive tax on engineering velocity. For organizations with 50+ engineers already committed to microservices, the question isn't whether to implement a service catalog, it's how to do it effectively before complexity overwhelms capacity.

The hidden cost of microservices at scale

Modern engineering organizations force developers to juggle a dizzying array of monitoring, CI/CD, and cloud infrastructure tools. This fragmentation forces constant context switching, breaking flow state and burning valuable engineering hours every week. When Expedia Group surveyed their 5,000+ developers managing 20,000 microservices, documentation discoverability emerged as their primary pain point - engineers were spending more time finding information than building features.

The ownership problem compounds over time. Without a system of record, teams accumulate what practitioners call "microservice graveyards", entire clusters of services where the original owners have departed and no one wants responsibility. At Spotify before Backstage, engineers described their workflow as "rumor-driven development" , the only way to discover how something worked was asking colleagues who might remember.

Incident response suffers most acutely. FireHydrant's analysis of 50,000+ incidents found that when services have clear ownership attached, mean time to resolution drops by 36% . Motability was able to reduce the creation of new services from 2 - 3 days to minutes after implementing service catalog tooling that eliminated the "who owns this?" question during outages. The pattern is consistent: visibility into ownership and dependencies transforms incident response from frantic Slack archaeology into systematic problem-solving.

Backstage as your microservices operating system

Backstage functions as an internal developer portal, a unified interface that aggregates service metadata, documentation, and operational tooling into a single searchable surface. Created by Spotify in 2016 and open-sourced in 2020, it now manages their 2,000+ backend services and 4,000+ data pipelines with contributions from over 60 internal teams. The CNCF accepted it as an Incubating project in March 2022, signaling enterprise-grade maturity. Created by Spotify in 2016 and open-sourced in 2020, it now manages their 2,000+ backend services and 4,000+ data pipelines with contributions from over 60 internal teams. The CNCF accepted it as an Incubating project in March 2022, signaling enterprise-grade maturity.

The Software Catalog forms the foundation. Every service, API, library, and infrastructure resource gets registered with a catalog-info.yaml file that lives alongside the code:

yaml
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: payments-service
  description: Handles payment processing for all checkout flows
  annotations:
    # Links this service to its PagerDuty on-call schedule
    pagerduty.com/service-id: P123ABC
    # Connects to the GitHub repository
    github.com/project-slug: acme/payments-service
spec:
  type: service
  lifecycle: production
  # Defines team ownership - answers "who owns this?"
  owner: payments-team
  # Groups service into larger business domain
  system: checkout
  # Declares what APIs this service provides
  providesApis:
    - payments-api
  # Declares dependencies on other resources
  dependsOn:
    - resource:default/payments-db

This declarative approach ensures metadata lives with code and flows through standard git workflows. The owner field answers the 3 AM question definitively. The dependsOn and providesApis fields create a navigable dependency graph. Annotations connect the service to operational tooling, PagerDuty, CI/CD pipelines, monitoring dashboards, creating what Backstage calls a "single pane of glass."

The System Model introduces organizational hierarchy: Domains (business areas like Payments or Search) contain Systems (collections of components that form a product capability), which contain Components (individual services) and APIs (interface boundaries). This taxonomy maps directly to how engineering organizations structure teams and ownership, making catalog navigation intuitive rather than arbitrary.

The System Model

Golden Paths eliminate the copy-paste tax

Before Backstage, creating a new service at Spotify took 14 days of configuration, pipeline setup, and documentation. Afterward: less than 5 minutes . The difference is the Scaffolder, Backstage's templating system that implements what Spotify calls "Golden Paths" .

A Golden Path is an opinionated, supported path to building something, a backend service, a data pipeline, a React application. Rather than starting from a copy-pasted template that's already drifted from current standards, engineers use Software Templates that generate services with current CI/CD configuration, security scanning, logging, and observability pre-wired:

yaml
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  name: spring-boot-service
  title: Spring Boot Microservice
  description: Create a production-ready Spring Boot service with CI/CD
spec:
  owner: platform-team
  type: service
  # Parameters define the form users fill out
  parameters:
    - title: Service Details
      required:
        - name
        - owner
      properties:
        name:
          type: string
          title: Service Name
          description: Lowercase with hyphens (e.g., user-auth-service)
        owner:
          type: string
          title: Owner
          description: Team that will own this service
          ui:field: OwnerPicker
  # Steps define what actions to execute
  steps:
    # Step 1: Fetch the template skeleton from a repository
    - id: template
      name: Fetch Template
      action: fetch:template
      input:
        url: ./skeleton
        values:
          name: ${{ parameters.name }}
          owner: ${{ parameters.owner }}

    # Step 2: Publish to GitHub and create repository
    - id: publish
      name: Publish to GitHub
      action: publish:github
      input:
        repoUrl: github.com?repo=${{ parameters.name }}&owner=acme
        description: ${{ parameters.description }}

    # Step 3: Register in Backstage catalog automatically
    - id: register
      name: Register Component
      action: catalog:register
      input:
        catalogInfoPath: /catalog-info.yaml

The philosophy matters: Golden Paths are recommended, not mandated. Engineers can deviate, but they lose platform team support. This balances standardization with autonomy, the platform provides the easy path, but doesn't constrain innovation. Spotify maintains six Golden Paths spanning backend, frontend, data engineering, machine learning, and web development, each optimized for their specific discipline.

The productivity impact extends beyond service creation. Spotify measured new engineer time to 10th pull request, dropping from 60+ days to 20 days after Backstage deployment. When every service follows consistent patterns, understanding one means understanding all.

Dependency visualization reveals blast radius

The Catalog Graph plugin transforms the static catalog into an interactive dependency map. When planning an API deprecation or infrastructure migration, engineers can trace exactly which services consume an endpoint and who owns them. During incidents, the graph shows upstream dependencies that might be causing failures and downstream services that might be affected.

The Catalog Graph plugin

Example dependency graph showing blast radius when payments-service changes

Relationships are defined explicitly in catalog metadata using dependsOn, providesApis, and consumesApis fields. Backstage automatically generates inverse relationships, if Service A declares it consumes API B, API B's page shows Service A as a consumer. This bidirectional visibility makes deprecation planning systematic: filter by API, identify all consumers, contact those teams, and track migration progress.

The blast radius analysis capability transforms change management. Before deploying infrastructure changes, engineers visualize what breaks if a database becomes unavailable or an API endpoint goes down. Migration wave planning becomes data-driven, identify server clusters where dependency chains can be broken cleanly, then sequence the migration accordingly.

Tech Insights gamifies production readiness

Catalog completeness means nothing if the metadata is wrong. Tech Insights (called Scorecards in some implementations) provides automated fact-checking that validates services against production readiness standards. The system operates on two concepts: Facts (data points collected from various sources) and Checks (rules that evaluate facts).

Common checks include PagerDuty integration verification (ensuring on-call is configured), deprecated library detection, Node.js version compliance, and documentation completeness. Each check runs on a configurable schedule and produces a compliance score visible on service pages:

yaml
# Example Tech Insights check configuration
techInsights:
  factChecker:
    checks:
      productionReadiness:
        type: json-rules-engine
        name: Production Readiness
        description: Ensures services meet production standards
        # Define which facts to collect
        factIds:
          - entityOwnershipFactRetriever
          - techdocsFactRetriever
          - pagerdutyFactRetriever
        # Define the rule logic
        rule:
          conditions:
            all:
              # Check 1: Must have a group owner (not individual)
              - fact: hasGroupOwner
                operator: equal
                value: true
              # Check 2: Must have TechDocs documentation
              - fact: hasTechDocs
                operator: equal
                value: true
              # Check 3: Must have PagerDuty integration
              - fact: hasPagerDuty
                operator: equal
                value: true

Catalog completeness

Dexcom used automated checks to drive catalog completeness from 60% to over 95%. Baillie Gifford, operating in the regulated financial services sector, uses scorecards to track security tool adoption across 250 developers, generating compliance reports that previously required days of manual assembly.

The gamification effect drives adoption organically. When teams see leaderboards showing their scorecard performance relative to peers, competitive dynamics motivate improvement without mandates. Engineering leaders report this "soft governance" approach achieves better compliance than top-down enforcement while preserving team autonomy.

Integration creates the unified dashboard

Backstage's plugin architecture enables what engineers call the "single pane of glass", consolidated visibility across the entire operational stack. Over 200 plugins provide native integrations with common tooling.

The Kubernetes plugin displays deployment status, pod health, and resource metrics directly on service pages. Engineers see crash logs aggregated from all pods, health indicators, and links to deeper investigation tools, without leaving Backstage or requiring kubectl access. The PagerDuty plugin shows active incidents, on-call schedules, and allows triggering new incidents from service context. GitHub Actions, CircleCI, and Jenkins plugins display build status, deployment history, and failure details.

API management uses the same catalog model. OpenAPI, AsyncAPI, and GraphQL specifications register as API entities with full interactive documentation, consumer/provider relationships, and lifecycle management. When API version 2 launches, teams identify v1 consumers directly from the catalog and coordinate deprecation timelines.

The integration pattern is consistent: annotate catalog entities with tool-specific identifiers, and plugins fetch relevant data on page load. A properly configured service page shows ownership, dependencies, documentation, build status, deployment health, active incidents, and on-call, everything needed to understand and operate the service from a single URL.

Choosing between self-hosted and managed options

Self-hosted Backstage offers unlimited customization but demands significant investment: typically 2-3 dedicated FTEs with TypeScript/React expertise for initial buildout and ongoing maintenance. Organizations like Paddle ran self-hosted Backstage for four years before migrating to managed alternatives when the maintenance burden conflicted with driving adoption.

Roadie provides managed Backstage at approximately $20/user/month with same-day setup, 200+ pre-configured plugins, and enterprise features like RBAC included. The tradeoff is reduced customization compared to self-hosted, though standard catalog formats mean organizations can migrate later if needs evolve.

Proprietary alternatives like Cortex ($65-69/user/month), OpsLevel, and Port offer differentiated approaches. Cortex emphasizes AI-powered service discovery and executive reporting. OpsLevel prioritizes fast deployment, 30-45 days typical, with automated catalog maintenance. Port offers maximum customization through a no-code builder but requires significant configuration investment.

For organizations with 50-100 engineers, managed solutions typically deliver faster time-to-value. Above 500 engineers with dedicated platform teams, self-hosted Backstage becomes economically viable if TypeScript expertise exists. Regulated industries should evaluate on-premises options alongside Roadie's self-hosted offering.

Starting your service catalog journey

Successful implementations follow a consistent pattern: start with the software catalog before adding complexity. Import users and teams first so ownership fields work immediately. Choose early-adopter teams willing to contribute catalog metadata, then expand systematically. Platform teams at Expedia put 850+ engineers through Backstage-based bootcamp in their first year, treating adoption as a change management initiative rather than a technology deployment.

Catalog completeness matters more than feature breadth initially. Contentful achieved 90% metadata coverage within one year by making Scaffolder the default service creation path, new services entered the catalog automatically, while existing services received incremental metadata through team contributions.

Measure what matters: time to 10th PR for onboarding velocity, MTTR for incident response improvement, and catalog completeness for adoption tracking. Spotify's Pia Nilsson captured the business case succinctly : "If you have numbers like that in your organization, it's easy to get buy-in for investments in developer experience."

The microservices complexity that created the 3 AM ownership problem also created the opportunity for systematic improvement. Backstage provides the framework; your implementation provides the value. Organizations that treat their service catalog as a product, with dedicated ownership, user feedback loops, and continuous improvement, consistently report the productivity gains that justify investment. Those that deploy and forget find another unused tool in an already crowded landscape.

The choice isn't whether complexity will be managed, it's whether you'll manage it systematically before it manages you.

Next Steps

Ready to implement Backstage in your organization? Here are resources to help you get started:

  • Explore Roadie's Catalog - See how Roadie's managed Backstage platform can help you organize your microservices architecture with automated discoverability and ownership tracking.

  • Learn About the Scaffolder - Discover how Software Templates and Golden Paths can standardize service creation and reduce onboarding time from weeks to minutes.

  • Read Implementation Case Studies - Learn from companies like Expedia Group, Dexcom, and Contentful who have successfully deployed Backstage at scale.

  • Compare Deployment Options - Download the whitepaper comparing managed versus self-hosted Backstage to determine the best approach for your organization.

  • Book a Demo - See Roadie in action. Request a personalized demo to discover how managed Backstage can tame your microservices sprawl with same-day setup and enterprise-grade security.

Become a Backstage expert

To get the latest news, deep dives into Backstage features, and a roundup of recent open-source action, sign up for Roadie's Backstage Weekly. See recent editions.