Last updated: July 2026.
Ask ten engineers what an internal developer platform is and you will get ten answers. Ask them what it feels like when they do not have one, and you will get the same answer every time: they are waiting on someone else to deploy their work.
An internal developer platform, or IDP, is the layer that sits between your developers and your infrastructure. It gives every team a self-service way to deploy applications, databases and services, inside the guardrails your platform and security teams set once. Developers move at their own pace. The people who own compliance keep their rules. Nobody files a ticket to get a database.
This guide covers what an IDP includes, why teams adopt one, how it differs from a PaaS or a developer portal, and the build-versus-buy decision most companies get wrong.
Why teams reach for an IDP
The trigger is almost always the same. Shipping a feature takes an afternoon. Getting the infrastructure to run it takes days.
A developer opens a ticket for a Postgres instance. The platform team asks which region and size. Security flags it for review. By the time the database is provisioned, the developer has lost the thread and moved on to something else. Multiply that across every team, every environment and every "quick" infra request, and you have a tax that shows up nowhere on a balance sheet but everywhere in your delivery speed.
Platform engineering, the discipline behind IDPs, exists to remove that tax. Instead of the platform team acting as a human API for infrastructure requests, they encode the right way to do things once, and let self-service handle the rest.
What an internal developer platform includes
There is no single product called "an IDP." It is a curated set of capabilities that together let a developer go from code to running service without becoming a part-time infrastructure engineer. The core pieces:
- Self-service deployment. A developer deploys a frontend, backend, database or scheduled job themselves, usually by pushing to Git. No ticket, no handoff.
- Golden paths. Opinionated, paved routes for common tasks, so the easy way to deploy is also the correct, secure and observable way. Golden paths are how you get consistency without writing a policy document nobody reads.
- Guardrails. Role-based access, network rules and resource limits set by the platform team, enforced automatically rather than reviewed manually each time.
- A developer portal or dashboard. One place to see what is running, its status, logs and metrics. This is the surface developers touch. The internal developer *portal* is the interface; the internal developer *platform* is everything behind it.
- Automated operations. TLS certificates, scaling, health checks, backups and log aggregation that happen without anyone requesting them.
If your developers can answer "yes" to *can I deploy a new service to production without filing a ticket*, you have the beginnings of an IDP. If they cannot, you have a queue.
IDP vs PaaS vs internal developer portal
These terms get used interchangeably and they should not be.
- A PaaS (platform as a service) is a hosting product you deploy onto. It removes server management. On its own it does not encode your organisation's golden paths, team boundaries or approval rules.
- An internal developer portal is the user interface: the catalogue and dashboard developers browse. Backstage popularised the term. A portal without a platform underneath it is a nice-looking menu with nothing behind the buttons.
- An internal developer platform is the whole system: the self-service workflows, the guardrails, the automation and the portal, running on infrastructure you control.
The practical way to read it: PaaS is a building block, the portal is the front door, and the IDP is the house.
Build versus buy
This is where most of the money goes, and where most of it is wasted.
Building an IDP in-house means standing up a platform team to assemble and maintain the pieces: the deployment engine, the guardrails, the portal, the observability, the upgrade treadmill. Large engineering organisations with unusual requirements sometimes need this. Most companies who try it discover they have built a second product that no customer pays for, staffed by engineers they would rather have on the actual product.
Buying means adopting a platform that already provides self-service deployment, golden paths and guardrails, and pointing it at your own cloud. You get the developer experience without staffing the team that keeps it running.
The honest test is not "can we build this." Almost any capable team can. It is "is running a developer platform the thing we want our best engineers spending their years on." For most companies the answer is no.
How to get an IDP without staffing a platform team
Full disclosure: this is what we build, so weigh the next paragraph accordingly.
Code Capsules gives enterprise teams a self-service internal developer platform that runs on your own cloud account. Developers deploy frontends, backends, databases, background services and AI agents by pushing to Git, inside per-team environments with role-based access and an audit trail. The platform handles TLS, scaling, backups and logging. Your security team sets the guardrails once. You do not have to build or run the platform to get the developer experience it provides. If that fits how your teams work, the enterprise platform page walks through it, and pricing is public.
Whichever way you go, the goal is the same: developers who ship at their own pace, and a security team that keeps its rules.
---
*Building on Code Capsules? Start at the enterprise platform overview or talk to our team .*
Frequently asked questions
What is an internal developer platform? +
What is the difference between an IDP and a PaaS? +
How do you build an internal developer platform? +
What are golden paths? +
What are the benefits of an internal developer platform? +
Jacques de Villiers
CTO
Technical Co-Founder and CTO helping developers deploy, distribute, and scale software reliably on the cloud. Focused on building infrastructure that works as teams grow.