Golden Paths
Paved Roads, Templates, and Cookiecutter.
Golden Paths (Paved Roads)
Netflix coined the term "Paved Road." The idea is simple: "You can build however you want, but if you build it this way, the platform team supports you for free."
Why Golden Paths?
- Cognitive Load: A dev shouldn't have to decide "Which Docker base image?" or "How do I configure logging?".
- Standardization: If everyone uses the same build tool, upgrading OpenSSL across the company takes a day, not a year.
The Template Engine
The start of a Golden Path is the "New Project" experience.
1. Cookiecutter / Yeoman
CLI tools that take a template repo (with placeholders like {{ project_name }}) and generate a new folder.
- Pros: Simple, works locally.
- Cons: Hard to discover.
2. Backstage Scaffolder
A UI-based wizard.
- Dev selects "Spring Boot Microservice".
- Fills in
Name,Team,Java Version. - Backstage creates the Repo, sets up the GitHub Actions, provisions the ECR repo, and registers it in the Catalog.
What's in a Path?
A complete Golden Path includes:
- Skeleton Code: The Hello World app.
- CI/CD Pipeline: GitHub Actions
.yamlpre-configured. - Infrastructure: A Terraform module connection (or a
values.yamlfor Helm). - Observability: Pre-wired libraries for Prometheus/OpenTelemetry.
- Linter/Formatter: Pre-commit hooks set up.
Don't be a Gatekeeper
Golden Paths are optional. If a team needs to use Rust for a specific performance reason, let them go "off-road."
However, remind them: "If you go off-road, you fix your own flat tires." (They manage their own patching, security, and CI).