Implementation Journey 🛠️

Phase 0: POC (Weeks 1 & 2)

  • Goals

    • Local Backstage setup

    • Quick example template to showcase automation capabilities

      • Service Discovery example

        • read Org data from Github

      • Scaffolder Automation example

        • write to Github (pull requests & repository creation)

  • Challenges

    • Learning about platform and configuration

    • Getting permissions to create a Github App

  • Outcomes

    • Transferred knowledge to team

    • Demo'd platform capabilities

    • Received approval to implement

Phase 1: Deployment, Service Discovery & API Docs (Quarter 1)

  • Goals

    • Deploy Backstage to Cloud

    • Authentication via Okta SSO integration

    • API Documentation Feature Setup

  • Challenges

    • IaC and CI/CD setup

      • Multiple meetings with Cloud Engineering team to figure out right architecture

        • Settled on Cloud Run for cost savings

    • Authentication requirements gathering and implementation

      • Worked with IT to receive secrets and setup Okta configuration

    • API documentation publishing feature released

      • Friction to push teams to use feature

    • Cross-team alignment on service discovery standards

      • Once again friction to get teams to implement across org repositories

  • Outcomes

    • First few Backstage deployments

    • Secure authentication flow

    • CI/CD pipeline setup

    • Centralized API Documentation

    • Initial developer feedback

Phase 2: Scaffolder Templates (Quarter 2)

  • Goals

    • Scaffolder templates framework

    • Templates for backend and frontend engineers

    • Plugins to reduce context switching

    • Google Analytics to track usage of Backstage

  • Challenges

    • Gathering unwritten engineering standards

      • Working with architecture team and engineers to document best practices and create re-usable "skeleton" repositories

    • Long hours spent testing and debugging templates

    • Implementing plugins for various patforms (datadog, sentry, snyk and entity feedback)

  • Outcomes

    • Added two backend templates (nodejs/php microservice) and one frontend template (vuejs microfrontend)

    • Documented engineering standards for all future projects

    • Quick wins implementing plugins that reduced context switching and allowed engineers to leave feedback on eachother's projects

Phase 3: More Templates & Enhancements (Quarter 3-4)

  • Goals

    • Work with new teams to create more templates

    • Implement cost insights

    • Automate engineering standard checks against entities and visualization

  • Challenges

    • Org wide tagging of cloud resources to allow getting GCP billing data linked to Backstage entities

      • Took a lot of effort because it affected lots of team's projects IaC

    • Migrating engineering standards documentation to automated checks using Spotify's Sound Check plugin

      • Lots of time spent figuring out how to get the correct metadata to make sure checks are reliable

  • Outcomes

    • Multiple team-specific and generic templates like pub/sub topics

    • Users can visualize cloud costs per entity

    • Engineering standards turned in to automated checks which allowed visualizing service maturity

      • Management can track reliability and quality insights on their team's projects

Last updated

Was this helpful?