Building an Internal Developer Platform: What Platform Teams Actually Ship
What an IDP Is
An internal developer platform is the curated set of tools, templates, and services that developers in an organization use to build, ship, and operate software. It’s not one product; it’s a portfolio with a coherent user experience.
Common components: service catalog (Backstage, Cortex, Port), golden paths (templated workflows for new services), CI/CD framework, observability tooling, environment provisioning, on-call routing, and an internal documentation system.
Treat the Platform as a Product
The biggest cultural shift platform teams make is treating developers as customers. Customers have requirements. Customers can choose alternatives. Customers stop using products that don’t work.
Practically: platform teams need product management, user research, and roadmaps. The roadmap comes from developer feedback, not from internal team preferences.
Golden Paths
A golden path is the supported, opinionated way to do a common thing. ‘New backend service’ is a golden path — one command generates a repo with CI, deployment, monitoring, on-call routing, and a starter template, all wired together.
Golden paths reduce setup time from weeks to hours. They also reduce divergence — services built on the same path share infrastructure patterns and are easier to operate at scale.
Self-Service Boundaries
Self-service is the goal, but not for everything. Some operations (creating a production database, modifying IAM at the org level, changing a public DNS record) need approval gates. The CNCF Platforms white paper from the App Delivery TAG defines platform capabilities and maturity levels.
The right pattern: self-service for everything common and safe, approval workflows for high-stakes operations, escape hatches for the rare cases that don’t fit. Frustration grows when developers can’t do common things; risk grows when developers can do dangerous things.
Measuring Platform Value
Common metrics: time to first deploy for new engineers, deployment frequency, change failure rate, developer satisfaction (via survey), platform support ticket volume.
The simplest test: would the developers using the platform pay for it if they had to? Platform teams that can answer yes are building something useful.
Related Reading
- See our deeper guide at /devops/platform-engineering-vs-devops/.
Platform Adoption Strategies
A platform nobody uses is wasted investment. Adoption requires marketing within the organization: clear value propositions, documentation, success stories from early adopters.
The most effective adoption pattern: identify the next team’s next project, work with them to use the platform for that project, surface the experience back to the broader organization. Top-down mandates rarely work; bottom-up momentum does.
Cost Models for Platform Teams
Platform investment is typically funded centrally rather than chargeback. Chargeback often doesn’t work because the platform’s value (consistency, reduced friction, reduced incidents) is hard to allocate cleanly.
Some organizations use showback (visibility without billing) for platform costs. Teams see what their platform usage costs without being charged for it directly. The visibility drives sensible behavior; the lack of internal billing reduces friction.
Common IDP Components in 2026
The current state of IDP composition: Backstage as the service catalog and developer portal; ArgoCD or Flux for GitOps deployments; Crossplane or Terraform for infrastructure provisioning; OpenTelemetry for observability instrumentation; Kyverno or OPA for policy enforcement.
Each layer has alternatives, but this stack represents the broad center of the market. Platform teams building new IDPs should evaluate these defaults before reaching for alternatives.
The component count is high enough that integrating them well is itself a significant effort. The platform team’s value comes from the integration, not the component selection.
Measuring Developer Experience
Quantitative measures: time to first deploy for new engineers, deployment frequency per service, on-call page volume per service, support ticket volume by category.
Qualitative measures: developer satisfaction surveys (quarterly), open-text feedback on specific platform features, exit interview themes.
Both matter. Quantitative metrics show trends; qualitative metrics surface why. Platform teams that optimize for one without the other usually optimize the wrong things.
Team Culture and Practices
The tooling matters; the culture matters more. Teams with strong DevOps practices and middling tools usually outperform teams with state-of-the-art tools and weak culture.
Core practices: shared ownership of production reliability, blameless incident response, regular retrospectives, deliberate investment in developer experience. None require specific tools; all require sustained leadership attention.
Maturity grows gradually. A team that adopts blameless postmortems but still has weekly all-hands-on-deck deployments hasn’t internalized the practice. Watch the behaviors during stress, not the documented procedures.
Continuous Improvement Cadence
The DevOps movement’s emphasis on continuous improvement isn’t a slogan; it’s a practical requirement. Systems decay, requirements change, and tools age. Maintaining a healthy engineering organization requires deliberate, ongoing investment.
Quarterly retrospectives at the team and organization level surface what’s working and what isn’t. The output is concrete commitments to change — not abstract aspirations.
Track changes from retrospectives. Teams that don’t follow through on retrospective actions eventually stop running retrospectives. Demonstrated follow-through builds the trust that makes future retrospectives valuable.
Hiring and Team Building
DevOps and platform engineering hiring is competitive. The job market pays well; experienced engineers are in demand. Building teams requires investment in both compensation and culture.
What attracts strong candidates: meaningful work on systems they can directly impact, clear ownership boundaries, modern tooling, sustainable on-call practices, growth opportunities. What drives them away: legacy systems with no migration plan, unclear ownership, oppressive on-call, no investment in their growth.
Internal mobility matters too. Engineers in adjacent disciplines (backend development, networking, security) often become strong platform engineers with appropriate support. Building hiring pipelines that include internal transfers expands the talent pool.
Vendor Selection and Tool Procurement
DevOps organizations buy many tools. Each tool selection is a multi-year commitment with implicit ongoing costs (licenses, training, integration). The selection process deserves more attention than it usually gets.
Standard evaluation criteria: feature fit, total cost of ownership over three years, exit cost (how hard is it to migrate away later), vendor stability, and integration with existing tooling.
Avoid the trap of evaluating only on features in initial demos. The features matter; so do the rough edges that surface in week three of actual use. Trial periods and reference customers in similar environments surface what marketing doesn’t.
Practical Next Steps
For teams beginning their DevOps or platform engineering journey, the temptation is to adopt every recommended practice at once. The teams that succeed tend to focus on one or two specific improvements at a time, build the habit, and then expand scope.
Concrete next steps worth considering: instrument deployment frequency and lead time, even informally. Run a blameless retrospective after the next incident. Document the platform decisions that have been made implicitly. Survey the team about pain points and tackle the top two.
Each of these is a small investment with compounding returns. The team that runs retrospectives quarterly accumulates institutional learning that the team without them doesn’t. The team that tracks DORA metrics over a year sees trends they would otherwise miss.
The work doesn’t end. Engineering organizations are living systems that decay without active maintenance. The practices described throughout this article are tools for sustained improvement, not destinations to reach and stop.
Key Takeaways
The most important point throughout this guide: practical engineering decisions depend on specific context. Best-practice recommendations are starting points, not destinations. The right answer for your team depends on your scale, your existing tooling investment, your team’s experience, and the specific constraints you face.
Three principles worth carrying forward regardless of specific tool choices. First, measure what you change. Engineering improvements without measurement become folklore — claims without evidence. Track the metrics that show whether interventions are working.
Second, default to simpler architectures and tools. Complexity has cost. Each additional moving part is something to monitor, debug, upgrade, and eventually replace. Choose the simplest thing that meets your actual requirements, not the most sophisticated thing you could build.
Third, invest continuously in the boring foundations. Reliable CI, good observability, sensible access controls, and clear documentation pay back across every project. Skipping these for short-term feature velocity accumulates debt that eventually consumes the velocity it was supposed to enable.
The teams that operate well over the long term are usually not the teams with the most exotic tooling. They’re the teams with disciplined fundamentals, deliberate decision-making, and continuous incremental improvement.
Frequently Asked Questions
How big does my team need to be?
Roughly 30-50 engineers before dedicated platform investment makes sense. Below that, platform work is everyone’s part-time job.
Should I use Backstage?
It’s the dominant open-source service catalog. Worth evaluating. Cortex and Port are commercial alternatives with less initial setup overhead.
What are the early wins?
Service templates, CI/CD framework, and an opinionated observability setup. Each saves real time and surfaces the platform’s value.
How do I prevent platform sprawl?
Resist building ‘a tool for everything.’ Build the things developers actually ask for repeatedly. Kill components that don’t get used.