Core Concepts
Internal Developer Platform

Internal Developer Platform

What is an IDP?

An Internal Developer Platform (IDP) is a system of workflows and tools assembled to create streamlined, standard paths for developers, promoting a self-service approach. To facilitate these "golden paths (opens in a new tab)", an IDP integrates a variety of technologies and tools in a cohesive manner, organized to reduce the cognitive load on developer end-users.

💡

The key here is that an IDP isn't just slapped together. Platform teams treat their platform like a product. They use user research to build an IDP and are committed to maintaining and continually improving it.

5 Core Components of an IDP

An IDP is comprised of five core components [1 (opens in a new tab)], described in the table below, which are designed to standardize configurations, automate processes, and enforce role-based access. Uffizzi facilitates the 5 core components of an IDP as follows:

5 Core ComponentsComponent DescriptionHow Uffizzi Facilitates This Component
Application Configuration ManagementDynamically handle scalable application settingsSupports configurations like Helm, kustomize, and Docker Compose
Infrastructure OrchestrationSmart, context-aware infrastructure arrangementUtilizes container and cloud-native, Kubernetes-based infrastructure
Environment ManagementEmpower devs with on-demand, ready-to-use environmentsOffers secure, self-serve ephemeral environments, managed via CLI or CI/CD
Deployment ManagementEstablish continuous delivery/deployment pipelinesEnables automated deployment, rollback/clean-up, and versioning
Role-based Access ControlScale permission settings efficientlyProvides secure, isolated environments for each team member (with admin controls)
💡

Is Uffizzi an IDP? Yes and no. For many teams these 5 components provided by Uffizzi satisfy their requirements for enabling developer self-service. Yet other teams may need to incorporate more tools to address their particular needs. In either case, Uffizzi acts as a secure, customizable foundation upon which you can build out your IDP.

Benefits of an IDP

For Ops Teams:

  • Streamlines resource allocation and management
  • Standardizes application configurations through templates
  • Enhances access control
  • Automates setup of environments and resources
  • Simplifies operational setup

For Developers:

  • Increases autonomy in resource management and deployment
  • Integrates with existing workflows
  • Simplifies environment provisioning
  • Facilitates autonomous deployments and rollbacks

Further Reading