👨‍💻
Mike's Notes
  • Introduction
  • MacOs Setup
    • System Preferences
    • Homebrew
      • Usage
    • iTerm
      • VIM
      • Tree
      • ZSH
    • Visual Studio Code
    • Git
    • SSH Keys
  • DevOps Knowledge
    • SRE
      • Scaling Reliably
        • Splitting a Monolith into Microservices
      • Troubleshooting Common Issues
      • Service Level Terminology
      • Toil
      • Monitoring
      • Release Engineering
      • Best Practices
      • On-Call
      • Alerting
    • Containers
      • Docker
        • Best Practices
          • Image Building
          • Docker Development
        • CLI Cheat Sheet
      • Container Orchestration
        • Kubernetes
          • Benefits
          • Cheat Sheet
          • Components
          • Pods
          • Workload Resources
          • Best Practices
    • Developer Portal 👨‍💻
      • Solution Overview 🎯
      • System Architecture 🏗️
      • Implementation Journey 🛠️
      • Cross-team Collaboration 🤝
      • Lessons & Future 🎓
    • Provisioning
      • Terraform
        • Installation
        • Usage
    • Configuration Management
      • Ansible
        • Benefits
        • Installation
    • Build Systems
      • Bazel
        • Features
  • Security
    • Secure Software Engineering
    • Core Concepts
    • Security Design Principles
    • Software Security Requirements
    • Compliance Standards and Policies
      • Sarbanes-Oxley (SOX)
      • HIPAA and HITECH
      • Payment Card Industry Data Security Standard (PCI-DSS)
      • General Data Protection Regulation (GDPR)
      • California Consumer Privacy Act (CCPA)
      • Federal Risk and Authorization Management Program (FedRAMP)
    • Privacy & Data
  • Linux Fundamentals
    • Introduction to Linux
    • Architecture
    • Server Administration
      • User / Groups
      • File Permissions
      • SSH
      • Process Management
    • Networking
      • Diagrams
      • Browser URL Example
      • Network Topologies
      • Signal Routing
      • DNS (Domain Name System)
      • SSL (Secure Sockets Layer)
      • TLS (Transport Layer Security)
  • System Design
    • Process
    • Kafka
      • Advanced Topics
    • URL Shortener
Powered by GitBook
On this page
  • Phase 0: POC (Weeks 1 & 2)
  • Phase 1: Deployment, Service Discovery & API Docs (Quarter 1)
  • Phase 2: Scaffolder Templates (Quarter 2)
  • Phase 3: More Templates & Enhancements (Quarter 3-4)

Was this helpful?

  1. DevOps Knowledge
  2. Developer Portal 👨‍💻

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

      • GitOps CI/CD Setup

        • Deployments on merge to default branch

        • Automated tests (linting, unit, e2e, etc.) on push to any branch

    • 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 started

    • Initial developer feedback

Phase 2: Scaffolder Templates (Quarter 2)

  • Goals

    • Achieve full API documentation adoption

    • 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

    • Crentralized all of our API docs

    • 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

PreviousSystem Architecture 🏗️NextCross-team Collaboration 🤝

Last updated 3 months ago

Was this helpful?

Found out it takes time to get adoption

😿