What is an IDP?
An internal developer platform (IDP) consists of a standardized set of self-service tools and technologies that developers need to create and deploy code. By consolidating and simplifying elements of the development process, the basic objective of an IDP is to make a development team’s day-to-day work more manageable, efficient and collaborative.
Note: In an organization’s tech stack, there might be another type of IDP, an Internal Developer Portal. In that case, the internal developer portal is the front door for developers to access the complete application platform, including an internal developer platform and container system. In Red Hat’s ecosystem, Red Hat® Developer Hub is the enterprise-grade internal developer portal while the larger platform could comprise Red Hat® OpenShift® Platform Plus and Red Hat® Ansible® Automation Platform.
Who configures and uses an internal developer platform?
Application developers are the primary users of an IDP, and platform engineers are responsible for initial configuration and maintenance. For platform engineers, an IDP can be thought of as an integrated product curated to provide developers with the tools they need to operationalize an application throughout its entire lifecycle.
Unlocking developer productivity: How to provide consistent high-quality user experiences in less time
What are the core components and architecture of an IDP?
IDPs architecture can be categorized into specific functional layers, or planes:
- Developer control plane: The primary interaction point for users. It includes the developer portal, software component catalogs, User Interfaces (UIs), and Command Line Interfaces (CLIs).
- Integration and delivery plane: The configuration engine. It is often centered around a platform orchestrator. It receives developer intent from the control plane and translates it into automated workflows to build, store, configure, and deploy applications.
- Resource plane: The standardized foundational infrastructure and runtimes needed to host the applications, including container orchestration, compute, storage, and networking resources.
- Security and observability planes: Spans the entire platform to protect sensitive information, manage secrets, enforce Role-Based Access Control (RBAC), and provide real-time monitoring and logging metrics for both applications and infrastructure.
While every organization's infrastructure is unique, an internal developer platform relies on a set of core components that work together to create a streamlined, secure, and efficient path from development to production. These essential building blocks form an architecture that separates the platform's user interfaces from its automated backend systems.
IDP architectural principles
Beyond its functional layers, an effective IDP architecture relies on core design principles intended to support developer productivity, ease cognitive load, and allow for organizational scale:
- Extensibility and integration: An enterprise-grade IDP connects what is often a disjointed toolchain. A critical architectural principle of an IDP is the ability to easily extend and integrate with an organization's existing CI/CD pipelines, DevSecOps and vulnerability management tools, issue tracking, and cloud resources.
- Templates and golden paths: Templates provide developers with pre-configured, best-practice blueprints called golden paths. Golden paths can automatically provision boilerplate code, infrastructure-as-code files, and built-in security guardrails, helping to eliminate bottlenecks while seamlessly enforcing organizational standardization.
Why is an Internal Developer Platform important for organizations?
IDPs are important for organizations because they help solve multiple challenges for organizations, including development standardizations, developer productivity, collaborations, on-boarding and self-service, scalability, and governance.
Organizations with multiple development teams often struggle with competing priorities, managing a diverse set of tools and technologies, and challenges to establishing best practices while adhering to security and compliance standards.
- Standardization: Provides a standardized set of tools and services for all teams, reducing the risk of inconsistencies and errors.
- Productivity: Helps automate setting up and managing development environments, configuring build pipelines, and deploying applications, allowing developers to focus on writing code and delivering features faster.
- Collaboration: Provides a shared platform for collaboration between development teams and other parts of the organization, such as operations and security teams, to work together, improving communication and collaboration.
- On-boarding and self-service: Reduces the time it takes for new developers to become productive using the appropriate tools, providing them with a better experience and decreasing the time it takes for them to ramp up and start creating value.
- Scalability: Provides a scalable platform that can grow with the organization, allowing new teams to onboard quickly and ensuring all teams have access to the same tools and services.
- Governance: Establishes a framework that allows organizations flexibility and adherence to best practices which comply with security and compliance requirements--monitor and manage development environments effectively.
What are platform engineering tools?
How do IDPs relate to DevOps?
Providing your team with an IDP can be a critical part of enabling and maintaining a DevOps culture. DevOps is an approach to culture, automation, and platform design that’s intended to promote a more efficient working relationship between development and operations teams, leading to faster and more frequent delivery of software applications and associated features.
Red Hat provides the frameworks for building IDPs
Red Hat® OpenShift®, when combined with Red Hat Developer Hub, provides platform engineering teams with the tools they need to effectively build and manage internal developer platforms (IDP) and create the project templates, documentation, and workflows needed to build “golden paths.”
Here are a few of the ways we make this possible:
Secure and compliant solutions: Red Hat Developer Hub is a full suite of verified and curated tools and components needed for operations teams to support developers–all in a centralized, consistent location. This results in increased productivity, fewer obstacles, and simplified governance with self-service and guardrails.
Leading development experience: Red Hat passes along expertise and experience to customers from our ecosystem of partners and open source projects.
Self-management and maintenance: Red Hat provides access to a common suite of developer tools that makes it easier and more productive for teams to build cloud-native services and applications.
Support for critical bug fixes and new features: Red Hat Developer Hub offers a centralized place for teams to access the latest versions of functionality, system architecture, and application documentation when and where they need it.
Easier Integration: New tools and services (via Red Hat Plug-ins for Backstage) are pre-integrated. This means that extensibility and scalability are enabled for a single, consistent experience that ties together infrastructure tooling, resources, standards, owners, contributors, and administrators.
Backstage with platform engineering. Video duration: 2:31
State of platform engineering in the age of AI
This detail provides a comprehensive review of the State of Platform Engineering in the Age of AI survey, conducted by Illuminas. Explore the details.