What is platform engineering, and what is an IDP?
A dev for devs is a Platform Engineer and their product is called an IDP
I was reading a job posting for a Platform Engineer and kept tripping over one phrase: "Internal Developer Platform". I run on-call for production systems, so I know the reliability side well. I did not know what this role built day to day.
The question I had
What is platform engineering, and what exactly is an IDP?
What I found
Platform engineering is like being a developer for developers. A platform engineer builds a product, and the customers are the other developers in the company. The product makes it easy for them to add features and functionality to their own products, because the necessary but repetitive parts (infrastructure, pipelines, monitoring) are already taken care of.
That product has a name: an Internal Developer Platform (IDP). It is the tooling a company builds for its own developers, so they can set things up themselves instead of filing tickets.
A typical IDP has a few parts:
| Part | What it does |
|---|---|
| Portal | One place to find services, docs and owners |
| Templates | A ready-made way to start a service the right way |
| Self-service infrastructure | Request a database or environment without a ticket |
| Delivery pipelines | Build, test and deploy that work the same for every team |
| Observability | Logs, metrics and alerts wired up by default |
To make it concrete, picture a metrics portal built on Grafana Mimir, a shared store for Prometheus metrics that keeps each team's data separate by tenant:
- A developer opens the portal and creates a tenant for their service.
- The portal gives back a remote write URL and a tenant ID.
- The developer adds both to their metrics agent (Prometheus or Grafana Alloy), and the service's metrics start flowing into Mimir.
- Back in the portal, they can see their stored metrics and visualize them, limited to their own tenant.
No ticket, no waiting on another team, and every service gets its metrics set up the same way. The developer never has to learn how Mimir is run.
Takeaway
Platform engineering is a dev for devs: building a product that lets other developers add features to theirs easily. An IDP is what that product is called, the tooling or platform for developers. The Mimir metrics portal is one example of it.