Platform Engineering: Building the Golden Path
The Reader's Dilemma
Dear Marilyn,Our developers spend more time fighting with infrastructure than writing code. Every team has their own way of deploying, their own CI/CD pipelines, their own monitoring setup. It's chaos. I've heard about "Platform Engineering" but isn't that just DevOps with a new name?
Marilyn's Reply
DevOps was about breaking down silos between development and operations. Platform Engineering is about building the road those teams travel on. The difference is profound: DevOps is a culture, Platform Engineering is a product.
Think of it this way: DevOps says "developers and ops should collaborate." Platform Engineering says "let's build a self-service platform so developers don't need to collaborate on routine tasks—they can just do them."
The Spark: Understanding Platform Engineering
The Internal Developer Platform (IDP)
At the heart of Platform Engineering is the Internal Developer Platform (IDP)—a self-service layer that abstracts away infrastructure complexity:
| Layer | Purpose | Examples |
|---|---|---|
| Developer Portal | Single entry point for all platform services | Backstage, Port, Cortex |
| Service Catalog | Registry of all services, owners, and dependencies | API docs, runbooks, SLOs |
| Self-Service Actions | Automated workflows for common tasks | Create repo, deploy service, provision database |
| Infrastructure Abstraction | Hide complexity behind simple interfaces | Terraform modules, Crossplane, Pulumi |
Quick Check
What is the primary purpose of an Internal Developer Platform (IDP)?
The Golden Path
The Golden Path is a pre-paved, opinionated way to build and deploy applications. It's not mandatory, but it's the path of least resistance:
Golden Path Characteristics:
- Opinionated but not enforced: Teams can deviate if they have good reasons
- Well-documented: Clear guides, templates, and examples
- Automated: One-click or minimal-click setup
- Maintained: Platform team keeps it updated and secure
- Observable: Built-in monitoring, logging, and alerting
The key insight is that constraints enable creativity. When developers don't have to think about infrastructure, they can focus entirely on solving business problems.
Quick Check
What makes a 'Golden Path' different from a mandatory standard?
Platform as a Product
The most important mindset shift in Platform Engineering is treating the platform as a product with developers as customers:
Old Mindset ❌
- "Developers must use our tools"
- "We know what's best for them"
- "File a ticket and wait"
- "Read the documentation"
Product Mindset ✓
- "How can we make their lives easier?"
- "What do they actually need?"
- "Self-service in minutes"
- "Intuitive UX, docs as backup"
Quick Check
Why should platform teams treat their platform as a 'product'?
Key Platform Engineering Patterns
1. Template-Based Scaffolding
Provide project templates that include CI/CD, monitoring, security scanning, and deployment configs out of the box. Developers run one command and get a production-ready starting point.
2. GitOps for Everything
All infrastructure and application state is declared in Git. Changes are made via pull requests, reviewed, and automatically applied. No manual kubectl or terraform commands.
3. Composable Infrastructure
Instead of monolithic infrastructure, provide building blocks (database, cache, queue, storage) that developers can compose. Think Lego, not pre-built models.
4. Paved Road Security
Security is built into the Golden Path by default. Developers don't need to think about secrets management, network policies, or vulnerability scanning—it's automatic.
Quick Check
What is the benefit of 'GitOps for Everything' in platform engineering?
Measuring Platform Success
How do you know if your platform is successful? Track these metrics:
| Metric | What It Measures | Target |
|---|---|---|
| Time to First Deploy | How long from "new project" to "running in production" | < 1 day |
| Developer NPS | Would developers recommend the platform? | > 50 |
| Golden Path Adoption | % of services using the recommended path | > 80% |
| Self-Service Rate | % of requests handled without platform team involvement | > 90% |
Quick Check
Why is 'Developer NPS' an important metric for platform teams?