11.6 Platform Engineering & Developer Self-Service

Key Takeaways

  • Platform engineering builds an internal developer platform that offers golden paths, reducing the cognitive load Kubernetes places on application teams.
  • Backstage is a CNCF incubating developer portal providing a software catalogue, scaffolding templates, and integrated technical documentation.
  • Crossplane is a CNCF graduated project that manages cloud infrastructure through Kubernetes custom resources, turning the cluster into a universal control plane.
  • A platform should be an opinionated product with paved paths rather than a mandatory gate, since teams route around platforms that block them.
  • The four DORA metrics — deployment frequency, lead time for changes, change failure rate, and time to restore service — are the standard measure of delivery performance.
Last updated: August 2026

11.6 Platform Engineering & Developer Self-Service

Quick Answer: Platform engineering is the discipline of building an Internal Developer Platform (IDP) on top of Kubernetes so that application teams get golden paths — opinionated, self-service, paved routes to production — instead of being handed raw YAML and a cluster endpoint. Backstage (CNCF incubating) provides the developer portal; Crossplane (CNCF graduated) turns the cluster into a control plane for cloud infrastructure; the DORA metrics tell you whether any of it is working.

This matters to KCNA because it explains why the ecosystem keeps producing abstraction layers. Kubernetes is a platform for building platforms, not an end-user product.


1. The Cognitive Load Problem

To ship one service safely on raw Kubernetes, a developer must produce and understand:

Deployment · Service · Ingress or HTTPRoute · ConfigMap · Secret · ServiceAccount
Role + RoleBinding · NetworkPolicy · HPA · PodDisruptionBudget · resource requests
readiness/liveness/startup probes · securityContext · topology spread · Helm chart
CI pipeline · image scanning · signing · GitOps application manifest · dashboards
alert rules · SLOs · runbook

That is a full-time specialism, and asking every product engineer to master it produces three predictable outcomes: copy-pasted manifests nobody understands, wildly inconsistent quality between teams, and a platform team that becomes a ticket queue and therefore a bottleneck.

Platform engineering treats this as a product problem: the platform team's customers are internal developers, and the product is a paved path.


2. Golden Paths

A golden path is the supported, opinionated route to production for a common case — "a stateless HTTP service in Go" or "a scheduled batch job". Choosing it should give you, without a ticket:

  • a repository scaffolded with a working build,
  • a CI pipeline that already scans, signs, and publishes,
  • manifests generated from a template with sane defaults for probes, requests, PDBs, and NetworkPolicy,
  • a GitOps registration so it deploys,
  • dashboards, alerts, and an on-call routing entry created automatically.

The defining characteristic is that a golden path is the easy option, not the mandatory one. Teams with genuinely unusual requirements can step off it and take on the extra work themselves. A platform that forbids deviation gets routed around, and shadow platforms are worse than no platform.


3. Backstage

Backstage, contributed to the CNCF by Spotify and currently an incubating project, is the most widely adopted developer portal. Three capabilities carry most of the value:

CapabilityWhat it does
Software CatalogA registry of every service, library, API, and resource, with its owner, lifecycle stage, dependencies, and links. Answers "who owns this and what breaks if it goes down?"
Software Templates (Scaffolder)One form creates the repository, the pipeline, the manifests, and the catalog entry — the golden path made executable
TechDocsDocs-as-code rendered next to the component they describe, so documentation stops rotting in a separate wiki

A plugin architecture surfaces CI status, Kubernetes workload health, cost data, security findings, and on-call rotation on the same component page — one pane instead of eight browser tabs.

The catalogue is described by a YAML descriptor committed alongside the code:

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: payments-api
  annotations:
    backstage.io/kubernetes-id: payments-api
spec:
  type: service
  lifecycle: production
  owner: team-payments
  system: checkout
  dependsOn: [component:postgres-orders, component:auth-api]

4. Crossplane

Applications need more than Pods: a managed database, an object storage bucket, a message queue, a DNS record. CrossplaneCNCF graduated — extends the Kubernetes API so that cloud infrastructure is managed as Kubernetes objects, reconciled by the same control loop as everything else.

The pattern is the one from section 5.3, applied to infrastructure:

  1. A provider installs CRDs for a cloud's resources (RDSInstance, Bucket, SQSQueue).
  2. A platform team authors a Composition and a CompositeResourceDefinition that bundle those primitives into a simple, opinionated claim.
  3. A developer creates the claim; Crossplane reconciles the real infrastructure and writes the connection details into a Secret.
apiVersion: platform.example.com/v1alpha1
kind: PostgresInstance          # a claim defined by the platform team
metadata:
  name: orders-db
spec:
  parameters:
    size: medium
    version: "16"
  writeConnectionSecretToRef:
    name: orders-db-conn

Those eight lines expand, behind the scenes, into a VPC-attached managed database with encryption, backups, a parameter group, and an access policy — all chosen by the platform team once. The developer never writes Terraform and never opens a ticket. Because the claim is a Kubernetes object, it also inherits RBAC, GitOps, and audit logging for free.


5. Where Abstraction Layers Fit

LayerExamplesAudience
Raw KubernetesDeployments, Services, IngressPlatform engineers
TemplatingHelm, KustomizePlatform and senior application engineers
Application abstractionKubeVela (OAM), Score, ShipaApplication developers
Infrastructure control planeCrossplane, Cluster APIPlatform engineers
Portal / catalogueBackstage, Port, CortexEveryone
PaaS on KubernetesKnative, OpenShift Developer Console, Cloud Foundry KorifiApplication developers

A useful heuristic: expose the smallest surface that still lets a team do their job, and make the next layer down available when they need it. Abstractions that cannot be opened up become the thing everyone fights.


6. Measuring the Platform: DORA

The four DORA metrics from the DevOps Research and Assessment programme are the standard evidence that a platform is helping:

MetricQuestion it answersElite performance
Deployment frequencyHow often does code reach production?On demand, multiple times per day
Lead time for changesCommit to running in production?Less than one day
Change failure rateWhat share of releases cause a degradation?0–15%
Failed deployment recovery timeHow long to restore service after a bad change?Less than one hour

The first two measure throughput, the last two stability, and the central research finding is that they are not in tension: teams that deploy more often also fail less often, because small changes are easier to verify and to reverse. That result is the empirical justification for continuous delivery, progressive rollouts, and platform investment. A fifth measure, reliability, is often added to capture whether the service actually meets its SLOs.

Platform teams increasingly track developer experience alongside DORA — time to first deploy for a new engineer, time waiting on the platform team, and satisfaction surveys — because a platform can improve deployment metrics while making engineers miserable.


7. Common Failure Modes

Anti-patternWhy it fails
Platform as a ticket queueReintroduces the bottleneck self-service was meant to remove
Platform as a mandatory gateTeams build shadow platforms; you lose visibility as well as adoption
Abstracting so hard nobody can debugWhen something breaks, the abstraction hides the evidence
Building for imagined future needsGolden paths must come from observed, repeated demand
No product ownershipAn unowned platform decays into an unmaintained internal fork
Test Your Knowledge

What best describes a golden path in platform engineering?

A
B
C
D
Test Your Knowledge

What does Crossplane allow a platform team to do?

A
B
C
D
Test Your Knowledge

Which set correctly names the four DORA metrics?

A
B
C
D