Mengenal golden paths sebagai tulang punggung platform engineering: standardized templates, scaffolding, dan application platforms (Backstage), plus cara merancang golden path pertama yang benar-benar dipakai developer

Setelah di episode 2 kita membangun mindset produk, saatnya mengubahnya menjadi abstraksi yang nyata. Konsep pertama yang akan kita bangun adalah golden paths — jalur utama yang direkomendasikan (dan di-enforce) bagi developer untuk men-deploy aplikasi. Golden path adalah tempat di mana mindset produk bertemu dengan konfigurasi: ia adalah "produk" terkecil yang bisa dipakai developer tanpa memahami seluruh kompleksitas di belakangnya.
Mengapa golden path adalah fondasi platform? Karena hampir semua komponen lain — portal, CI/CD platform, service mesh, observability — bekerja untuk mendukung satu atau beberapa golden path. Tanpa golden path, kalian hanya punya koleksi tool yang saling terpisah. Dengan golden path, tool-tool itu menjadi satu pengalaman terpadu.
Golden path adalah pola yang paling direkomendasikan, terstandarisasi, dan terdukung penuh untuk membangun dan men-deploy aplikasi di atas platform. Ia menjawab satu pertanyaan developer: "Apa cara paling aman, paling cepat, dan paling sesuai standar untuk deploy aplikasi saya?"
Golden path bukan larangan. Ia adalah rekomendasi yang diinvestasikan: tim platform merawat tooling, template, dan dokumentasinya sehingga mengikuti jalur ini selalu lebih mudah daripada menyimpang. Kunci adopsi ada di kalimat terakhir — jika jalur alternatif lebih mudah, developer akan memilihnya.
| Karakteristik | Arti Praktis |
|---|---|
| Satu jalur utama | Default tunggal, bukan menu pilihan 10 opsi |
| Scaffolding otomatis | Struktur project lahir dari template, bukan copy-paste |
| Secure by default | TLS, secrets, dan policy sudah benar sejak awal |
| Observable | Metrics, logs, dan traces aktif tanpa konfigurasi ekstra |
| Bisa di-debug | Error message yang jelas saat deployment gagal |
Golden path bisa diimplementasikan pada berbagai tingkat kedalaman. Ini adalah spektrum — tim yang berbeda akan memilih posisi yang berbeda:
Golden path kalian bisa berhenti di level mana pun. Yang penting: pilih tingkat yang sesuai dengan kematangan dan kapabilitas tim kalian — bukan tingkat tercanggih yang pernah dibaca.
Satu golden path yang baik biasanya mengemas beberapa komponen sekaligus:
Template menentukan struktur project. Di Backstage, template didefinisikan sebagai YAML yang bisa men-scaffold repository GitHub lengkap dengan konfigurasi:
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: springboot-service
title: Spring Boot Service
description: Golden path untuk service Spring Boot
spec:
owner: platform-team
type: service
parameters:
- title: Informasi Service
properties:
component_id:
type: string
description: Nama komponen
owner:
type: string
description: Tim pemilik
steps:
- id: fetch-template
action: fetch:template
input:
url: ./skeletons/springboot
values:
name: ${{ parameters.component_id }}
- id: publish
action: publish:github
input:
repoUrl: ${{ parameters.repoUrl }}
- id: register
action: catalog:register
input:
repoContentsUrl: ${{ steps['publish'].output.repoContentsUrl }}Bersamaan dengan kode, golden path menyediakan infrastruktur yang dibutuhkan — namespace, database, secrets. Di episode 5 kita akan melakukan ini dengan Terraform + Crossplane, tapi konsepnya sama: infrastruktur lahir dari template, bukan dari tiket.
Template berakhir pada pipeline CI/CD yang otomatis terhubung ke deployment:
name: Deploy via Golden Path
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy ke golden path
run: score-k8s run -f score.yaml -o manifests/Kita akan membangun pipeline seperti ini secara utuh di episode 7.
Note
Konsep kunci: template menggeser pengetahuan. Sebelum golden path, pengetahuan (cara deploy, konfigurasi yang benar, di mana secrets) tersebar di kepala engineer. Setelah golden path, pengetahuan itu terkapsulasi dalam template dan pipeline — bisa di-review, diuji, dan diwariskan.
Mari rancang golden path pertama dengan pola yang bisa direplikasi ke tim mana pun. Kita tidak perlu tools lengkap dulu — cukup struktur keputusannya:
main → pipeline build → deploy ke namespace otomatis).Contoh ringkas dalam satu halaman "kontrak":
Golden Path: Service HTTP (Node.js/TypeScript)
- Repo : github.com/org/{service} dari template backstage
- Deploy : push ke main -> CI build -> deploy otomatis ke prod (namespace {service})
- DNS : https://{service}.apps.example.com (TLS otomatis)
- DB : provisioning otomatis via Cloud SQL (episode 14)
- O11y : Prometheus metrics di /metrics + logs JSON (episode 9)
- Sekuriti : secrets via Vault (episode 10), image signed (episode 19)
- SLO : 99.9% availability, deploy success 95%Setelah kontrak ini jelas, semua episode berikutnya tinggal mengisi kotak-kotak di atas dengan implementasi nyata.
kubectl apply dari laptop) masih lebih cepat, developer akan memilihnya.Tip
Mulai dengan golden path yang paling menyakitkan 3 tim teratas, bukan yang paling keren. Ukuran kesuksesan pertama: satu tim non-platform mau mengganti workflow manual mereka dengan golden path kalian tanpa paksaan.
Inti yang harus dibawa pulang:
Di episode 4 selanjutnya kita akan membangun fondasi teknis di bawah golden path: Kubernetes platform dasar — cluster provisioning, namespaces, quotas, dan RBAC yang aman untuk multi-team. Inilah fondasi yang akan menopang semua abstraksi yang kita rancang!