Platform engineering

On this page 7

Platform engineering is the discipline of designing, building and operating an internal developer platform: a curated set of self-service tools, automated workflows and infrastructure that lets application teams build, deploy and run software without mastering every underlying system. In DevOps practice, platform engineering is a way to scale DevOps principles across many teams by turning shared operational knowledge into a product.

The central idea is to reduce cognitive load on developers. Instead of every team assembling its own CI/CD pipelines, Kubernetes manifests, monitoring and security controls, a dedicated platform team provides tested, supported golden paths that cover the common cases well.

How an internal developer platform works

An internal developer platform is a layer of abstraction between application teams and the raw infrastructure. Developers interact with a portal, a command line tool, templates or a simple configuration file, while the platform translates these requests into cloud resources, pipelines and policies.

LayerWhat it providesExample building blocks
Developer interfaceCatalog, templates, documentation, self-service actionsDeveloper portal, CLI, service templates
Delivery automationBuild, test and deployment pipelinesCI systems, GitOps controllers
Runtime platformWhere workloads runKubernetes clusters, serverless, managed databases
Infrastructure provisioningRepeatable creation of resourcesInfrastructure as code, Crossplane-style controllers
Guardrails and observabilitySecurity, policies, logs, metricsPolicy engines, secret managers, monitoring stack
Typical layers of an internal developer platform

A golden path is the opinionated, supported route through these layers for a common task, such as creating a new web service. Choosing it gives a team a working repository, pipeline, staging environment, dashboards and alerts within minutes. Teams can still leave the path, but they then own the extra complexity themselves.

Good platforms expose capabilities through APIs and declarative configuration, not only through a graphical portal. A developer might declare that a service needs a PostgreSQL database and a public endpoint, and the platform provisions both with approved defaults for backups, network rules and encryption. The portal then becomes one interface among several, while the automation underneath stays the single source of truth.

Platform as a product

The defining principle of platform engineering is treating the platform as an internal product with customers, not as an infrastructure project with a fixed end. The customers are the development teams, and adoption should be earned through usefulness rather than enforced by mandate.

PracticeWhat it means for the platformOutcome
User researchInterviews and surveys with developersWork targets real friction
Roadmap and backlogPrioritized features and deprecationsPredictable evolution
Thinnest viable platformStart small, often with documentation and templatesEarly value, low waste
Documentation and supportClear guides, office hours, internal SLAsTrust and adoption
Measured outcomesAdoption, lead time, satisfactionEvidence of value
Product practices applied to a platform

This mindset aligns with the team topologies view of organizations, in which stream-aligned teams deliver business features and a platform team reduces their load by offering internal services through a clear interface.

Platform engineering compared with DevOps and SRE

Platform engineering does not replace DevOps; it is one way of implementing DevOps at scale. DevOps describes the culture of shared ownership between development and operations, site reliability engineering applies software engineering to reliability, and platform engineering packages the resulting capabilities into self-service products.

DisciplinePrimary focusMain output
DevOpsCulture and collaboration across dev and opsShared practices, fast feedback
Site reliability engineeringReliability of production servicesSLOs, error budgets, incident response
Platform engineeringDeveloper experience and self-serviceInternal developer platform
Traditional operationsRunning infrastructure on requestTickets fulfilled by an ops team
Platform engineering and related disciplines

The difference from a classic operations team is the interaction model. Instead of developers filing tickets and waiting, they use self-service capabilities that already embed operational standards, while the platform team improves those capabilities continuously.

Responsibilities still need clear boundaries. The platform team typically owns the reliability of shared components such as clusters and pipelines, while application teams remain responsible for their own code, alerts and on-call duty. Blurring this line recreates the old wall between development and operations under a new name.

Measuring and introducing a platform

A platform proves its value through measurable improvements in delivery and developer experience. The DORA metrics are a common starting point, supplemented by platform-specific indicators.

IndicatorWhat it showsDirection
Deployment frequencyHow often teams releaseHigher is better
Lead time for changesCommit to production durationLower is better
Time to first deploymentOnboarding speed for a new serviceLower is better
Golden path adoptionShare of services on supported pathsRising over time
Developer satisfactionSurvey results about toolingRising over time
Useful indicators for platform success

Successful introductions usually start with one painful, frequent workflow, such as creating a new service or provisioning a database, solve it end to end and expand from there. Building a broad portal before solving a concrete problem is a common reason platforms are ignored.

Common pitfalls in platform engineering

Platform initiatives fail most often for organizational rather than technical reasons. A technically elegant platform that does not match how teams work will not be adopted.

  • Building a portal first and filling it later, instead of solving real workflows.
  • Mandating the platform without making it better than the alternatives.
  • Over-abstracting, so teams cannot debug or tune their own services.
  • Renaming the ops team without changing the ticket-based way of working.
  • Ignoring maintenance, so templates and paths drift out of date and lose trust.

A healthy platform keeps escape hatches: teams with unusual needs can go beyond the golden path, and their feedback shows where the platform should grow next.

In simple terms

Platform engineering is about building a well-equipped shared workshop for software teams. Without it, each team buys its own tools and figures out the wiring alone.

With a platform, the tools are ready, tested and safe to use. A team can start a new project in minutes instead of weeks. The main benefit is that developers spend their time on features, not on setting up infrastructure.

A practical example

A company with forty development teams finds that creating a new service takes about three weeks: teams wait for tickets to be handled for a repository, pipeline, cloud account, database and monitoring. Each team also configures these pieces differently, which complicates security reviews.

A small platform team interviews developers and starts with one golden path for a containerized web service. A template in the developer portal creates the repository, a CI pipeline, GitOps deployment to Kubernetes, a managed database, dashboards and default alerts, all with security policies built in.

Within a year most new services use the path, and time to first production deployment drops from weeks to under a day. Security reviews become faster because services share the same baseline, and the platform team uses developer feedback to add a second path for scheduled batch jobs.