As the complexity of modern software development and cloud computing technologies increases, organizations aim to streamline their workflows and enable their developers to be as productive as possible. The need to balance agility in software development and infrastructure management at scale has given rise to platform engineering and the internal developer platform (IDP) concept.
This post will explore an IDP, its key components, its benefits, and why it might be the next big thing in your development ecosystem.
What we will cover:
- What is an internal developer platform?
- How does the internal developer platform work?
- Who uses the IDP?
- Benefits of using an IDP
- Examples: Successful IDP implementations and tools
- Internal developer platforms vs. other concepts
- Challenges and considerations when building an IDP
- Best practices for implementing an IDP
An internal developer platform (IDP) is a self-service layer built by platform engineering teams that sits on top of an organization’s infrastructure and development tools. It abstracts complex infrastructure and DevOps tasks (like provisioning environments, configuring CI/CD pipelines, or managing secrets) into reusable components accessible via UI, CLI, or APIs, which enable developers to deploy and manage their applications without needing deep DevOps expertise. Unlike generic PaaS solutions, IDPs are tailored to an organization’s tech stack and workflows.
Essentially, an IDP provides a unified interface for developers to interact with the entire software lifecycle, from code to production, while automating many routine tasks, enforcing best practices, and ensuring a consistent experience across an organization and its different environments.
Internal developer platforms are built to improve developer productivity, enhance collaboration, and ensure consistency across development environments. They offer a self-service portal where developers can access resources, tools, and services required for daily tasks without relying heavily on operations teams. Ultimately, the goal is to create “golden paths” for developers, helping them achieve tasks following best practices, automating processes, and ensuring quality.
In this section, we will discuss the key components and characteristics of internal developer platforms.
Developers interact with the IDP through portals, APIs, or CLI tools to deploy code, manage environments, or provision resources without needing to understand underlying systems. The IDP automates workflows like CI/CD, infrastructure provisioning (often using Terraform or Kubernetes), secrets management, and monitoring.
The diagram below shows the architecture and processes behind an IDP:
The main components of the IDP include:
- Self-service developer portal
- Automated workflows and integration with existing systems
- Infrastructure management
- Environment management and application configuration
1. Self-service developer portal
An integral part of an IDP is a user-friendly interface that enables developer self-service and allows them to provision resources, access tools, and manage their applications with minimal friction. A developer portal is where developers manage deployments, environments, and application configuration.
This user interface usually exposes a service catalog, a detailed view of all the available services within the development environments. Service catalogs help with standardization by providing templates and abstractions on top of applications and infrastructure.
2. Automated workflows and integration with existing systems
IDPs leverage automation to streamline code testing, building, deployment, and monitoring processes. Adopting an IDP ensures consistency and reduces the risk of human error.
IDPs don’t exist in isolation and must integrate with various existing tooling and systems. Working on integrations and automation becomes important when IDPs need to be created on top of an existing setup.
3. Infrastructure management
An IDP integrates with existing Continuous Integration (CI) pipelines on the one side and cloud or on-premise infrastructure on the other side. IDPs reduce manual effort and minimize errors in managing the underlying application infrastructures.
Part of the solution is an infrastructure as code (IaC) tool such as Terraform, OpenTofu, Pulumi, or Crossplane. The IDP provides templates for developers to create high-level definitions of the infrastructure they need, and the infrastructure orchestration behind the scenes is responsible for producing the IaC manifests and deploying the necessary changes.
4. Environment management and application configuration
IDPs promote standardized development, testing, and production environments, ensuring consistency and reducing compatibility issues across teams and projects. Even more, it makes provisioning new environments quicker and removes bottlenecks with self-service and on-demand models.
5. Deployment management and monitoring
An integral part of such a solution is connecting with continuous delivery (CD) pipelines to automate testing and deployment processes. Automated new code deployments are moved from testing to staging environments automatically, and the necessary tests are performed. Since IDPs integrate with other systems, triggering other workflows or communication with other systems is common during and after deployments.
Lastly, IDPs offer a unified monitoring view and provide debugging information, such as logs for deployments and applications, in case of errors. When failures are encountered during deployments, the IDP usually provides options for automated rollbacks and mitigations.
Typically, the main users of an internal developer platform are platform engineers and developers. Depending on your organization, other kinds of users might be involved in either building or using the platform.
- Platform engineers — Platform engineers are responsible for building, configuring, and maintaining the IDP. They own the platform and develop and manage it as their product. They define templates, write abstractions, define golden paths, and set guardrails and sane defaults.
- Application developers — Application developers typically write the code in their integrated developer environment (IDE) and follow git-push workflows to integrate their code. IDPs integrate into code repositories and CI/CD pipelines but add further automation. The developer experience is enhanced through an IDP since they can request resources, spin up prepared environments, roll back, and deploy all from one place.
- Specialized teams — Specialized teams, such as security experts, are involved in building a robust platform according to requirements. These teams actively collaborate with the platform engineering teams to incorporate best practices, offer guidance, and integrate their specific tooling into the platform ecosystem.
Read more about How to Build a Platform Engineering Team.
IDPs serve as a force multiplier, standardizing DevOps best practices while enabling fast, safe, and scalable development workflows across teams. They offer numerous other benefits that enhance productivity, collaboration, and overall efficiency within organizations. Here are the key advantages of implementing an IDP:
1. Increased developer productivity
IDPs reduce manual toil by automating infrastructure tasks such as provisioning, CI/CD setup, and deployment workflows. Developers interact with predefined templates and self-service portals, eliminating bottlenecks caused by waiting for Ops or platform teams. This enables them to:
- Own the full application lifecycle, including deployment and monitoring.
- Focus on business logic rather than infrastructure specifics.
- Ship features faster without deep DevOps expertise.
2. Improved consistency, reliability, and compliance
By enforcing guardrails and embedding policy-as-code, IDPs ensure that development and deployment processes align with organizational standards. The benefits here include:
- Consistent use of base images, IaC modules, and security scanners.
- Reduced variance across environments (dev, staging, prod).
- Simplified audits and regulatory compliance through version-controlled workflows and metadata tracking.
3. Enhanced collaboration and knowledge sharing
IDPs act as a central hub for engineering teams by consolidating documentation, service catalogs, and shared templates. This fosters:
- Cross-team visibility into tools, patterns, and services.
- Easier onboarding through reusable configurations and knowledge repositories.
- Cultural reinforcement of shared ownership and continuous learning, often supported by gamification or metrics dashboards.
In this section, we will look at some examples of organizations that built successful platforms and some off-the-shelf solutions you can buy or adopt to help you get there.
IDP implementation example 1: Spotify
Known for its Backstage, Spotify has created and open-sourced a developer portal solution that streamlines development workflows and centralizes various development tools. That tool was initially built internally to meet Spotify’s own needs in terms of a platform and was later shared with the rest of the community.
IDP implementation example 2: Airbnb
Another successful example is Airbnb’s multilayered, data-driven approach to optimizing developer satisfaction and productivity. Airbnb built a modern platform that manages environments at scale, enables remote on-demand developer environments, provides a unified build process, and incorporates developers’ IDEs and cloud assets, aiming to improve the developer experience.
IDP implementation example 3: Netflix
Netflix is another well-known example of unifying engineering and development experience with its platform. They achieved this by building a federated platform console as the single place for all the tools engineers need to develop and deploy software at scale. It combines developers’ services and tools into a single, easy-to-use interface.
Off-the-shelf IDP tools and solutions
Next, let’s review a few tools and solutions that can assist you in building a robust end-to-end internal developer platform.
1. Spacelift
Spacelift is a sophisticated orchestration platform for your IaC tools including OpenTofu, Terraform, Terragrunt, CloudFormation, Pulumi, Kubernetes, and Ansible. With our solution, you can fully automate your IaC processes and set up safe self-service developer access — critical objectives for platform engineers.
Spacelift offers everything you need to create successful internal platforms. Your jobs run as isolated stacks that feature support for complex dependencies, configurable blueprint templates, and automated drift detection and remediation. Spacelift also offers a robust RBAC system and policy-based access control to prevent developers from applying unsafe actions to your resources.
2. Humanitec
Humanitec is one of the leading solutions enabling platform engineers to create IDPs for enterprises. Their primary products, the Humanitec Platform Orchestrator, Score, and Humanitec Portal, are utilized by mid-sized and large engineering organizations.
The Platform Orchestrator dynamically generates application and infrastructure configurations with each new deployment, promoting standardization throughout the software delivery lifecycle. Meanwhile, the Humanitec Portal offers a unified view of the entire organization.
3. Qovery
Qovery is an IDP solution that streamlines the path to production for developers by reducing noise and providing paved paths. It supports testing and ephemeral environments, driving actions to enhance software quality. Qovery focuses on delivering a platform to developers quickly.
Platform Engineering teams can customize and build on Qovery to create their ideal workflows, maintaining control and auditing developer activities. Qovery operates on Kubernetes and offers a comprehensive feature set.
4. Mia Platform
Mia Platform is a comprehensive toolkit combining a few products for platform design and development. This internal developer platform toolkit consolidates tools for developers, enhancing software templating, improving the developer experience, preparing optimal workflows, streamlining software delivery, and facilitating internal and external knowledge sharing.
5. Backstage
Backstage is an open-source framework designed to help organizations create developer portals for managing software development. Initially developed by Spotify as an internal tool to oversee over 14,000 software components, Backstage was open-sourced in 2020, donated to Cloud Native Computing Foundation (CNFC), and has since been adopted by thousands of companies. Key features of Backstage include; software catalog, software templates, tech docs, plugins.
6. Port
Port is a platform for building no-code, comprehensive internal developer portals. Port’s software catalog encompasses microservices, resources, and custom assets and supports any data model featuring in-context maturity scorecards. Its portals facilitate any developer’s self-service action and workflow automation. Blueprints, or custom entity definitions, are central to Port.
The software catalog is a single source of truth, always current and usable in workflows, automation, and CI/CD processes. Core features of Port include a software and infrastructure catalog, self-service capabilities, and governance.
7. Kratix
Kratix is an open-source framework designed to enable platform engineers to create flexible and customized internal platforms. It establishes a contract between application and platform teams. Leveraging the GitOps workflow and Kubernetes-native constructs,
Kratix allows platform teams to provide the self-service capabilities developers require while maintaining an up-to-date, secure, and relevant platform. Kratix prioritizes the platform engineer’s experience, enabling platform teams to develop an API-driven, bespoke platform that meets specific organizational needs and can adapt as those needs evolve.
Now that we have a solid understanding of Internal Developer Platforms (IDPs) and their key components, let’s explore how they compare to other similar concepts.
What is the difference between an internal developer platform and portal?
An internal developer platform (IDP) is the backend system that automates infrastructure provisioning, CI/CD, and environment management. A developer portal is the frontend layer, typically a UI or CLI, that exposes IDP capabilities to developers for self-service.
The IDP handles orchestration behind the scenes using tools like Terraform, Argo CD, or Kubernetes. The portal focuses on developer experience, offering templates, dashboards, and workflows. While the IDP is the engine, the portal is the interface that makes it usable without deep DevOps knowledge.
What is the difference between an internal developer platform and traditional DevOps?
Traditional DevOps often relies on direct coordination between developers and operations. An IDP automates and codifies these processes, reducing cognitive load and minimizing human bottlenecks.
Internal Developer Platforms help scale DevOps practices efficiently across teams, improving speed, reliability, and compliance.
What is the difference between DevOps Platforms and IDP?
IDPs are crafted by platform engineering teams to streamline and empower the developer experience within large enterprises. These teams build internal platforms and define “golden paths” (curated, standardized workflows) to enable consistent and efficient development. IDPs are inherently flexible and highly configurable, designed to integrate seamlessly with a wide range of systems.
However, this flexibility comes at a cost: they demand significant engineering effort, ongoing maintenance, and a strong product mindset to continuously deliver value at scale.
In contrast, end-to-end DevOps platforms offer a more turnkey experience, often bundling infrastructure and tooling in a simplified, abstracted way. These solutions are excellent for rapid prototyping and early-stage development, where speed and convenience take precedence.
However, they typically lack the depth of customization needed for complex enterprise environments. As organizations scale, these platforms’ limitations in terms of cost efficiency, optimization, and extensibility can become increasingly restrictive.
While both DevOps platforms and internal developer platforms aim to improve software development and delivery, they do so in different ways. DevOps platforms provide comprehensive tools for the entire DevOps lifecycle, whereas IDPs focus on simplifying and streamlining the developer’s experience by abstracting away the underlying infrastructure complexities.
Before designing an Internal Developer Platform (IDP), consider these factors to determine if it’s the right fit for your organization:
- Scale and size of your organization – IDPs deliver the most value in large organizations where small efficiencies scale across hundreds of developers. For smaller teams, the engineering investment may not justify the benefits.
- Microservices and complex application ecosystem – If you manage a complex microservices ecosystem, an IDP can help standardize workflows. However, its value may be limited for simple monolithic apps.
- Developer productivity considerations – An IDP is beneficial when developers face fragmented tools, slow onboarding, or workflow blockers. However, if your team is already productive and empowered, it may not be necessary.
- Advanced data privacy or security requirements – IDPs help enforce security policies, monitor compliance, and create standardized guardrails, which are crucial for organizations with strict data privacy needs.
- Multicloud and hybrid environments – If your infrastructure spans multiple cloud providers or includes on-prem systems, an IDP can offer a unified abstraction. For single-cloud setups, existing provider tools may suffice.
Here, you will find best practices to keep in mind while scoping, preparing, and building an IDP for your organization.
1. Define clear objectives, scope, and success criteria
To validate the success and evolution of your platform, it is critical to define and document the challenges you are trying to solve. Test your hypotheses and define clear metrics, objectives, and scope for your IDP.
Key performance indicators (KPIs) related to the IDP’s efficiency and success include deployment frequency, mean time to recovery, lead time, active users, platform uptime, time to build and deploy an app from scratch, and security incidents. Defining and following such metrics will enable continuous improvement and course correction efforts.
2. Start small and iterate
As discussed, IDPs are usually complex setups that involve coordination and communication between various systems. Therefore, it is paramount to start with a minimal viable platform (MVP), validate your hypothesis that this is a useful endeavor for your organization, and incrementally add features and capabilities based on feedback and evolving needs.
Remember that building and maintaining an IDP requires a significant investment of time and effort, especially when IDPs support complex workflows and use cases.
3. Treat IDP as a product and involve the developers
Most successful IDP implementations follow the platform-as-a-product approach. Since this tool is mainly targeted at developers and engineers, continuously incorporating their feedback and having product management processes in place is the only way to ensure long-term success.
4. Start by automating manual processes
As your IDP hides a lot of the underlying complexity from end users and orchestrates different systems masterfully, automating manual and cumbersome processes is a prerequisite.
Before starting to build your IDP, gather all your current manual and laborious processes and build systems to automate them. This will allow your IDP to operate on top of these automations, usually via APIs.
5. Select appropriate tooling
To build and customize an IDP according to your organizational and business needs, you can either build customer components, buy specific tools and solutions, or adopt open-source software and customize it accordingly.
Typically, platform engineering teams leverage a combination of all these to craft a solution that makes sense for them. Areas of tooling and solutions that you should investigate are platform orchestrators, developer portals, CI, monitoring, security, infrastructure as code, and deployment operators.
6. Don’t sleep on security and governance
It’s tempting to focus mostly on developer productivity gains and all the fancy features, but providing self-service access to infrastructure and services requires robust security measures to prevent misuse and breaches. The platform team, in collaboration with security teams, is responsible for defining specific roles, guardrails, guidelines, and policies to ensure proper oversight and management of the IDP.
See: What Makes Spacelift Secure?
7. Focus on documentation and upskilling your teams
Adopting and using such a solution will be a new experience for your end users, and investing time in proper documentation and upskilling your teams will become crucial to a platform’s success.
Successful IDP implementations emphasize user onboarding and ensuring they are supported throughout their journey using the platform. Having mechanisms to provide feedback and enabling end users to contribute back to the platform with knowledge sharing and contribution incentives keeps user satisfaction and productivity high.
Spacelift lets you manage your IaC at scale by implementing robust CI/CD across cloud providers for your infrastructure, enabling developer autonomy. As Spacelift supports various IaC tools, such as Terraform, OpenTofu, Ansilbe, and Pulumi, you can standardize your infrastructure management for your IDP for multi-iac workflows. Even more, Spacelift provides an overview and clear visibility into your infrastructure resources and allows the enforcement of policies and guardrails.
You can use Spacelift as the foundation layer of your IDP by creating different stacks to fulfill your development functions. Spacelift stacks encapsulate your source code, infrastructure state, and deployment configuration. Stacks can be queued, triggered, canceled, and inspected within the Spacelift UI, allowing you to check the health of your infrastructure at a glance.
Use stack dependencies to easily configure your complex infrastructure needs and share outputs between dependent stacks. Other components, such as Blueprints, offer more options to simplify self-service provisioning operations.
Global payments platform Checkout.com committed itself to the goal of “IaC for everything,” and Spacelift delivered, offering a platform that teams could start using independently with minimal configuration — all within the constraints of the regulated environment Checkout.com operates in.
If you want to use a product that greatly enhances the lives of your platform team members, create a free account with Spacelift today, or book a demo with one of our engineers.
In this blog post, we have explored the platform engineering concept of internal developer platforms and their usage. We reviewed the main components of an IDP, the key personas involved in either building or leveraging the platform, and successful platform implementations. We looked into specific tools to help you develop your own platforms to improve the software development process while discussing challenges, considerations, and best practices to get you there.
Solve your infrastructure challenges
Spacelift is a flexible orchestration solution for IaC development. It delivers enhanced collaboration, automation, and controls to simplify and accelerate the provisioning of cloud-based infrastructures.