Overview
Platform engineering treats internal infrastructure and tooling as a product, built for an internal audience of product engineers rather than external customers. Instead of every team independently figuring out how to provision a database, wire up CI/CD, or get logs flowing, or waiting on a shared infra team's ticket queue for each request, a platform team builds self-service "golden paths": opinionated, well-supported defaults that handle the common 80% of needs, with sane security and observability built in from the start. The discipline exists because pure "you build it, you run it" DevOps, taken to its logical extreme across dozens of teams, multiplies the same infrastructure problems dozens of times over; a platform is how organizations get the ownership benefits of DevOps without paying that duplication cost.
Quick Reference
| Model | How infra gets provisioned | Failure mode without discipline |
|---|---|---|
| Full DevOps (every team owns infra) | Each team does it themselves | Inconsistent security/reliability, duplicated effort |
| Ticket-driven infra team | Request and wait | Slow, infra team becomes a bottleneck |
| Platform engineering | Self-service via golden paths | Platform becomes shelfware if it's not actually easier than the alternative |
Syntax
# A golden-path service template - one file a team fills in,
# the platform generates the CI pipeline, base manifests, and
# observability wiring behind the scenes.
apiVersion: platform.internal/v1
kind: ServiceTemplate
metadata:
name: checkout-api
spec:
language: node
database: postgres
exposesHttp: true
team: paymentsExamples
# A golden path collapses what used to be a multi-day, multi-ticket
# process (repo setup, CI config, cluster namespace, DB provisioning,
# secrets, dashboards) into one self-service command.
platform new service checkout-api --language node --database postgresMeasure adoption, not just existence
A golden path that exists but isn't actually used (teams still hand-roll their own setup) isn't succeeding, treat the platform like a product with real users, and track whether teams choose it over the alternative.
Visual Diagram
Common Mistakes
- Building a platform the platform team thinks is good without validating it against what product engineers actually need, an unused golden path is just extra maintenance burden.
- Making the golden path mandatory with no escape hatch, so teams with genuinely unusual requirements are stuck fighting the platform instead of the alternative being an explicit, supported exception process.
- Conflating "we have Terraform modules" with "we have a platform", reusable infrastructure code is a building block, not a self-service product with defaults, documentation, and support built around it.
- Under-investing in the platform's own reliability and on-call, if the platform breaks, it breaks every team building on it simultaneously, which is a much bigger blast radius than one team's own outage.
Performance
- The main "performance" metric that matters is developer time-to-productivity, how long it takes a team to go from "we need a new service" to "it's running with logs, metrics, and CI", not raw infrastructure throughput.
- A platform's self-service tooling (CLI, portal, templates) needs to stay fast and low-friction itself; a golden path that takes longer to use than doing it manually will be abandoned regardless of its other merits.
- Centralizing common infrastructure patterns (one well-tuned Terraform module instead of twenty ad hoc copies) generally improves actual infrastructure performance too, since optimizations land once and propagate everywhere.
Best Practices
- Run the platform team with product-management discipline, gather feedback from the engineers using it, prioritize by actual pain points, and measure adoption.
- Provide an explicit, supported way to deviate from the golden path for genuine edge cases, rather than making it a hard wall.
- Bake security and observability defaults into the golden path itself, so using the easy path is also the secure, observable path, not a trade-off between them.
- Treat the platform's own reliability as critical infrastructure; its outages affect every team building on it at once.